I did a SCUBA diving course many years ago when I was just starting out in my IT career. My instructor was an ex-IT professional who told me that she left her previous career, and never looked back.
“It just felt like every other week I was sitting an exam or learning a new product.”
I didn’t really understand what she was talking about at the time. I was just starting my career, so it seemed obvious that there would be lots of studying and certification. But I do get it now.
Looking at the programming languages invented in the last decade and I can see half a dozen that I have used, or have seen used commercially. And each of those popular languages will have a dozen or so tools and libraries that you need to master in order to solve practical problems. And each of those tools and libraries are being updated a couple times a year.
The value of software comes in large part from the fact that it is always changing and adapting.
This quote from The Cathedral and the Bazar sums it up nicely:
They would observe that in software development it is really sustained effort over time and the degree to which customers can expect continuing investment in the product that matters, not just how many have thrown a bone in the pot and left it to simmer.
If software derives value from continuous improvement, then it stands to reason that the developers writing the software are also judged by how much they continue to improve and adapt over their career.
Software development demands a level of expertise that is impossible to attain. You can never win the game of codes.
When wading through mountains of documentation while trying to implement a new service that was invented last year, I sometimes think of my old SCUBA diving instructor and wonder if I would be better off swimming through some coral reef somewhere.