Published: March 26, 2023 • 3 min read
Here’s an argument that’s gaining momentum in my field:
Is this correct? Great question! We’re all watching this unprecedented phenomenon unfold. Predictions are plentiful.
As a mentor to new programmers, this argument matters to me, and I’m skeptical of it. Here are my current predictions about how AI might affect programming job prospects.
To summarize, I think AI is already amazing, but as software continues to eat the world, this industry will create jobs. The path for any programmer who wants to remain relevant is to leverage their humanity.
AI programming tools are already amazing, and we should not underestimate them.
As an example, if I type the following in a GitHub Copilot-enabled text editor:
class CreateShippingAddresses < ActiveRecord::Migration
Copilot autocompletes this:
class CreateShippingAddresses < ActiveRecord::Migration def change create_table :shipping_addresses do |t| t.string :name t.string :address t.string :city t.string :zip t.string :state t.string :phone t.string :email t.references :shipping_method, index: true, foreign_key: true t.references :customer, index: true, foreign_key: true t.timestamps null: false end end end
😵💫Wow! This is a valid, referential database migration for the Ruby on Rails ORM ActiveRecord. This is huge!
Now, for some cold water. Writing a migration is just one slice of adding a feature to a program. As Matt pointed out:
AI is now here (at best).— Matt Wensing 🐙 (@mattwensing) March 24, 2023
That still leaves 90% of the work. And it’s the hard, human kind of work. pic.twitter.com/X4tslZ6SqI
After writing the migration, you need to add the model, controller, and routing, change the way potentially multiple frontends consume this information or coordinate with the human programmers who maintain those systems. You’ll need skillful tests. And you’ll need to track the work through your ticketing system, deliver it to QA environments, release it to production, and respond to user feedback. But yes, step one is complete!
AI can write describable code like this with ease. It’s a giant leap. So, why am I optimistic?
The software industry is only going to grow, so much that I believe it will offset much of the risk to our jobs.
Marc Andreessen said that “software is eating the world.” In the last ten years, AI has advanced, and yet demand for programmers has still grown. I would bet that jobs continue to grow. Why? Programmers build and maintain AI engines, and they can connect disciplines in a way computers still are nowhere close to doing.
So, what’s the path forward for programmers today? If you’re working on getting good, then what? I think the path is combining mastery of these tools with the attributes that a computer can’t provide.
Programming has a culture of introversion, and we’ve tacitly tolerated poor
communicators and difficult people even at the highest levels of our field.
These tiresome ‘10x programmers’ will go extinct because much of the
future tech debt they offered is going to become a commodity.
In Linchpin: Are You Indispensable?, Seth Godin argues that as AI advances, the workers who survive will be those who’ve mastered skills like authenticity, empathy, passion, and communication. If you’re entering the field today, or want to fortify your position, learn to leverage these skills.
Be authentic– show up to work as the best version of yourself and accentuate the things that make you unique.
Be empathetic– consider how our industry and the software we write treat all people and commit to improving both.
Be passionate– have ‘strong opinions weakly held’ and learn to confidently argue for what you value.
Be a communicator– learn to write, deliver reports, run retros, and ask clarifying questions. Learn how to use Slack, Trello, Jira, Tracker, but also Figma and Sketch, Zoom, Google Docs. Programming requires mastery of more tools than a text editor.
Your humanity is your moat against AI and your peers.
To reiterate, I think that we should celebrate AI, but that our field is going to still grow, and that if you want job security, focus on what makes you different than a computer.
I’m looking forward to reading this post in ten years and seeing how I was right or wrong.
What are your thoughts on this? Let me know!
Join 100+ engineers who subscribe for advice, commentary, and technical deep-dives into the world of software.