Written on 17 June 2020
Our core team has more experience than 85% of all programmers
Programmers rule the world.
The reality today is that nearly everything we touch has got some level of coding. Not just the mobile phones that we all rely on so much, but every telephone call, every electrical appliance that gets switched on by the push of a button, every TV. A typical car will have about 10 million lines of code, and some of it will control vital functions like steering, or breaks; sometimes the code goes wrong and it kills people!
This is a massive responsibility!
Growth of Programmers
It is amazing to think that back in 1945 there were only a handful of programmers in the world. By 1965 there were perhaps 100,000 and all of them were pretty much self-taught as there were no formal degree courses. By 1970 there were probably 1 million programmers and by 1995 this had grown to 10 million +.
This is a classic ‘Moores Law’ type exponential growth in which numbers of programmers double every 5 years. But what that means is that half of all the programmers that are around today, have less than 5 years’ experience. We each have over 15 years experience, which is where the 85% figure is derived.
For such an important role in society, that can be scary.
Agile Programming
When Bob Martin and few other key leaders in the software programming world got together to discuss the industry, they came up with several ‘principles’ to help the upcoming cohort of new programmers. This quickly became the next big thing and has given rise to an industry of project managers, most of whom are not actually programmers. So it is good to go back to those first principles.
Statistically speaking
Programming is a difficult and demanding occupation. It requires a mastery of the arcane tools of the trade, plus a detailed understanding of the objectives at hand.
Statistically speaking, for any project following a standard distribution of tasks (or the 80:20 rule if you prefer), it takes as long to do the first 95% of tasks as it does to get to 99.8% complete. The question that you need to ask is ‘how critical is the task?’
- Is an error rate of 2 in a thousand good enough?
- Is an error rate of 5 in a hundred going to be OK?
This is a seriously difficult conversation to be having at the beginning of a project, but it is probably the key to understanding how long it will take.
Manifesto for Agile Software Development
We are uncovering better ways of developing software by doing it and helping others to do it.
Through this work we have come to Value:
Individuals and Interactions are more important than processes and tools
Working software is more important than comprehensive documentation
Responding to change is more important than following a plan
That is, while there is value in the items on the right, we value the items on the left more.