How will AI impact software developers and IT professionals?
Over the past few months, I’ve been getting frequent questions about AI’s impact on various technical and creative professions.
This influx of questions is the consequence of a series of new AI technologies like ChatGPT and DALL-E 2 that have moved from research projects into production-ready applications.
As a result, these AI tools have made big splashy headlines and entered the general public’s awareness. Non-technical professionals have started playing with these tools and discovering their capabilities and true potential.
This is also creating a bit of uncertainty with professionals who thought their jobs were relatively safe from automation. To their surprise, these new AI technologies are quite good at the work that these professionals do.
So, to help you better understand the impact of AI on your career, here are my thoughts on how AI will impact software developers and IT professionals over the next few years.
I’m already changing the way I write code as a result of new tools like GitHub Copilot. It helps me to write better code much faster than I did in the past. It’s almost scary how accurate it is in predicting what I’m about to type next. It’s like IntelliSense on steroids — predicting entire functions and blocks of code. However, sometimes its code completions are way off the mark.
I’m also (experimentally) using ChatGPT to help me generate, translate, and refactor code. I’m also using it to generate test cases and find bugs. It’s surprisingly good at many of these tasks. However, knowing how to create the right prompt to give you the solution you’re looking for is a skill all its own. It’s like learning a new programming language, but everything is written in English.
ChatGPT has also changed the way that I search for information. Rather than going to Google to perform a search, I’ve replaced my home page with ChatGPT. Now, whenever I have a question, I start by asking ChatGPT for the answer first before I switch to using Google’s search engine. This approach often gives me the answer I need with much less effort.
Ultimately, I’m learning how to work with AI in my day-to-day tasks rather than fight against it. I think this is the future for software developers and a wide variety of AI-assisted technical roles.
I think large language models like GPT-3.5 are going to have a huge impact on software developers, data scientists, database administrators, cyber-security experts, technical writers, and other IT professionals.
I can easily see a future where AI-enabled IDEs write most of the code. Software developers will just oversee the process. Developers will define the problem to be solved, nudging the AI in the direction, wiring the components together, and verifying everything works as expected. This workflow is pretty similar to how we currently train, optimize, and deploy ML today, so it seems plausible to me.
Writing code with an AI is a lot like pair programming with a human. Sometimes I’m showing the AI a better way to solve a problem with code. Other times, the AI is teaching me a better way to write my code. We complement each other’s strengths and weaknesses. This combination gives us both super-human programming abilities.
I also envision a world where more software developers and IT professionals are training ML models and using foundational ML models with transfer learning to solve day-to-day problems. As these tools become progressively easier to use, more software developers and IT professionals will begin to use them to assist with their daily tasks.
This AI revolution feels very similar to the transition from analog machines to digital computers. Analog was hard to use, the feedback loops were slow, and iterative revisions were painful. Switching from analog to digital allowed us to create, edit, and publish content much faster and with greater efficiency.
For those of you old enough to remember typing papers on a typewriter, this transition feels similar to me. Typing your first draft on a typewriter was a painful process since you couldn’t make real-time edits while you were typing. The feedback loops were slow, edits were difficult, and total rewrites were common. Digital word processors changed all of that — for the better.
This also feels similar to the introduction of search engines and Stack Overflow to the software development process. We used to have stacks of books at our desks full of code samples. Any time we couldn’t remember how to code something, we had to search in a book. Now, we just Google it.
I think the same will be true with AI-powered tools. Early adopters of AI tools will see significant advantages over traditional computer-based tools. One AI-assisted software developer will be able to do the work of several human-only developers and produce much higher quality work. The same will likely be true for many other technical and IT roles.
For example, using an AI-powered IDE to write code will significantly improve productivity, rapid feedback, and code quality. Similarly, coding with an AI-powered “pair programmer” will help you find bugs, refactor your code, and teach you best practices along the way.
The future belongs to those who are willing to invest in AI now — don’t get left behind!
If you’d like to learn more about the future of AI and how it will impact you, your career, and our world, please check out my free online course: Preparing Your Career for AI.