AI 時代編寫軟件:成為程式設計師意味着甚麼?
Writing Software in the AI Era: What Does It Mean to Be a Programmer?
AI 時代,程式設計師的角色正在改變;部分原本需時數月開發的項目,現在可由 AI 智能體在數小時內製作原型。作者會用 AI 處理沉悶工作及協助完成複雜項目,但仍會審視 AI 撰寫的內容,並親自編寫部分程式碼。善用 AI 加快開發之餘,也要持續學習,瞭解自己交付的軟件。
Early Days
My programming journey began in late 2015.
Like many teenagers my age back then, I wanted to build my own video games. That was when I stumbled upon something called C++, which turned out to be a programming language. This strange-sounding term referred to a way of telling computers what to do.
Curious to learn more, I started digging deeper to figure out how to speak this language. And that was the beginning of an incredible journey.
From installing Code::Blocks, one of the most popular IDEs at the time, to encountering the infamous segmentation fault (core dumped) error and wrestling with countless compilation errors, every challenge became part of the adventure.
One thing led to another, and I began discovering the countless fields where programming could be applied: web development, systems programming, mobile development, IoT, automation, data analysis, and so on. Even artificial intelligence, that thing we used to see in movies, turned out to be an application of programming principles.
Back then, and even until recently, being a programmer felt like being both a superhero and a complete newbie. You had the power to build amazing, useful things, yet you could spend hours staring at a wall of errors simply because you forgot a semicolon or failed to break out of a loop.
Welcome to the Shin Sekai
With the rise of new LLMs and their incredible capabilities, everything changed.
Projects that once took a week to plan and three months to build can now, in some cases, be prototyped by an AI agent in just a few hours. And sometimes, the result is surprisingly good, perhaps even better than what you could have built yourself. If you had enough money, computing power, and memory, you could even spawn an army of agents to build your own rocket launcher (though it might blow up on the first try).
A skill that was once reserved for a select few is now accessible to anyone willing to build something. This is what we call equality. But as we all know:
With great power comes great responsibility.
But that's another debate...
Searching for the One Piece
In this new era, priorities and many other things are being reshaped.
With everyone able to build at almost supersonic speed (just calm down...), the definition of a successful product has changed, and so has the role of a programmer.
There are still people who enjoy the process of writing their own code and the satisfaction of making it work. Whether you call it ego or being a prehistoric man, that feeling is still very much alive, and the sense of accomplishment is indescribable.
Then there are those who delegate everything to AI. Their sole purpose is to ship. They would even delegate their lives to AI if they could (spoiler: they can't, at least not yet...).
Whichever group you belong to, you can't deny that writing software in the AI era is a whole different story, and that working without AI means missing out on a lot.
My Take
Now, let's get back to me. Which of these groups do I belong to?
I'm somewhere in the gray zone. I use AI for boring tasks and to help me build complex things. I still review everything it writes, not only because it can make mistakes, but also because I want to learn from the new approaches it might suggest.
For some tasks, I still write the code myself. I love coding, and the satisfaction of successfully wiring everything together is second to none.
Another goal is to keep growing my skills, and that only comes with practice. There will be days when AI tools are down, and relying on them entirely could backfire. There will also be times when an expert's knowledge is needed, and failing to develop your own skills could prevent you from reaching that level.
Outro
Use AI to build faster, not to stop learning. Let it handle the boring stuff, help you tackle the complex stuff, and challenge you to become better. Because at the end of the day, the goal isn't just to ship more software. It's to become someone who understands what they're shipping.
Any thoughts?
來源:DEV Community · dev.to