I recently watched a very enlightening video by Bob Martin: “The Future of Programming”. He did a fantastic job of describing the beginning of programming and the multitude of changes it has gone through.
In the beginning, there was Allen Turing. He was an amazing man. In 1936, he was the first person to write code that we recognize today as code using binary. In 1939, he started using relays to break code at 100ms clock rate. In 1945, he helped design the first computing system: ACE-automated computing engine.
Turing wrote “We shall need a great number of mathematicians of ability” because “there will probably be a good deal of work of this kind to be done.” “One of our difficulties will be the maintenance of an appropriate discipline, so that we do not lose track of what we are doing.”
His words rang true: in 1945, there were no more than four computers with around 10 or 12 programmers. By 1970, the number of computers jumped to over 100,000 and over a million programmers.
Between 1953 and 1980, new languages including FORTRAN, LISP, Objective C, and C++, Simula-67, UNIX as well as functional programming was developed. To this day, programmers are always looking for the better language. Currently estimates show there are 21 million programmers: the number of computer-based devices is astronomical.
In earlier days of software, older people and women represented half the programmers. They were engineers, scientists and mathematicians. At this time, there were approximately 100,000 programmers: none had computer degrees. When it got to a point there were not enough engineers, scientists or mathematicians, the best and brightest accountants, planners, etc. were hired. They looked for anyone who was an experienced, disciplined professional.
Around 1970 we started seeing programmers pulled from CS & EE Graduates. All were young and almost all were male. Young and males in this field peaked and number of women decreased in the 1980’s.
Look at all the achievements before this drastic change in the 1980’s. Prior to this, programmers were disciplined professionals that did not need a lot of management or process. They knew how to manage their time, communicate, and work together. They understood deadlines and commitments; what to leave in and what to leave out. They knew how to get things done.
It is a bit of a mystery why the demographics of programmers changed.
The software did not change. Code can be read and edited with a small learning curve from past to present. Advancements almost entirely are what NOT to do rather than what TO DO. No radical, essential changes have occurred. So why limit the pool of potential programmers? We must reconsider morals and discipline as being the ultimate decision maker when hiring programmers. We need to get back to a level of discipline and software professionalism instead of solely relying on graduates and young men.
My hope is to see a more diverse programmer pool in the future with less regard of education, gender or age.