• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
Avinash Meetoo

Avinash Meetoo

Let us build a Smart Mauritius together

  • Home
  • About
  • Curriculum Vitae

Mauritius needs its exceptional programmers

13 December 2015 By Avinash Meetoo 11 Comments

Marc Andreessen, co-founder of venture capital firm Andreessen-Horowitz and of Netscape argues that software is eating the world:

Today, the world’s largest bookseller, Amazon, is a software company. The largest video service by number of subscribers is a software company: Netflix. Today’s dominant music companies are software companies, too: Apple’s iTunes, Spotify and Pandora. Today’s fastest growing entertainment companies are videogame makers—again, software. The best new movie production company in many decades, Pixar, was a software company. Disney—Disney!—had to buy Pixar, a software company, to remain relevant in animated movies. Photography, of course, was eaten by software long ago.

Today’s largest direct marketing platform is a software company—Google. Today’s fastest growing telecom company is Skype. LinkedIn is today’s fastest growing recruiting company. In today’s cars, software runs the engines, controls safety features, entertains passengers, guides drivers to destinations and connects each car to mobile, satellite and GPS networks. Practically every financial transaction, from someone buying a cup of coffee to someone trading a trillion dollars of credit default derivatives, is done in software.

Health care and education, in my view, are next up for fundamental software-based transformation.

Software is, of course, created by competent programmers and the best software, those which we use every day and cannot live without, are created by exceptional programmers.

Paul Graham, co-founcer of Viaweb (which became Yahoo! Store) and Y Combinator, says the following about exceptional programmers:

There is a huge variation in ability between competent programmers and exceptional ones, and while you can train people to be competent, you can’t train them to be exceptional. Exceptional programmers have an aptitude for and interest in programming that is not merely the product of training.

The reason why exceptional programmers cannot be trained is because programming is an art as stated by the World Intellectual Property Organisation:

Copyright (or author’s right) is a legal term used to describe the rights that creators have over their literary and artistic works. Works covered by copyright range from books, music, paintings, sculpture, and films, to computer programs, databases, advertisements, maps, and technical drawings.

As we all know, it is quite possible to become a competent artist (whatever the art): you need to start early and put in years and years of effort. For example, a lot of the music we hear today is being done by quite competent artists.

Mauritius needs a lot of very competent programmers. Or else, as Marc Andreessen mentions, nothing will work. In a certain way, we are more reliant on technology than other countries: we are far from everything and the population is tiny.

According to my observations, tertiary level education in Computer Science is substandard in Mauritius. Those who are responsible for this should go and be replaced by more competent people who have understood the importance of Computer Science for the country.

I am not speaking of cosmetics: a revolution in teaching is needed if we want to have a critical mass of competent programmers to make the country function in the coming years.

Who are the exceptional programmers?

As mentioned by Paul Graham, “exceptional programmers have an aptitude for and interest in programming that is not merely the product of training.” Most of them discovered programming by accident when they were kids and were immediately hooked. They understood everything and always wanted to know more. A lot of them became avid book readers and some even went to university to study Computer Science (but this is not a requirement to be exceptional — especially in Mauritius). Here is what Peter Norvig, Director of Research at Google, says about how to become truly exceptional in ten years:

(1) Get interested in programming, and do some because it is fun.

(2) Program. The best kind of learning is learning by doing.

(3) Talk with other programmers; read other programs.

(4) If you want, put in three or four years at university. “Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter” says Eric Raymond.

(5) Work on projects with other programmers.

(6) Work on projects after other programmers.

(7) Remember that there is a “computer” in “computer science”. Know how a computer works and how long it takes for different kinds of operations.

(8) Learn at least a half dozen programming languages.

etc.

What programming languages to learn?

Peter Norvig advises to learn one language that emphasizes class abstractions (like Java or C++), one that emphasizes functional abstraction (like Lisp or ML or Haskell), one that supports syntactic abstraction (like Lisp), one that supports declarative specifications (like Prolog or C++ templates), and one that emphasizes parallelism (like Clojure or Go).

My personal selection as of 13 December 2015 would be:

  • Class abstraction: Java.
  • Functional abstraction: Haskell.
  • Syntactic abstractions: LISP because of its reader macros or even Ruby because of macros or DSL.
  • Declarative specifications: Prolog.
  • Parallel abstraction: concurrency in Rust or Erlang.

To that list, I would add Python, which can be used for mostly everything and is slowly becoming one of the most important programming languages on the planet.

