What I Miss And Don't From Working As A Programmer
I retired almost four years ago after nearly 40 years as a programmer. While I still write code daily, I do so to support my generative art rather than get paid for it.
Most of my career was spent building new applications, and no matter what my title was, I was always writing code. Besides my half year at Apple in the mid-90s and one architect position, writing code was a significant part of my job. I only had a single job—working at a game company—where I only supported an existing body of code. Many of my jobs were not only building new applications but often for a company or organization without a history of doing them, so I usually had to do more than deal with code and also worry about process, hiring, and product development. For nine years, starting in the mid-80s, I also started and ran two small startups.
I decided to retire in 2021 because, after such a long career, I had done enough, and it was time for something different. My art was much more interesting and challenging to me (and still is).
My final job was at the largest company I ever worked for. For 5.5 years, I worked on primarily new projects strategically important to my division, often visible enough for the CEO to pay attention. Working for a huge company is a different beast, with so many teams to interact with, so much politics to watch out for, and so many executives wanting to put their stamp on everything good (and run away from anything that might fail). Schedules, features, and decisions changed almost daily, making everything painful. Despite being the lead, I was also a full-time programmer on my team, so I often had to work more than forty hours a week due to all the meetings. One time, I worked seven days a week for months, which was no fun.
I don't miss the long hours. Besides my two startups in the mid-80s to mid-90s, I never worked much overtime in any other job. The difficulty of building large complex applications (or, in this case, large parts of our two applications), dealing with many different teams, seemingly endless meetings, and the constant churn of features and schedules took all of my experience to keep up with. Everything my team shipped worked well, and I rarely had any issues despite the complexity of the business. However, it took all that time to make sure of it.
The final year of my career was during the Pandemic. We all worked at home, and for part of that time, our business, like many others, was mainly shut down. Eventually, work picked up again, and significant new projects emerged while business was slow. I took most of the year to decide on retirement and gave three months' notice.
I still miss some things about working. While the hours sucked, and the politics and budgets and not having enough people was no fun, I miss being involved in everything, being around people all day (for the last year, virtually), solving complex problems, watching things ship that worked properly, and seeing customers appreciate what we built. Being retired and just making art all day and doing some writing (not enough!) is pleasant but not very interactive. Even though my 2000s decade was terrible (layoffs, employers going out of business, and other no-fun things) and caused me a bit of burnout, the last decade was fun again. It is almost too quiet after so many decades of working in many different places, with many interesting people (and some terrible ones) and building all types of software.
It's not that I desire to be a programmer again. However, I would still enjoy high-level product design if I had to. I spent at least one-fourth of my career involved in product design. In my last job, I was usually the person who asked all the questions of the product team and often discovered everything they missed or didn't realize. Other programmers were happy to have someone else ask the pointy questions, and the product team was glad someone found issues before their executives did. Figuring out what to build, especially in my last employer's industry, would be fun, and I would have a massive advantage as I understand what it takes to build things. It's not a big priority, though.
Eating lunch with my co-workers daily was fun when we worked in the office. Working remotely was not an issue since my team stayed whole that year. I mostly met with people from several time zones away anyway, so the location didn't matter much. The last time I had lunch at the office was with the entire iOS and Android teams; later that evening, we were told to start working at home. I do miss that interactivity.
I still read about new technology every day, as I have since my first job in the early 80s, but it's less important now since it's not my job anymore. My focus as a programmer is mainly on the art code (Swift), sometimes updating my static site generator, and the occasional server reinstallation or updates. Beyond that, it's mostly habit. I could still do my job today if I had to, but it's not all that interesting, and from what I know about my last employer, there is little new to do—a problem I never had.
Forty years is a long time. What will there be forty years from now if you are starting today? Who knows. I spend a lot of time reading AI research and plan to write on that topic soon. Unlike many, I am not all that excited about today's AI. It does have uses, but I don't expect today's AI will be able to wholesale replace programmers in what is left of my lifetime. I know what I did over my career; it's far too complex for today's LLMs to deal with. Programmers will still be necessary for a long time, although their exact tasks might differ. Forty years is about half the time programming has existed, so I've seen and experienced a lot of change. I do not doubt that someday, programming like we do today will disappear, but not for a long time. However, can the programmers starting today deal with the ever-increasing pace of change and still be productive? Will today's AI be a big help or create a generation of marginal programmers unable to adapt to what comes next?
It's different when you can think about the present and contemplate the future, not have to keep working and being productive, and not become obsolete as everything changes around you. I don't envy any of you. Change was always a constant feature, even when I started, and it has become more so over time. You can never stop learning, stop adapting, or stop paying attention.
You can retire in the end!