Monday, February 1, 2016

Coding Ain't Easy

Today's song is: Symphony for the Devil ... Stones


For some unexplained (soon to be remedied by this post) both presidents and educators think just about anyone can learn to code. Just think if there was a shortage of doctors, dentists, engineers, architects, mathematicians, lawyers, etc. and educators started proclaiming, 'Let's encourage everyone to learn how to build bridges, fill a cavity, argue a case, etc.'. I would think those professions would be just a little upset :-)

I came across a great post that does a fantastic job explaining this phenomenon. Every educator, politician, and the President of the United States should all read it!!!! Here are a few quotes:

All the evidence shows that programming requires a high level of aptitude that only a small percentage of the population possess. The current fad for short learn-to-code courses is selling people a lie and will do nothing to help the skills shortage for professional programmers.

So the consensus seems to be that high barriers to entry and a lack of accessible training mean that only a rich and well educated elite have access to these highly paid jobs. The implication is that there is a large population of people for whom programming would be a suitable career if only they could access the education and training that is currently closed to them.

Every year it’s the same – no more than a third of them [CS students] are showing the sort of ability I would want in anyone doing a coding job. One-third of them are so poor at programming that one would be surprised to hear they had spent more than a couple of weeks supposedly learning about it, never mind half-way through a degree in it. If you really test them on decent programming skills, you get a huge failure rate. In this country it’s thought bad to fail students, so mostly we find ways of getting them through even though they don’t really have the skills. (university professor)

In particular, most people can’t learn to program: between 30% and 60% of every university computer science department’s intake fail the first programming course. 

If we accept that programming requires a high level of aptitude, it’s fun to compare some of the hype around the ‘learn to code’ movement with more established high-aptitude professions. Just replace ‘coder’ or ‘coding’ with ‘doctor’,  ‘engineer’,  ‘architect’ or ‘mathematician’.

  • “You can pick up Maths in a day.”
  •   Start surgery this year, it’s easier than you think!
  •   skyscraper.org aims to help demystify that architecture is difficult.
  • “The sons and daughters of miners should all be learning to be lawyers.”
In the meantime we should stop selling people a lie. Programming is not easy, it is hard. You can’t learn to code, certainly not to a standard to get a well-paid-job-of-the-future, in just a few weeks. The majority of the population can not learn to code at all, no matter how much training they receive. I doubt very much if the plethora of quick learn-to-code courses will have any impact at all on the skills shortage, or the problem of unskilled low pay and unemployment.

If you have read 'Outliers' by Malcolm Gladwell (shame on you) then you know what it takes to be a good coder. Aptitude and time. If you are not willing to embrace coding and code for hours, days, and weeks at a time, you will never be good at it! Unlike many professions, coders are never done learning. You have to reinvent yourself about every two years.

Most coding requires very little Mathematics but unfortunately Calculus is used as a prerequisite for Computer Science programs in University. Not much of a perquisite if there is a 50% failure rate. Students that are good at Math tend to be linear thinkers (like Linear Larry) whereas most good programmers tend to be non-linear thinkers like myself.

Summing it up, coders are independent, self directed, life-long learners, with an aptitude for coding. What percentage of the population fits that description. But, then, again, every student can be Level 4 in everything :-)

TTYL

1 comment:

  1. from https://teamtreehouse.com/stories

    "These students went from zero to job-ready.

    Learning with Treehouse for only 30 minutes a day can teach you the skills needed to land the job that you’ve been dreaming about."

    I know for myself that 30 mins per day is a lie. 300 minutes per day perhaps. I have not put in the time and yeah coding is hard. It takes a willingness to keep fighting to learn when you get stuck.

    ReplyDelete