A collection of experiences with software, its theory, its principles and its tools.
Contrary to nuclear fusion, one can easily learn-by-doing in software. The only requirement is having access to a computer.
In the meantime, the professional field has grown to the state that it welcomes roughly a million programmers a year (based on the statistic that there are about 30 million developers active with an estimated average career time of 30 years).
In the last decades, the first career-programmers entered the field and the current variation among the people is in no aspect comparable to the skilled engineers that pioneered in the fifties to the early eighties.
Software is everywhere. "We rule the world", said Uncle Bob in a talk, pointing to the fact that a modern car won't start without some decision logic written in software, nor break. Continuing, he argued that the field reaches a level at which it should have self-controlling, self-sanitizing mechanisms. He proposed an oath, that he has written by now. It reads:
I promise that, to the best of my ability and judgement:
I will not produce harmful code.
The code that I produce will always be my best work. I will not knowingly allow code that is defective either in behavior or structure to accumulate.
I will produce, with each release, a quick, sure, and repeatable proof that every element of the code works as it should.
I will make frequent, small, releases so that I do not impede the progress of others.
I will fearlessly and relentlessly improve my creations at every opportunity. I will never degrade them.
I will do all that I can to keep the productivity of myself, and others, as high as possible. I will do nothing that decreases that productivity.
I will continuously ensure that others can cover for me, and that I can cover for them.
I will produce estimates that are honest both in magnitude and precision. I will not make promises without certainty.
I will never stop learning and improving my craft.
Source: his blog
What a time to enter the software world! I hereby state that to the best of my capabilities I will work and learn honoring these promises. In a separate article I will discuss this oath further.