In the high-stakes realm of software development, speed reigns supreme. ...
I’ve been a programmer since my highschool years back in the 90’s, the first language I learned was Perl and it served me well through the beginning of my career as I tended to be the least grey haired developer who knew the language. Though I took a few years off to go blow stuff up I eventually made my way back into the discipline by my mid 20’s and have worked in the field full time ever since.
Having nearly a quarter of a century in this ecosystem I can say things change faster than anyone is prepared for, guys whom I used to look up to as a kid and who got me into this field would eventually come to me for career advice decades later because they felt they didn’t know which direction to take their careers. This has given me an interesting perspecive on comfort and complacency as it relates to what I learn next.
As technology continues to evolve, the world of software is rapidly changing. One example of this is the evolution of computers and their relationship with humans. Once upon a time, computers were nothing more than people, manually computing complex mathematical equations. Similarly, typing was once a highly skilled job, with dedicated typists performing the task of typing up documents and letters. But with the advent of machines that can perform these tasks much faster and more accurately, the need for human typists and computers has dwindled.
Now, we are seeing a new shift with the rise of machine learning (ML) models. These models can perform complex tasks such as recognizing images, natural language processing, and predicting outcomes with remarkable accuracy. However, this also means that many jobs that were once performed by humans are becoming automated. As programmers begin to realize this, they may be experiencing a sense of grief as they come to terms with the fact that their jobs may be next on the chopping block.
After I left my last Engineering Manager role due to personal family reasons, I decided to spend my free time to get into Machine Learning hard so that I could understand the tooling and process at a fundamental level, I had understood it conceptually after moving to Austin, TX back in 2017 but had never gone all in. When I was asked by a friend why I would get into a field that could make my line of work obsolete in a few years, my response is that I’ve always tried to make my job obsolete since my experience in this industry tells me that complacency kills.
Despite the advancements in ML, it’s important to remember that there are still some tasks that machines cannot do. Machines lack the ability to think creatively, adapt to new situations, and have the kind of intelligence needed to solve certain kinds of problems. As such, it’s unlikely that machines will completely replace engineers in the workforce anytime soon.
However, as the rate of technological advancement continues to accelerate, it’s important for programmers to stay up-to-date with the latest skills and technologies in order to remain relevant in the job market. This means that programmers and other tech developers must be constantly learning and evolving their skills in order to keep up with the ever-changing landscape of technology as the competition has been global for some time now.
The secret in my opinion is look for the jobs with the hardest problems that need solving, if you’re doing something that’s easy or worse repetative than you’re probably comfortable and that will always get you disrupted, but if you’re focused on solving really difficult problems for others that need solving then you’ll always be on the edge of your seat and hopefully you’ll never get complacent.
While it’s true that the rise of ML models may lead to the automation of certain jobs, it’s important to remember that humans still matter when it comes to problem solving. By embracing new technologies and staying ahead of the curve, developers can position themselves for success in the rapidly changing world of software.