TL;DW + some other notes

What is this site?

Pangkaraniwang Developer (PD) is an online learning site that teaches software development concepts.

Why create this site?

I've had it with newbie developers (and a bunch of "senior ones") not knowing their shit.


Ok, seriously now.

PD aims to help deal with the following problems facing the local IT industry:

  • There is a very high demand for competent software developers in the country.
  • There are many IT graduates, however, their skillset is too shallow and cannot be considered "competent".
  • Based on my experience, most medium to small IT shops are unable to provide the proper training to their new hires.
  • Most traditional training approaches, even in large multinational companies, are flawed e.g. "Sheep Dip Training".

How will PD help solve these problems?

By giving away lessons for free, no strings attached. Visitors don't even need to register in order to access the lessons.

Also, to avoid falling into the W3Fools trap, all content will be continously revised with input from the local developer community.

What makes this site different from other learning sites e.g. Khan Academy, Codecademy, MIT OpenCourseWare, etc.?

PD is not meant to compete with these sites. In fact, it will be using these sites as reference.

On the other hand, PD will be introducing two other features that these sites do not have:

Language of instruction will be in local languages

While it is true that a developer will not go far without solid grasp of the English language given that most documentation are in English, there is no reason for a teacher to use a local language in order to better connect to students, and in turn, better teach complicated lessons to them.

At this point we only have one language (Tagalog, as you would've noticed from the title of the site) but hopefully we would get teachers in all major languages in the country.

Wiki-like structure of Lessons

Basically, it's a lot easier to learn when you're in charge of what lessons you want to learn.

We all know that the traditional linear approach in learning tends to be inefficient. For example, Lesson 5 was introduced early in a course, but it's only relevant to Lesson 20. By the time you reach Lesson 20, you may have forgotten the concepts in Lesson 5.

But if instead you use a wiki-like approach where each lesson is linked to both past and future lessons, the situation is much more efficient. You can go from Lesson 5 to Lesson 20, then at Lesson 20 you can go back to Lesson 15 where another relevant topic is introduced, and so on.

By using a graph (more specifically, a directed acyclic graph) instead of a linear lesson plan, we also solve the following problems:

  • Lessons are introduced in relative isolation - with a non-linear approach, students understand the context of the lesson, making learning more productive.
  • Students don't know where to start (ie. the RailsCasts and Day[9] Newbie Tuesday problem) - with a non-linear approach, students can follow the back links to previous lessons in order to find a practical starting point. As you would see from the target audience I listed above, not all students need to start at the very beginning of the CS and IT tracks.

What about monetization?

As mentioned in the video, this project could be called an "un-startup".

Unlike most startups that focus on building a product to get a positive monetary ROI, this project focuses instead to its goal (building up the local developer pool) while minimizing costs.

So angel investors are pretty much out of the question.

Best case, we could get sponsorships from companies that need competent developers. Realistically, though, most companies would just leech off the lessons for free. Tragedy of the commons, anyone?

So yeah, this whole thing will be funded from my pocket.