Less typing, more work
It’s a weird time we live in. A few years ago, software engineering was seen as a safe job. Now we don’t know if it will have a future. Maybe I am naive, but I am somehow not worried. Mostly because this job came with one fundamental premise: change is inevitable. Everything you learn today will help you grow, but some of the details will be relics in a few years.
What has AI ever done for us?
To paraphrase Monty Python’s Life of Brian, what has AI ever done for us?
Well, it finally gave us the abstraction level we always dreamed about. When I was in high school, UML was supposed to be the future of software development. The idea was that we’d draw diagrams to define the architecture, and the program would be written on its own. Well, with AI, we’re finally there. And the best thing is this: you don’t need to learn how to properly draw boxes and arrows based on some standard.
Even better, I spend much less time dealing with all these small things that accumulated with the abstractions we invented: the dependency hell, the effort of setting up everything, the nitpicky code reviews, and everything breaking for some reason. All that made the job more miserable for me.
With most of that taken away now, we can focus on the actual business logic and the full product experience. And even better, people in other roles, like designers, can now contribute directly without all that hassle.
Keeping your brain sharp
I see the pessimists saying that we’ve all just become dumb Enter-pressing machines. Pro tip: run it in YOLO mode. There’s no need to press Enter anymore. Jokes aside, you can still just write code by hand. And I actually urge everyone to do this from time to time, especially when learning new languages.
As part of my new job, I now write Go instead of Ruby. I did the unthinkable in the age of AI: I went full caveman mode by writing code by hand and reading a few books about Go. Maybe someone else can learn a new language by looking at code, but I can’t. I learned about the idioms of Go, the pitfalls, the good, the bad, and the ugly. I tried to learn what good Go code looks like, and I used AI to correct me, find my mistakes, and come up with exercises.
This was exhausting, but I enjoyed it. I just love the process of learning new things. That’s what I signed up for when I became an engineer: never being stuck doing the same things over and over. And now it’s fine for me to let the AI write the Go code for me when I already know what it would look like.
The downsides of the speed
Since a lot of the cumbersome work went away, we’re left with the essence of building software. It’s what I love, but it’s also the work that takes the most brain power. This and the speed at which it currently happens are extreme.
In the capitalistic world that we live in (and I happily profit from), I fear that we will burn out a lot of good people on this journey. Our system is just not built to slow down.
Recently, I was at the airport with my colleagues, on our way home from a company offsite. We were all sitting there with our laptops and working. Some guy came over and said that what we were doing looked cool (I guess it’s finally the time of the nerds?). Then he asked if we were software engineers. He only got a few nods because we were all so focused. Then he asked how we feel about our jobs being replaced by AI now.
I looked at him and said, “I don’t know. So far, I don’t see it. I’m working longer hours, and the work is more demanding than ever.”