kayashaolu2
Joined 2 months ago
Joined 2 months ago
I don’t believe it has to be this zero sum game where either you use AI and lose understanding or you don’t use AI and gain understanding. There’s a way to do both since, if used properly, AI could be the best teacher we’ve had.
Because of AI, what it means to “not have all of the inputs” has changed as anyone can cut and paste a Leetcode problem to a chatbot and solve it.
I think we are going to iterate a bit to figure out a better signal than the typical coding interview. For junior engineers, I think coding questions will move towards MBA style problems when someone is given more of an open ended question with a codebase and you see what the candidate does without context to reduce the problem.
So, I hope coding goes away, but it is changing form though.
And in this case carefully crafted, clear, and expressive words that are not too verbose would be the contributions of tomorrow.
I keep going back to LLM Wiki. It has found itself in so many other skills because of its fundamental value. Maybe we don’t have as many pull requests. But that one skill has proliferated in so many other skills because of its value.
But, investors do care about the stability of the system they invested in. And how quickly it can be extended and expanded upon while still maintaining functionality. And they deeply care about scalability. I don’t believe this is a question about whether code is LLM generated. I think this is a question of having the ability to build a system that can be up and provide the value that investors expect. And the way you use AI and your knowledge of systems does play a role in that, especially over time.
And another point: it doesn’t have to be either or. Sometimes the prudent thing is to hand code a specific highly sensitive part of the system while your agents are building other things. The fact that these agents can do things in the background frees us with different possibilities. And also, sometimes hand coding some areas in the code that you are not familiar with builds your knowledge which the ln enables you to guide the agents more effectively later on. There’s benefits of both approaches and both approaches can be done simultaneously.
I think our industry needs to transition to figure out what does it mean to build a quality system in the age of AI? It’s one thing to vibe code an application that works. But would you depend your livelihood on it? Would you get business funding and base the future of your team on it?
I think the challenge of the educational space is to figure out how to teach the judgement to build solid systems without relying on “hand coding”. For me I’ve been working on technology agnostic composable frameworks that help build that judgement. But honestly we are all just figuring this out together.
There will still be a need to be able to train system builders, the question really is what do they actually need to learn to be solid system builders in this AI era. And there’s a strong chance that pure programming language or tech stack learning may not be enough. This is what we educators need to figure out.
The reason IMO is that true software engineering hasn’t been about producing code. It’s about solving problems by building maintainable systems. The best software engineers don’t only build for the feature, they build for the extensibility, maintainability, and scalability of the feature. That is the art of engineering software that I think we can still take pride in even during this AI era.