10 Print “Hello World”
20 Goto 10
This was my first program when I was only 8 years old. I received my first “PC” for Christmas, a Sinclair ZX81 with a 16kb of memory and a tape recorder for saving and loading software and programs. As you can imagine, it was quite limited in its computing power. Unlike the computer magazines of recent years, the games came as code printed in the pages which I had to type into the computer, not DVD’s full of demos. So very early on, I had to code if I wanted to do anything on my PC. But not many people owned a computer and even less coded.
CoderDojo (coderdojo.com) is a registered charity in Ireland, which has spread across the world. Each Dojo is a volunteer-led, programming club for young people between 7 and 17. They work in HTML, CSS, PHP and more. They also do some game development and Minecraft Mods and experiment with hardware and robotics such as Raspberry Pis, Arduino boards and Intel Galileos. There are also a large number of toys on the market which aim to teach children coding: Lego, Robotiky, Kano, Blockly, Alice and more. All this is much more advanced than my first program above.
This generation will grow up knowing how to code. Software development is changing to give others greater access anyway. Typically SaaS allows people to configure and produce their own solutions, without requiring a lot of technical skill. Frameworks like .Net, Java and Rails are becoming more advanced and allow developers to do more, quicker and easier. So in the Future, everybody will be a developer of software.
If everyone could be a developer in the future, does it mean they should be? Who in your organization is thinking about Quality and Testing? What about security? Who will maintain this solution in the long term?
Of course, business has a greater need to be agile, so we might need others developing software but there has to be an engineering approach. Organisations will need standards and frameworks which democratize to the tools to develop new solutions quicker but maintaining or improved high quality, security, user experience and more.