What Still Matters?
Hey!
Welcome back to another week of musings.
I'm already feeling winter in my neck of the woods! Early sunsets, cold evenings. I hope you had time to rest and plan for the week ahead.
Was this forwarded to you? You can subscribe here!
Things I enjoyed in the past week
- Yelp has adopted a hybrid user interface architecture for its AI Assistant
- The Socio-Technical Staff+ Engineer: Architecture, Culture and Organizational Change
I've been thinking a lot about what still matters when all of the software we're working on is AI-generated, all the code that we are building and that we're creating. Does that mean that long-term code becomes a byproduct of the process itself? Meaning the process we are aiming for is effectively crafting Markdown so the AI can build the software?
I mean that if we want to rebuild in a different stack, we can do it because all the harnesses are in place to output code at an increasingly rapid speed. And, as I said, code is a byproduct, meaning that it doesn't really matter what stack we're building.
And while producing code becomes cheaper to the point of irrelevance, maintaining and operating the code in production still isn't cheap or free. So, there's still cost in that. There are really not enough tokens to monitor your distributed system.
I think good design still matters. I think distributed systems and learning about them will still be key. There are still some decisions that you want to make when it comes to your context in your company, meaning that I don't think we'll reach a homogeneous place where all companies will be using the exact same stack to build their products.
Even if we had more developers to produce more code in the olden days, you could still deliver the wrong thing, or you could still never find product-market fit, even if you could rewrite three, four, five times with more developers.
Instead, I think good design will come back in terms of humans describing things, describing outcomes, but I don't think software engineers will go away. I think in enterprise settings, coding took the least amount of time, sadly.
In a software engineer's role, there were a lot of meetings. There were a lot of these meetings related to:
- Alignment of priorities
- Alignment of the backlog
- Prioritizing the backlog
- Grooming the stories
- Determining test cases
Working with these other peers across the organization, like marketing, design, QA, et cetera.
I do think that we are at a point where, in some cases, we're kind of breaking people. I've seen some people generating so many PRs that it's really unreasonable to have a team of five people review hundreds of PRs that are generated by each other.
Even though we are generating more code, we're not really pushing that much more code into the next phases of the software development life cycle.
I think we're still early in the journey, and mostly early adopters are being highly vocal about how to become "AI-native". So the basics are still important, and will continue to be for some time.
Your turn!
How is the AI adoption working at your company? Have you solved any of these bottlenecks around your team or larger organization? Let me know your thoughts by replying to this email!
Happy coding!