Short Stories from the Life of a Developer

Tag: chatgpt

  • How I got deprecated by AI

    How I got deprecated by AI

    I used to be a brilliant developer. I could write beautiful code, understand stakeholders even before they spoke, and I was able to answer any question about our complex domain in seconds. Sometimes all at the same time. I could tell the history of every line of code in our projects — when it was written, why it was written, who modified it, and who wrote the best and worst version of it.

    I used to spend my evenings reading about how Java counts references to objects to dispose of unused ones. I used to discuss the differences between pointers and references in C++ over coffee. Man, I was living my dream.

    I had great conversations with my peers regularly. One day, I was having coffee by the water cooler when my colleague Shanya came along. She was mumbling something about wasting so much time trying to get answers from ChatGPT.

    • I should’ve googled it, like every normal developer. Stack Overflow, whatever…

    Back then, AI was pretty new, but people had already started fearing it would replace us all eventually. I wanted to get another opinion, so I said with a grin:

    • Hey Shanya, take it easy — in a few years, it’ll just be ChatGPT. No more us.
    • Yeah, right! — she almost yelled. — I can totally see ChatGPT setting up Service A, B, and C, Kafka and AWS queues, plus external CRM and payment integration every time Jim from Product wakes up with another brilliant idea — one that’s not even clear to him.
    • Sure, just tell it to ChatGPT and by lunch your idea will be in production.
    • He he, yeah, that’ll be the day.
    • Don’t worry, Miro. From what I’ve seen, it won’t be able to replace us anytime soon.
    • You’re safe for at least 10 years! — Shanya said.

    I must say I felt a little reassured, but I still decided to check the job market later that evening. I had a habit of browsing new opportunities from time to time, even when I wasn’t actively looking — but I hadn’t done that in a while.

    I was surprised to see how many developers were looking for jobs. Every open position had 100+ applicants. Hundreds of developers like me, searching. Had I missed something in the last few years?

    I explored the companies deeper. I found startups building very simple products. I installed some of them — they were really easy to use. Judging by the reviews, mostly young people instantly embraced and understood these tools. Literally products for a new generation.

    Some of these companies offered similar products and services to what my company was doing at the time. My company had over 1,000 employees. These startups? Five or six people total.

    I shut the laptop and went to dinner. I didn’t know what to think, but it seemed to me that companies with 10 employees couldn’t build serious services. Anyway, under my mantra #ForeverDeveloper, I decided to double down on sharpening my skills. All this AI fuss was just an empty balloon. AI would never reach my level of ninja developer.

    And indeed, over the next year, I mastered Kotlin and Spring. I could talk about JVM internals like people talk about the weather. You could’ve woken me up in the middle of the night and asked about lambda expressions — and I’d know the answer.

    But during that year, I also noticed changes in the company. I saw more and more new colleagues without any deep knowledge of a particular domain. Power users of hundreds of tools — not developers. None of us devs knew how to work with them. We made jokes internally, wondering what their role was and what they were even paid for.

    We didn’t know how to refer to them, so we jokingly called them Z vibers.

    But then we started to notice how well they handled business people. Tech and business had always felt like two separate worlds. Our Z vibers were the ones finally bridging that gap. They could talk about tech with business — and business with tech. And somehow, we understood it. It felt natural.

    In crisis situations, when we had to fix something fast, we ninja developers usually did something ugly, just to make it work. Fix now, improve later. But Z vibers? They were able to come up with beautiful classes and solutions, even in those chaotic moments. They contributed code I’d later study, wondering, How did this person come up with such elegant code, solving exactly what was needed, in such a short time?

    But my status as a ninja developer was still unshaken. I was learning new things. Reaching developer sensei level. I was safe.

    Until one day, I found myself looking for job opportunities. For real this time — not just browsing the market.

    It’s 2030. HR asks me what I can do. I say:

    • I can code.
    • Haha, phew! Even ChatGPT can code! But can you do something real?
    • You can ask me about JVM internals. Or lambda expressions.
    • Do you have any real skills?
    • No, I’m a developer. Senior developer.

    It’s 2030… or 2025? I’m not sure…

    Read the story from parallel universe here.

  • How I Outsmarted Artificial Intelligence with Natural Stupidity

    How I Outsmarted Artificial Intelligence with Natural Stupidity

    I was always an average developer. Although I had stardom moments, most of the time I struggled with basic programming problems—how to organize my classes, refactor the code, and where to put what. Until someone would make a simple remark in a code review or a water-cooler discussion, and suddenly it all made sense to me.

    Sometimes I was confused about whether to use an AND or OR operator in a condition. That’s how bad I was.

    I had problems understanding what I was truly working on. There was always this brilliant developer on the team who knew the exact answer to every question. He pointed to the exact part of the system where the issue lay and could tell the whole history about this particular part of the code—how and when it was created and how it evolved over time.

    I was never that developer.

    I, on the other hand, had to think long about every problem or question, and sometimes had to sleep on it for a few nights. When I came up with the solution, it was usually too late.

    At some point during my career, AI became a hype in software development. Everyone was talking about it.

    I knew that AI would never replace me at my desk. I mean, how could AI figure out all the required changes in our multi-service ecosystem, think of the ways to implement those in different services, test, and make them all work together? C’mon, every task I do is a struggle just to even set up the environment so the services can work together. Sometimes I just rely on tests in one service and test with other services in a staging environment. No, AI will never be able to do that.

    But then again, I remember the hype in the industry when the Internet was invented. Yes, I’m that old. The Internet itself is a much simpler thing, and still, it disrupted the whole industry.

    So I thought I should not underestimate the impact that AI would have on the industry.

    I thought, instead of AI making me obsolete as an employee by replacing me at my desk, I could imagine companies changing—new companies using different tools to create products that are more suited for the current generations; companies changing their approach to developing products and services. I imagined companies that understand the moment and the new user base, able to deliver with tens of fewer employees than traditional companies.

    I decided to incorporate AI into my daily work. When I designed a new feature, I sketched the solution into a few classes and asked AI to implement it for me in the way I imagined. It worked pretty well. It even refactored the code the way I told it to.

    When even the most stupid thing was not clear to me, I could ask and get the explanation I really understood.

    Then I thought, I can try to create something of my own using those tools. I could learn frontend and implement some of the ideas I had along the way. I already knew the backend. I could fill in infrastructure gaps also with aid from AI. I could have a complete product myself.

    So I tried many ideas.

    I used ChatGPT to create a React frontend for an appointment scheduling app, and also used ChatGPT to automate email communication with users. Success bookings, reminders, and error emails were all handled by AI.

    Then I switched to Copilot to create a React app for displaying all possible guitar scales. I used AI to also help me with my pipelines, building out my CI/CD.

    I tried building a shift scheduling app, again with help from AI, to create schedules based on rule inputs. I also automated communication about shifts, including the ability to cancel or swap, using ChatGPT. It was the best customer support I’d seen—and it was automatic.

    I tried those ideas and many more.

    And I failed in all of them.

    But the industry changed very quickly. Many companies struggled, and layoffs were inevitable.

    And when layoffs happened, some were kept. Some were even able to find jobs in other companies. Not the ones who kept JVM internals in the back of their head. Not even the ones who mastered object-oriented principles and were able to apply them in no time.

    The ones who stayed—or got hired—were those who could adapt to new tools and use them to quickly build and deploy complete products and services. With a little help from AI.

    And users loved the products, according to the reviews and reactions.

    It’s 2025. I’m still an average developer. But I build brilliant things for people.

    Read the story from parallel universe here.