Learn Programming – The New Literacy

A while back, I had written this:

In case you have not realised it yet, computer programming skills are as necessary for success today as reading and writing have been for the past few centuries.

In fact, “You’re a second-class citizen if you don’t know how to read and write today, and in twenty or thirty years the same will be true for people who don’t have basic computer programming skills. Those who don’t understand–at the very least–the concepts of order-of-execution, variables, data structures and recursion will be as socially and economically disadvantaged as the illiterate are now.

I have been taking CS 101: BUILDING A SEARCH ENGINE from Udacity for a few weeks now. I must be honest and say that the course represents one of the very best learning experiences I have ever had. The course instructor, Professor David Evans, is naturally gifted at teaching complex ideas in simple terms.

If you have ever wanted to learn how to program, you have the most golden opportunity to do it now. Have you ever been frustrated when you hired a “techie” who played around with you? This is your opportunity to make sure it does not happen again. Are you an aspiring entrepreneur? Learning to code is never a wrong move. Especially in today’s world.

Just to show you how accessible a good ICT education is today, following the CS101 class, Udacity are introducing the following (among others):

CS253 – WEB APPLICATION ENGINEERING
Description: Web applications have the power to provide useful services to millions of people worldwide. In this class, you will learn how to build your own blog application starting from the basics of how the web works and how to set up a web application and process user input, to how to use databases, manage user accounts, interact with other web services, and make your application scale to support large numbers of users.

CS262 – PROGRAMMING LANGUAGES
Description: This class will give you an introduction to fundamentals of programming languages. In seven weeks, you will build your own simple web browser complete with the ability to parse and understand HTML and JavaScript. You will learn key concepts such as how to specify and process valid strings, sentences and program structures. Then, you will design and build an interpreter – a program that simulates other programs.

Yes, you read right. In about 14 weeks you can go to a complete and utter beginner to someone who can create their own simple web browser. How cool is that?

Personally, I think this is a godsend for us in the “developing world”. In my opinion, our tertiary education systems are not at an acceptable level of quality, especially for computer science and similar disciplines. Udacity and others like it represent a great, great opportunity for us.

Nicolas Pottier of Nyaruka puts it best:

Suddenly, the very best education is available to everyone. Suddenly it doesn’t matter if you live in America or Rwanda, the opportunity is yours. And that’s why I think the greatest effect of Udacity will be felt not in America, not in Europe, but in developing countries like Rwanda. Because the improvement in quality over what is offered here is astronomical.

I fully expect that everybody who finishes the eight week Udacity course will be better prepared than those who finish four year university programs in Rwanda. And that’s not unique to Rwanda. Every developing country suddenly got a world class computer science school donated to them. [Read More]

Are you as excited as I am?

Additional Resources

Comments

  1. Kelvin, Kelvin, really? Who needs programming skills in Kenya? With products from Microsoft, Oracle and SAP having such a stronghold on Kenyan enterprises, do we still need programmers around? What will they do?
    From my recent interactions with college students (interns) taking IT-related courses, I get the feeling that programming is becoming less and less popular. Many of these guys are more interested in areas like networks and web design, where web design means a course in Dreamweaver or a similar tool.
    I really hope to be proven wrong, but it will be quite a while before software houses become a common business line in Kenya. There is one area, though, where things seem to be looking up: Internet programming. The Web buzz seems to promise good tidings for people with good Web programming skills – Javascript, PHP, ASP, CSS and the like.
    From where I sit, that is how I see it. Do you agree? Would you be inclined to revise your thoughts on this subject?

    • I am a programmer in Kenya, and I assure you that the demand for quality programming, especially in businesses in insanely high.

      Programmers, in my view, are engineers who help solve problems – either to reduce costs or increase revenues. The bulk of programming jobs are actually never “front facing” (i.e. customers never come into contact with them directly) and involve automation. Some examples of past well paying jobs completed:
      -Automated backup systems (e.g. you have certain folders that you want to be backed up to a certain location every so often.
      -Sorting (e.g. you have a list of 200,000 items and you want them sorted or ‘cleaned’ automatically
      -A way to connect an Excel File to a database and share it automatically
      -So many, many more

      Very few programmers get to work on things that will compete with Oracle or Microsoft. But the reality is that almost all business use or will use computing devices and invariably will need something made by a programmer that will improve their revenues or reduce their costs.

      Unfortunately programming is taught poorly in Kenya and that may be why you and others have incorrect views on its relevancy.

  2. Kelvin, if I get your argument correctly, you are saying that there is demand for non-conventional programmers. People who can code niche products that go beyond what is available off-the-shelf. I agree with you on this.

  3. Kenyans will not start looking for jobs spaces to fill with IT graduates, programmers have to create products that make life easier for Kenyans. We are a third world country riddled with many problems- i say this as compared to the developed countries- I think when our experts such as programmers, engineers, economists and the rest decide to find solutions for the problems instead of chasing money then it will be clear that we have very pragmatic ways to put the programming skills learnt. Remember Steve Jobs said customers don’t know what they want till they see it. A good example is M-pesa. Solve Kenyan problems via programming and you’ll definitely get paid and make Kenya a better place.

Leave a Reply to Kelvin Cancel reply