Does ChatGPT Mean Software Engineering Is Over?
- 4 minutes read - 713 wordsHere’s an argument that’s gaining momentum in my field: AI will eliminate or greatly reduce the programming profession.
To elaborate:
- AI like ChatGPT and GitHub Copilot is very good at writing describable code (“translate feet to meters”)
- This is the kind of code entry-level programmers are often asked to write
- AI could eliminate programmer jobs, particularly entry-level
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 is Already Amazing
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:
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?
“Software Is Eating the World”
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.
Leverage Your Humanity
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 incomprehensible genius
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.
Wrapping Up
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.