February 13, 2015

Investing in the Future Generation of Coders

With the IT skills gap continuing to widen, it was no surprise that learning to code took center stage in governments and schools around the world last year. Aimed at cultivating a future generation of coders, a number of initiatives were instigated:

• In the UK, "Year of Code" was a UK government initiative set out to be an independent campaign aimed at encouraging people across the country to get coding and transform computing education in schools.

• In the US, the launch of "Hour of Code" was a one-hour introduction to computer science, designed to demystify code and show that anybody can learn the basics. This initiative reached tens of millions of students in 180+ countries, during December. President Obama even kicked off proceedings by writing some Javascript!

Going back to the classroom seems to be an effective way to inspire the next generation of IT professionals. In our opinion, school curriculums that embrace coding skills and look at computing more from an engineering perspective, rather than as something that is just an office skill, are to be applauded.

But with all this in mind, what are the best ways to teach children, or indeed adults, to code? Here are a few tips from Perforce which aim to develop good computing habits from an early stage:

  1. Adopting good housekeeping habits from day one will help you keep track of what’s what.  Version control tools are a great way to do this easily as you can see what changed where and when.
  2. Start with a formal design of the project to be coded – and know what the code must perform.
  3. Build early - get a demonstrable system working as early as possible.
  4. Deliver often – let people use it to help guide your development process and criticise your own ideas.
  5. Code with style – good programming is like good writing and the best coders include structure and style that can often be identified with the author. Keep it simple.
  6. Take advantage of online communities – get involved, learn from others, share best practice.
  7. Don’t use ‘quick-fix’ shortcuts.
  8. Test and test again – this will help drive your development process.
  9. Make the most of free tools out there, e.g. Perforce is free forever for 20 users, and we have special pricing for education.
  10. The best way to get better at building software is to build software!

As an experienced development engineer, what are your views on the best way to raise a future generation of coders?