As an engineering manager, I spend a lot of time talking about AI. Mostly answering questions.
What's the best way to use it? What does "good" use of AI actually look like? How do I keep improving while everyone around me is moving faster? Does everything I've learned still matter? What should I even be learning now?
The questions never stop.
If you're in any kind of leadership role, you're probably getting the same ones. And you're expected to have answers. Not just for yourself, but for the people looking to you for direction. That's part of leadership, after all. Helping people navigate uncertainty and figure out what to do next.
But there's a problem with that expectation.
I'll let you in on a little secret:
No one knows the answers yet.
You'd think this master's degree in machine learning would make this easier. It doesn't.
I understand how these systems work, at least more than the average person. But understanding the technology and knowing how it's going to change the way we work are two very different things. I can explain how a neural network learns, but that doesn't mean I know what software engineering is going to look like five years from now.
And I'm increasingly convinced that nobody else does either.
We're Still Figuring Out the Fundamentals
We're in the middle of one of the most disruptive shifts our industry has seen, in a field that's barely had time to settle before changing again.
Modern software engineering, depending on how you count it, is what, 50 to 70 years old? Compare that to medicine, with thousands of years of history and a few hundred years of increasingly rigorous scientific practice. Or architecture, where people have been designing and constructing buildings for thousands of years.
Those fields have had generations to build foundations. To test, fail, refine, and stabilize. They still change, sometimes dramatically, but they have a substantial body of accumulated knowledge to build upon.
In software, we're still arguing about the fundamentals.
Think about how much software development has changed in just the last twenty years. We've gone from debating whether agile development was a good idea to arguing about which version of agile we're doing wrong. We've moved from physical servers to the cloud, from monoliths to microservices (and sometimes back again), and from writing every line of code ourselves to asking an AI to write entire features.
And through all of that, we're still figuring out what good software engineering actually looks like.
Now we're introducing technology that challenges some of our most basic assumptions about how software gets built.
Of course we don't have all the answers.
The Ground Is Actually Moving
So if you feel behind, or unsure, or like the ground keeps moving under you, that's not in your head. The ground is actually moving. It's changing constantly. Of course it's hard to feel stable right now.
What's considered effective today might be outdated six months from now. Tools are improving faster than most organizations can adopt them, and we're being asked to make decisions about technology whose capabilities and limitations are still changing.
There's also a strange pressure that comes from watching everyone else experiment in public. Every day, someone seems to have discovered a new workflow that's going to revolutionize software development. Another person claims they've stopped writing code entirely. Someone else insists that engineers who aren't using AI for everything are already falling behind.
Maybe they're right about some of it. Maybe they aren't.
The problem is that we're often comparing our own uncertainty to everyone else's confidence. And confidence isn't necessarily evidence that someone has figured things out.
It's tempting to look for someone who has the answers, especially when you're responsible for helping other people find their way. But I think we'd be better served by getting comfortable with the idea that those answers don't exist yet.
At least not in any permanent sense.
Remember the Science Part
We forget sometimes that it's called computer "science." Not computer "we already know the answer."
So embrace the uncertainty! This is the moment to lean into experimentation, not fear.
And I don't mean experimenting just for the sake of trying every new tool that comes along. That's an easy trap to fall into, especially when there's a new AI product promising to change everything every other week.
I mean approaching the problem with an experimental mindset.
Form a hypothesis. Try something. See what works. See what breaks. Adjust and repeat.
Maybe you think AI can help your team write better tests. Great. Try it on a few different types of problems and see what happens. Are the tests actually better? Are they easier to maintain? Does it save time once you account for reviewing and correcting the results?
Maybe you're wondering whether AI makes junior engineers more productive or whether it prevents them from developing the skills they'll need later. That's a much harder question, but it's still something worth exploring rather than assuming you know the answer.
The important part is being willing to challenge your assumptions, including the ones that seem obvious.
Some experiments will work. Others won't. Some things that work today might stop working as the technology changes. That's fine. The goal isn't to find the perfect workflow that will carry us through the next decade. It's to keep learning enough to make better decisions as we go.
Progress Matters More Than Certainty
I think this is especially important for people in leadership roles.
We're used to being the ones who provide direction. People come to us with problems, and we're supposed to help them find solutions. It can be uncomfortable to admit that we don't know what the right answer is.
But I don't think our job is to pretend we know.
Our job is to help create an environment where people can figure things out. Where trying something new doesn't require being certain it will work. Where we can share what we're learning, acknowledge what isn't working, and change direction when we discover something better.
That doesn't mean abandoning standards or chasing every new technology. It means being deliberate about what we're trying to learn and honest about what we actually know.
We're all figuring this out together, whether we admit it or not.
As long as you're moving in a positive direction, learning from what works and what doesn't, I think you're doing pretty well.
Progress matters more than certainty right now.
And if you do figure it all out, let me know. I have a few questions.