Community Voices
Explore thought pieces, announcements and product news
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
AdrianaVillela
Dynatrace Advocate
Dynatrace Advocate

It’s a scary time to be a developer. And I say this as a card-carrying member of Gen X, a generation that is defined by change. It’s in our DNA. I was born at a time when cell phones, streaming services, and social media didn’t exist. And yet, our generation happily adopted and adapted.

As a techie, my generation’s openness to change has served me well. Technology changes, and if you’re not up to the change, you will get left behind. My ability to adapt has kept me growing, learning, and employed. I can say the same for many of my peers.

But the advent of AI-assisted coding has changed everything. Gen X (and Millennial) developers, normally accustomed to weathering change relatively unscathed, are lost, staring down the edge of the AI cliff.

Are you also staring at the edge of the AI cliff in absolute terror? It’s weird to be terrified like that, because we’ve stared down the edge of many tech cliffs throughout our lifetimes and careers. But this cliff feels extra scary. And extra high. With a 10-headed monster lurking at the bottom.

So what do we do?

Boom. Echo. Balance.

Each major change in technology has taken us to the edge of a cliff. The changes tend to follow a pattern: boom, echo, and balance.

The boom represents the technology explosion. A major paradigm shift that disrupts things. It’s often accompanied by a lot of hype, whether valid or not.

The boom leads to an echo, the ripple effects of that explosion. Think industries, companies, and products that spin off because of that boom. Everyone wants a piece of that pie.

And then finally, once the hype dies down, we reach balance, the steady state. That is, until the next boom. Whatever it may be.

Our latest cliff is AI*. It’s still in the middle of the boom, and we’re trying to figure out how to navigate it.

(*) Believe it or not, AI has been around for decades, but it has only become a part of the mainstream in the last several years, thanks to OpenAI exploding onto the scene with the release of ChatGPT.

Existential crisis

In the Before Times, being proficient at a programming language was a big part of a senior developer’s identity. Knowing its ins and outs. Knowing its temperament. Knowing its quirks. We wrote beautiful, elegant code. We were problem-solvers. If we got stuck on a problem, we worked at it until we got unstuck. We did that when there were fewer resources at our disposal than there are now. And there was a deep sense of euphoria associated with solving gnarly problems. The type of, shout-it-off-the-rooftops, “I FINALLY SOLVED IT!!” kind of euphoria that fellow senior developers know and understand.

And now? Many of us senior developers are struggling. We are having an existential crisis, because all that experience that we built up for years feels irrelevant and meaningless. It’s making us depressed.

What’s changed?

We are losing our troubleshooting skills, because AI can troubleshoot for us! We can say “fix the problem,” to our AI coding assistant, and off it goes. It analyzes stuff, fixes the code, runs tests, rinses and repeats, until the problem is fixed. Boom. Magic. Done. With that, we lose the euphoria and self-satisfaction of solving the problems ourselves. We miss out on our neurons firing. We miss out on neurological connections being made. We miss out on building the muscle memory and experience that once made us fantastic problem-solvers. The problem-solving experience is being robbed from us. (If we let it!) Instead, the “satisfaction”, if you can call it that, comes from tweaking the prompt to properly articulate what you want. Nah. Not the same.

We’re not motivated to learn. If AI troubleshoots for us, we can’t learn from our mistakes. If AI writes the code for us, we don’t have to learn new frameworks. Or design patterns. Hell, we’re not even motivated to learn new programming languages, or be proficient at existing ones. Why bother? What’s the point?

We’re losing our ability to write. Most developers don’t enjoy writing and aren’t great writers to begin with. That’s a shame, because I’m a firm believer that writing is a core skill for a developer. There’s no better way to show you understand a concept than to try to explain it in your own words. But now we don’t have to do that either, because AI can churn out docs pages and READMEs so you don’t have to!

We are mentally exhausted from writing prompts. I work hard at tweaking my prompts. I think that I’m getting closer and closer to my goal. Until it implodes in my face. It feels like ice skating uphill. As soon as you get close to the top, you start to slide back down. I’ve cried more when writing prompts than when I was debugging a nasty hand-coded bug in the middle of the night with nobody to keep me company but the hum of my CPU fan. Prompting leaves me feeling depressed and mentally exhausted. I don’t get frustrated like that when I hand code. I’m in full control. When I prompt, I don’t feel like I’m in full control, because I’m at the mercy of the AI assistant’s whims. Will it throw a tantrum? Will it listen to me today? Will it make stuff up? I don’t know. I just. Don’t. Know.

