Wednesday, May 02, 2012

Why coding isn't a 1 day thing and why the UK view on education has to change have started quite the PR and education puff around the idea that they can teach you to code in a day.  Or to be accurate on their site they say they
To teach anyone code in a day.
Now clearly that sentence doesn't make sense as coding is a task, something you do so it should be 'to code' not simply 'code'.  Its like saying 'To teach anyone run in a day' so first off they clearly need to fire their copywriter.

This is why I wrote a series of posts that came out today

The purpose behind these posts is to point out the idiocy of the idea and the lack of respect that science and engineering really have in the UK.  No one would dream of claiming that you could be an artist in a day (despite the fact that at 13 my bed was WAY messier than Tracy Emin's) but its acceptable to claim that coding is somehow less challenging and requires only a day to learn.

Lets be clear here, I am a massive supporter of getting decent technical IT education into schools and of raising the profile of technology and getting more people involved in coding.  I regularly suggest to people that they should give it a crack and suggest using existing examples as the starting point for learning.  If the intention was to introduce people into coding and open their eyes to the possibilities then I'd be okay, but this course doesn't aim to do that it aims to make people think they are actually coding after a day.

I'm sure some people would read this and think 'ooooh he would say that because he has a vested interest', well I'd like to put people like that in the same group as those who believe in horoscopes and homeopathy and refer to astro-physicists and doctors as 'vested interests'.  I do this for a living, I did a degree in this subject and I'll tell you two things
  1. Natural Talent matters in code the same way it matters in art, some folks are just better at thinking like a computer and bending it to their will.  Give me one of those with some basic training over the learn and code by rote developer with 20 years experience
  2. Grasping the basics isn't that hard
The latter point is the one I'd like to say.  I reckon I could teach anyone to ACTUALLY code and ACTUALLY understand what it was doing in a couple of weeks.  At the end of that they'd know about pointers, memory, algorithms, OO basics etc and be able to write themselves a small program from scratch.  If they turn out to be in the natural group then the program could be quite complex, if not then it will be a directed view of a specific solution.

That is why decoded's idea is so rubbish, not because code really does take 10,000 hours to really do well but because it doesn't.  By reducing it to a day of cut and paste you actually miss the creativity and the real sense of achievement you get from well crafted and working code. But in the UK this isn't surprising to be honest as science and engineering have for a long time been very much the 'dirty' parts of education, areas where its okay to look down on because they aren't as 'pure' as Art.

The UK is a country where people value a degree in Classics... Latin and Greek.  Its seen as the 'top' degree from Oxford and Cambridge in many circles.  How mental is that in 2012?  How mental would that have been in 1950 in fact?  Despite this ridiculous concept of art subjects and Classics been 'valuable' and the active steering of kids away from Science, Maths and Engineering from a young age its amazing how many world leading engineers the country has produced and the number of Nobel prizes that come from this little shore.  The talent is there but the support most clearly is not.

Coding in day is typical of the lightweight way that British Education, Media and Society treats Science and Engineering, its something for 'geeks', its dirty, its complex and its completely ok to disagree with it from a position of total ignorance as this gives us 'balance'.  It is perfectly okay for people to hold views from ignorance on Maths, Science or Engineering and indeed the set up of British Education is designed to do just that, most especially to ensure that as few women as possible do those subjects.  Much of this dates back to the 'Arts and Crafts' movement of Victorian times which looked to portray science and engineering in a negative light when compared with the 'purity' of hand-crafted art.

The reality is that Science, Engineering and Maths are what the UK does really well, Newton changed the world through the use of Mathematics, in the 18th and 19th Century Britain changed the world through Science and Engineering and in the 20th century it was Brits who invented many of the things we take for granted today as well as providing the theoretical basis for modern computing (and the first computer).  

Despite all of this it is still not supported or promoted in the way that it should be.  When I travel to Germany, Netherlands, France or the US I see a different perspective.  Even in the US where the concept of jocks and geeks is ingrained into the school system there is still clarity at Universities over what achievement is about.  

Getting people interested in coding is absolutely something that should be applauded and encouraged but it needs to be done in the same sort of way that people would be taught how to paint, how to write, how to postulate on the foundations of the universe: as a building block, a building block on a long and potentially wondrous journey.

It also needs to be treated with the seriousness that an industry which has revolutionised the planet deserves.  This is the economic powerhouse of the world, it has bigger impacts than any other single industry in the world today.  Ultimately isn't that something that deserves real government focus and real media focus rather than receiving coverage more superficial than that dedicated to horoscopes and homeopathy?


Tiago said...

Pay for a £650 for a gentle introduction to:
- Learn the history of Internet (free on wikipedia)
- Understand the different languages of the web (it seems funny)
- HTML5/CSS/Javascript (it's better buy a book £30)

I code for 5 years and almost every day I learn something new. Learn how to code decently takes at least months. A couple of weeks is an estimation very optimistic due the fact that the student needs to consolidate all main concepts of computation and basically change his way of thinking.

Good post.

Anonymous said...

From what I see on their website - Decoded does not aim their courses at producing "coders". The aim seems to be, to give persons in business position an improved insigt into what coding is, and how the Internet and webpages work.

Steve Jones said...

Which is just silly in a day. Its like 'be an artist in a day' all you can get is a superficial confidence that you understand when in reality you now have dangerous ignorance.