I started my career back when I was about 17, on a interim job assembling computers and providing tech support. Later I became assistant system administrator and later system administrator. Still, I didn’t like operations work, so I decided to move slowly to software development. This is what started my career in building and maintaining applications and software systems.
Today I’m a solutions architect. I create software systems that work with a variety of database systems, tune existing apps for performance and help business transition their solutions to the cloud.
There’s nothing that changes as much as a tech career. In the early days it was maintenance, today it is mostly building new things and solving challenging tech puzzles.
But what stayed the same all these years? Systems are still more or less the same compared to what they were in the 90’s. Lots of bells and whistles, complex solutions that aren’t really effective and development practices that are mostly sub-par.
Hardware became more reliable, software … not really. Sure, software became more sophisticated and for those niche markets out there, they sure can do a whole lot more than what they could do in the past. Operating systems are more stable … but when it comes to the apps still much is left to be desired.
What I learned all these years is that software development is tough. It is quite complex and although patterns and practices are improved, the most software (even from large companies) is workable at best, counter-intuitive or just plain-old buggy,
Of course, this is my opinion and I’m not talking about each and every piece of software out there, just talking about the average piece of software you need to work with at your business day in and day out. But I guess that’s one of those things … that will never change.
For the rest… well, some things do change.