Hello 👋!
Long time no see!
I wanted to talk a little about how I, a junior at Auburn University studying Software Engineering, first reacted to the rise of programming with AI, along with how I see the future, and my concerns with it. I hope you can see some similarities with your own experiences, and I'm curious how this differs from people who have been in industry for years. Let me know, I'd love to chat!
My Timeline
I like to think my experience using AI as a development tool has been the same as most others. I was, of course, skeptical at first. My first experience was the Copilot sidebar on VS Code. Sure, I thought, this is a great tool for replacing Reddit and StackOverflow, but having to CMD+C and CMD+V code from a chat window into my code was clunky. But alas, I used it, because it was much faster than browsing StackOverflow for an answer. For coursework or personal projects, it was definitely a Godsend on multiple occasions.
Then, the AI agent was born. Think early Cursor, VS Code agent mode, etc. Again, I was very skeptical and I rarely switched to Agent mode. Both out of caution of handing the reigns of my (admittedly already shoddy) code over to this nebulous black box, and out of my own pride. I say that because, even now, there is this stigma toward AI generated things. Code, art, words, you name it. Though AI generated code seems to have diverged from other forms of AI generated content, with it becoming widely more acceptable and not in the classic debate of "is it ethical"
This transition was quite remarkable. The actual experience of using AI to code was improving, even if the output was still meh, and the tooling/harnesses were simple. I remember at my internship this past summer witnessing the shift in culture in real time. My manager was asking if I needed a Copilot subscription. Engineers were shipping AI generated to production systems, though the quality was definitely of question.
Then, I started my current position at a local startup. I have to thank my current lead, Reid, for opening my eyes to the capabilities of agentic programming. Use of AI as a productivity enhancer was the norm here. Maybe that's a bad thing, who am I to say. But "build fast and break things" has been the motto by San Francisco startups and Twitter tech gurus for years, and I think, in a startup environment, there's few better ways to operate. Obviously, if you're supporting AWS or Cloudflare, more caution is needed.
Now, over the last few months, particularly since this past November, I have been using and experimenting endlessly with AI and Agentic coding workflows. It started with Cursor, then Claude Code, then back to Cursor, then to Codex, then finally I have settled once more on Claude Code. Though I'm sure this is not permanent.
An Admission
I have to admit, and while it does depend, almost every line of code I ship now, be it for personal projects or work-related is AI generated. Part of me is ashamed to admit this... Why am I going to school if a computer is just going to replace me? But part of me is proud. Isn't a core tenet of being a good developer the willingness to learn new things? What happened to programmers that refused to adopt IDEs, shifting to Agile, implementing CI/CD? The next logical question is, what will happen to developers who refuse to adopt AI tools? Will they share the same fate?
This brings me to my next point.
The Future
If you're an AI doomer, the future is bleak. If you're an AI research lab, the future looks green. If you're also a student or a junior dev, and you're anything like me, the future looks bleak as well. However, here are my thoughts on the future of our career, thoughts that help me sleep at night, even if they end up not being true.
When you think about software development, what is it really? What does the process of developing good software look like? You sit down, think really hard about how you want to do something. You formalize your ideas. You create the architecture plans. Then you implement into code. Coding has largely been a means to an end. A way to tell your computer the decisions that you, or your team, have made. The hard part, at least for computable problems, wasn't the process of coding itself, but the decisions behind the code. How do we architect this? What's the best option for our use-case? Is this even a good idea (a solemnly asked as software becomes easier to create)? What are the requirements? These questions are ones that we have to answer, at least for the foreseeable future. Sure, AI can help answer these questions, but they require a level of nuance and context that even the smartest models are not capable of yet.
One way I like to rationalize it for my self is to think: as software becomes easier to make, more of it will be made. Do you think, hypothetically speaking, Microsoft would look at Google ship their entire 5-year roadmap in 1-year and think to themselves "No, we shouldn't compete with that?" Of course not! As a company, if my choices are 1. Keep headcount and ship 5x faster, or 2. Slash 4/5ths of my headcount, and ship the same as we were planning, I'm going with ship faster!
Another way, perhaps a more elementary school of thought, is that someone still has to create things. Whether you're handwriting one line at a time, or prompting a new feature, someone has to do this. With the exception of very, very small startups, what CEOs have the time to create production-ready software for their company? Very few. Software itself may become cheaper to make, but someone still needs to be the one sitting down and making it.
My Concern
I do have one concern, and it is one I do not have an answer for: what happens to juniors? If you think about it, AI is essentially just a really good junior engineer. You (the senior+ engineer in this case) make all the hard decisions and hand that spec to Claude (the junior). If this is the workflow now, why hire a junior engineer? They can't design as good as a senior. Their specs will be far worse. Obviously there is (or should be), from a senior+ POV, a desire to teach the next generation. But from a business POV, why would I waste money in the short-term on that? This is something I don't have an answer for, and I can't do anything but hope the demand is still there for new junior engineers.
Conclusion
Anyways, I hope you enjoyed my ramble on this. I wanted to make this both to be able to look back on in however many years for my own journey, but also to help anyone struggling with the idea of being completely replaced by AI.
If you have any thoughts or comments on what I've said, let me know!.
Till next time, Jordan