Since we were young, we've been told to focus, be persistent in life, and not try to chase several objectives at once. We've been taught that if we focus on one single goal at a time, we'll be successful in life.
As developers, we are also told that we should first stick to a technology stack and master it before learning anything else. We keep trying to get better and better until we can build very complex apps and solve complex algorithms.
Myth of Single-Minded Focus
You might have heard of prodigies like Tiger Woods, the Laszlo Polgar kids, Mozart, and others who started their careers from a very young age and spent immense amounts (see the 10,000 hours rule) of time to become the greatest in their trade of all time, all with razor focus on one single objective.
While being perseverant, disciplined, and focused is required to achieve success, it's important to remember that as developers most of us are not athletes, musicians, or scientists, therefore our career efforts should be applied a bit differently. I believe that we are people who enjoy building and making others' lives easier with software, and to build great software products that impact many people usually requires a wide range of technologies and professionals working together.
Before, I would have never thought to stray from my main stack, thinking that I was detouring from my career path and wasting precious time that could have been spent getting better in my stack and any proposal for working in something slightly different would bother me and I'd do only what was only necessary to get the work done. However, recently I've been thinking that it's not worth achieving mastery in a very specific technology anymore in software development. This sudden change of mindset was caused by one big disruption, commercial AI tools.
The Changing Landscape of Software Development
With the disruption of tools like ChatGPT, Github Copilot, and many other AI-powered tools that are now very accessible to anyone, any knowledge, not only technical, is now within reach to anyone. There are many stories of regular people building complex apps or solving complex algorithms with only a few prompts. This means that those skills that were only available to senior developers are much more accessible to anyone who has enough context to command AI with the right prompts.
Don't get me wrong - while being able to solve complex algorithms and understand several complex concepts will still be required in some software positions, and the world will also require those outliers to keep improving it, most of us developers will only be required to be proficient in some base stack, and then have the willingness and mindset to accept that we can acquire knowledge in other concepts that were originally not in our career path at the beginning.
I've seen headlines in social media about prompt engineer positions with a salary range of ~300,000 dollars.
I've seen headlines in social media about prompt engineer positions with a salary range of ~300,000 dollars. While these ranges are, in my opinion, not representative of all the job openings for prompt engineers, the trend I see coming is one where companies will not be searching anymore for the best software developers in X or Y stack. Knowing the productivity boost that AI will bring, what companies will be looking for in any software developer is someone with a wide range of knowledge, rather than an expert in some technology, who should have enough context to connect the dots that connect several technologies within a variety of microservices and apps.
Building Bridges and Connections: The Human Edge
We can't compete against AI. Machines will always be better at doing one single thing. That's a fact, and that's what has fed the interest in keep improving the compute power and respecting Moore's Law. The edge that we have over computers is the fact that we have a wider context than any machine, that we interact, create bridges among other humans, and we adapt to change. These traits should become our weapons, and we must be very aware of them, regardless of the size of our company or even if we are an entrepreneur.
Think of AI as a massive boost to your productivity, not an enemy that will steal your job. Remember all those silly bugs that used to take so long to be fixed? Those unanswered "silly" or niche questions in forums and rude answers mocking us for "not researching enough first"? That repetitive code snippet that just required a few adaptations for your new project? Those times are mostly gone. Actually, there is no better time to be a software developer. With AI, those issues have mostly been solved, so instead of spending your most valuable resource in life - your time - in them, now you can focus your energies on building what no other machine can, which is creating bridges and connections. I now understand what developers from the past felt when they were introduced to Google, or StackOverflow, completely game changers. What a great time to be a developer having the right mindset.
In the words of American philosopher William James:
The greatest discovery of my generation is that a human being can alter his life by altering his attitudes.
Conclusion
Software development as a career is not dying. In fact, it is quite the opposite. The job openings for software developers are still increasing year by year, and the salaries are becoming more and more competitive. What this means is that the role of the software developer is changing, and we need to adapt accordingly. We need to embrace the power of AI and use it to our advantage. With AI doing the heavy lifting, we can spend more time on creative and innovative tasks, building applications that are intuitive and user-friendly. We can focus on solving complex business problems, improving user experience, and making a difference in the world. The future of software development is bright, and it's up to us to seize the opportunities that AI presents us with and keep learning and growing to stay relevant in the industry.
And to be consistent with what I preach, I used AI to help me write this blog post. I wrote the draft without worrying about grammatical, lexical, or contextual errors, and I got some help from it to do what, for me, is the heavy lifting when writing, so I could focus my time on what really matters: sharing my ideas.
Photo from Zach Vessels at Unsplash
Top comments (1)
Awesome Post!