I’ll also add (thanks to Suyash for pointing this out) that Javascript is also a very important programming language to know. A few years ago, Steve Yegge of Google gave a list of features that the next big programming language should have and Javascript ticks most of (all?) the boxes. Javascript runs in the browser so there is nothing to install and, with powerful libraries such as jQuery, React or AngularJS, the sky is really the limit.

Do we have exceptional programmers in Mauritius?

Yes.

According to Paul Graham, 5% of the population of any country have the aptitudes to be exceptional in programming. This means that there are potentially 65,000 exceptional programmers among us.

Are they all programmers? No.

Given the pathetic state of our education system, I would argue that a substantial number of the 65,000 have failed their CPE exams and are now working in an atelier bicyclette somewhere.

I have been teaching programming for more that 15 years now at tertiary level and at Knowledge Seven and, up to now, I have stumbled upon maybe 50-100 exceptional programmers.

I wonder where the 65,000 are. I know they exist.

I wonder whether it is still possible to make them discover each other and start creating things together?

What do you think? What would you do?

Filed Under: Art, Computing, Education, Future, Science, Society, Technology

Reader Interactions

Comments

  1. D.Seeruttun says

    13 December 2015 at 12:47

    Lets try together..

  2. Avinash Meetoo says

    13 December 2015 at 17:24

    Thanks. A lot needs to be done for Computer Science at tertiary level because, right now, the situation is abysmal. If the right things are done, then we would have catered for competent programmers. But this is much more complex than it looks as we have an acute shortage in competent Computer Science teachers and lecturers.

    As for exceptional programmers, creating an environment and a country where they can be happy, thrive and create is something else though. Right now, there is nothing for them. This requires a revolution in the way we approach Computer Science (and Science and Maths in general in Mauritius) and might take years and years… which we do not necessarily have.

  3. Vidya Prakash Murdan says

    29 December 2015 at 11:39

    Probably most don’t know about their aptitude. I think, programming is logical, and to some extent mathematical. Maybe it should be taught at same level of importance as Mathematics in primary and secondary. But again, the content taught should be designed to bring the artist /programmer/creator in every child.

  4. Avinash Meetoo says

    30 December 2015 at 07:15

    You’re spot on, Vidya. But for that we need to have a lot of competent teachers who are themselves artists / programmers / creators as you put it…

  5. Programmer says

    8 February 2016 at 03:04

    Programmers are treated like factory workers where their output are mere deliverables or numbers (metrics) on some excel sheet. Focus is on getting the job done. What about creativity, nice algorithm/logic? Well, no one has time for that.

    I get to work with and coach many trainee programmers who join the company. But in a batch of 20 trainees, I may find only 1 or 2 that can do the job. Most of them do not like programming but are here just because they were looking for a job!

    I often tell my trainees that to be a programmer, you need to have logic. But to be a GOOD programmer, you need to have creativity, you need to have an artistic mind! They didn’t quite understand it though.

    In UOM’s programming contests, even though CSE department had a huge population, I was very surprised to see only few participating. I invited my best friends to participate, but they said “that’s not for people like us”! I participated every time because it was fun – the feeling you get when the program works is undescribable!

    What is the fate of a good/exceptional programmer in curernt ‘IT outsourcing’ companies? They end up getting frustrated with all workload directly or indirectly coming onto them. They spend their daytime fixing others problems, helping/advising/coaching other, and their own work starts at 9 or 10 pm! While I know many hardcore programmers are at their peak performance at late night, this may not be the case if they were exhausted with daytime works.

    I was introduced to programming when I was 14, and since that time I decided I want to be programmer! It’s been 6 years I have been working as programmer in a company in Mauritius. I love programming, but not my job!

    I often think of resigning for light job for a living and program for my passion, my pleasure, at home or under a tree!!! (Loans, family responsibilites do not permit though)

    As you said it very well :
    “As for exceptional programmers, creating an environment and a country where they can be happy, thrive and create is something else though. Right now, there is nothing for them. “

  6. Avinash Meetoo says

    11 February 2016 at 18:22

    Thanks for your comment.

    I made the same observation when I started working eighteen years ago: only a few liked programming and, consequently, only a few were good programmers. I would have hoped things would have evolved but it appears, based on your comment, that things are mostly the same.

    The issue, of course, is that a country without a critical mass of good programmers will face enormous problems in the future as, as Marc Andreessen puts it, software is eating the world…

    I still have some hope though but only if drastic measures are taken e.g. creating an infinitely better Computer Science tertiary institution than what we currently have in our universities and fill it with creative, passionate and intelligent people.

  7. Yasir says

    2 March 2016 at 16:03

    Unfortunately many employers do not value the skills of their programmers. The companies’ culture in Mauritius is different compared to abroad. I know few people who came back from UK to try a job in Mauritius and ended up leaving the companies due to poor infrastructure,policies and wrong management.

    Very few companies know how to keep their programmers happy 🙂

  8. Avinash Meetoo says

    3 March 2016 at 07:06

    It’s because management has no clue that programmers are artists. Heck, they should as the World Intellectual Property Organization has been saying this for years now (I quote):

    What is copyright?
    Copyright (or author’s right) is a legal term used to describe the rights that creators have over their literary and artistic works. Works covered by copyright range from books, music, paintings, sculpture, and films, to computer programs, databases, advertisements, maps, and technical drawings.

    So, international law considers programmers to be similar to book authors, musicians, painters, sculptors and film makers: we all do literary and artistic works. And, as I said, most Mauritian companies do not know this. So, no wonder the best programmers i.e. the best artists flee…

  9. Gaurav Kohli says

    16 June 2016 at 19:19

    Great read, I agree Software is an art, it has very good potential to grow the talent on world map. But as any other art, artist cannot be made, they have to be evolved. Nurturing interest and creating competetive skills will bring more people towards it. It takes time, but it happens. I’ve been here on my trip for a week, and I see the potential. Educaton should improve from ground up, more exposure should be given to youngsters. Sponsored education plans may help to identify good talent in young age, to mentor, educate and avoid dropout. Parttime job may help expose hidden talents in housemakers and people with low paying jobs. This can become dream job for best talent around the world.

  10. Jean-Lou says

    19 April 2018 at 21:49

    Hi Avinash I am looking for a good programmer where should I look? The programmer should be fluent in Javascript and C++, need to create an Adobe Indesign plugin. Would be greatly if you could redirect me. My kindest regards Jean-Lou

  11. Avinash Meetoo says

    20 April 2018 at 10:54

    Hi Jean-Lou,

    Are you looking for a Mauritian programmer?

    If yes, I would advise you to connect with the various geek communities (such as https://www.mscc.mu/and https://www.hackers.mu/ and others) and send them the job profile you are looking for.

    If you are not limiting yourself to Mauritius, then I guess you should ask on sites such as https://www.upwork.com/ and https://www.freelancer.com/

    Hope this helps.

    PS: I find it great that you are planning to create an Indesign plugin. I’m sure that this will attract quite a few geeks… who are bored to death with always being asked to do the same thing over and over again.

Leave a Reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Search

I am proud of

My family
My company
My music
My photos

You may also like

Default ThumbnailInteresting Tech Jobs of the Future (for Mauritius) Default ThumbnailMy TEDx talk: Jobs of the future and how we can prepare for them Default ThumbnailSystem design is dealing with complexity Default ThumbnailMy keynote speech at the UoM Research Week 2022

I am active on

Facebook
FB Page
Twitter
LinkedIn
Reddit
Hacker News
Stack Overflow
GitHub
Wikipedia
YouTube
IMDB
Last.fm

A few posts at random

Mauritius becoming a Knowledge Society

52em lane Lindepandans ek 28em lane Repiblik Moris

La technologie comme alliée pour combattre le COVID-19

All posts

  • March 2023 (1)
  • January 2023 (1)
  • November 2022 (5)
  • September 2022 (2)
  • June 2022 (2)
  • May 2022 (1)
  • January 2022 (3)
  • November 2021 (1)
  • September 2021 (1)
  • June 2021 (3)
  • April 2021 (1)
  • February 2021 (1)
  • January 2021 (2)
  • November 2020 (1)
  • October 2020 (1)
  • September 2020 (1)
  • August 2020 (1)
  • May 2020 (1)
  • April 2020 (3)
  • March 2020 (4)
  • January 2020 (1)
  • July 2019 (1)
  • June 2019 (1)
  • April 2019 (2)
  • January 2019 (1)
  • December 2018 (2)
  • September 2018 (1)
  • August 2018 (1)
  • April 2018 (1)
  • January 2018 (1)
  • December 2017 (1)
  • November 2017 (1)
  • October 2017 (1)
  • August 2017 (1)
  • July 2017 (1)
  • May 2017 (1)
  • March 2017 (1)
  • February 2017 (1)
  • August 2016 (1)
  • July 2016 (1)
  • June 2016 (3)
  • April 2016 (3)
  • March 2016 (3)
  • February 2016 (1)
  • December 2015 (1)
  • November 2015 (1)
  • October 2015 (1)
  • August 2015 (5)
  • June 2015 (1)
  • September 2013 (1)

Copyright © 2023 by Avinash Meetoo · Shared under an Attribution 4.0 International Creative Commons license · Log in