We are getting sloppy. When our AI agents generate code in a fraction of the time that we could hand-code it, who has time to go through all that code? I mean, couldn’t you just create an AI agent that codes, one that reviews the architecture, another one that reviews the code, etc. Yeah, but that’s kind of a terrible idea. Zero human oversight and accountability. Do you really trust your AI to do the right thing?

 

We’re being devalued. When I was in university, computer science and computer engineering were prestigious degrees. It was hot stuff. Now? Many organizations have let staff go in favour of optimizing on AI. Let’s replace developers with AI! We’ll be more productive, they said. It’ll be cheaper, they said. Really talented people with years of experience are being let go. And worse, they’re having a hard time finding a new job in tech. Some, dejected, have decided to leave tech altogether. Those of us who have invested decades in this industry are lost and scared. What if we’re next on the chopping block?

Woof. Doom and gloom, y’all. So, is there a light at the end of the tunnel? I’d like to think so, and it starts with acceptance.

Oh, brave new world!

AI-assisted coding has fundamentally changed software development as we know it. Software development has undergone a major paradigm shift. We create software, but we do it differently.

We have shifted from being builders to being architects.

I don’t have all the answers, but I think that there are a few things that senior developers can do to stay sharp, to survive this brave new AI world.

Hone your architecture skills. Architecture has always been an important skill, but now being a good architect is akin to being a good AI-native developer. This means understanding how systems work. How to describe systems properly. What are the inputs? What are the outputs? What are the interactions?

Learn how to hand code in a new language. Just because an AI agent can code for you, doesn’t mean you shouldn’t learn a new language. Similarly, keep your hand-coding skills sharp in a language you already know. It’s good for your brain, and it helps you call BS on AI generated slop.

Write. Nowadays, we don’t engineer software. We engineer context. We must therefore provide enough information for our AI agents to do the work for us, and we must articulate it well. How do we do that? With writing. As I said earlier, most developers hate writing. I get it, and using AI to help you write feels like a godsend. But don’t let it do all the work for you. Get in the habit of explaining how things work in your own words. It’s one of the reasons why I blog. It helps me learn, and it keeps my brain sharp. If you outsource your writing to AI, well, you’re only hurting yourself, because you won’t be able to write good prompts. 🪄

Challenge your AI. Don’t take what it produces at face value. Question it. AI is a sycophantic liar, and it lies with such confidence that we’re often tricked into believing it’s smarter than it actually is. Believe me, I fall for it more often than I care to admit.

Don’t forget about the juniors. Junior developers are important now, more than ever. Today’s senior developers will eventually retire. That’s a given. We need the next generation to take their place. Who will keep the AI in check if there are no juniors left to take the place of seniors? But juniors can only do that if they are mentored by senior developers.

Be open to learning from juniors. Juniors have a lot to offer. They bring new perspectives, enthusiasm (something many of us once had and have sadly faded over time), and a more AI-native “upbringing” compared to us old folks.

And most importantly…Fight the temptation to outsource your brain to AI. AI does so much stuff for us that it’s easy to take a back seat and let it do everything for us. The minute you do that, you get dumber. Plain and simple.

Final thoughts

Sooner or later, we will reach balance on this AI cliff. We always do. We’re starting to see some of that right now. Many organizations laid off tons of employees, expecting to achieve huge cost savings with AI. And now, many are hiring employees back.

While companies can no longer operate the way they did 5 years ago, they also realize that mass layoffs to replace tons of humans with AI is not as great an idea as they originally thought. It turns out that this AI stuff ain’t as cheap as they thought it would be. Not to mention that they’re seeing quality and security issues too. Oops.

Interestingly, some companies, like GitLab, are reorganizing around a new type of senior developer role. The reorganizations may not be perfect, but it’s an acknowledgment of the skills that senior developers bring in the current AI landscape. It’s also an acknowledgement of what it means to be a senior developer these days.

On a more positive note, Shopify is doing something cool. It recognizes that juniors will be the future senior developers, and is investing in them. Woo hoo!

Like it or not, AI is with us. Some of us will decide that this isn’t what we signed up for and will leave tech altogether, and that’s super fair. For those of us who remain, we need to support each other and work together as we navigate this brave new world. The genie is out of the bottle. All we can do is evolve and adapt. As we always have.