I have been a software developer for 40 years. I started out as a VAX Macro programmer in 1977. Software development has been my life’s work, and it has brought me admiration from my peers. I have won numerous programming awards, and have written several books about Java multithreading and concurrency. Over the years, other software professionals have referred to me as a 10x programmer, a term given to a programmer that is 10 times more productive than the average programmer.
Sadly, my software development skills have diminished considerably over the past 12 months. My mastery over Java, a software language I have mastered for the past 20 years, is no more. Until last year, I was the “go-to Java guy” in our company who solved the most complex programming problems. Now, I find myself referring to the Java reference guide on an hourly basis to solve even the simplest of problems.
My boss, bless his heart, has been supportive. He knows that I’m struggling and that I can’t code like I used to.
One day, he approached me. “Stephen, come into my office. I need to speak with you.”
“Sure,” I responded.
“You’ve missed almost every deadline this year. What’s going on?” he asked.
With my head down, I replied, “I’m embarrassed to admit this, but I’m forgetting how to write code. Sometimes, I can’t even remember the syntax for a simple If Statement. I rely on Stack Overflow at least a dozen times per day to help me write code.”
My boss took a deep breath, and glanced at the last programming book that I wrote a few years ago, which happened to be pinned opened by a stapler on his messy desk. “I’m sorry to hear this. I really am. You used to be our best software developer, but I need to be honest with you. If you continue to miss deadlines, we may have to let you go. Our company is too small to keep underperformers,” he said.
“I understand,” I said, fighting back tears.
I walked back to my desk feeling ashamed and embarrassed. I couldn’t believe my career was unraveling like this. As my boss indicated, I was the company’s best programmer at one time, dammit!
Distracted by my own self-pity, I bumped into Cody; an annoying, millennial software developer. I went from feeling sorry for myself to being pissed off in a hot second. Damn, I can’t stand millennials. They are all spoiled little shits, if you ask me. Every single one of them! They are good for nothing; participation trophy loving, entitled brats. And Cody is their king!
“Cody, watch where you’re going!” I yelled.
“Sorry, Stephen. Didn’t see you,” Cody responded. After a brief pause, he asked, “Hey, are you okay? You don’t look so good.”
“Yes, Cody. Everything is fine. Not having a great day, that’s all.”
“Maybe I can help?” Cody replied.
“Thanks for your concern, Cody. I’m fine, really. I need to get back to work,” I responded in an aggravated tone.
Finally back at my desk, I slouched into my chair. I just stared at my computer screen. Thirty minutes had gone by before I finally conjured up enough motivation to write code. Then, without pressing any of the keys my keyboard, the craziest thing happened — the cursor on my computer screen began typing. Elegantly written Java code began flowing into my IntelliJ IDE. I inspected the software code more closely. It was exactly the code I needed to finish my current task. I updated my boss on my progress and told him I had completed my deliverable.
“Wow! I didn’t expect you to fix that bug for another few days,” he said.
Over the next three months, each of my software projects were completed in this manner. With me at my desk, watching my computer gracefully write software by itself. Of course, I told absolutely nobody about this.
On one Friday afternoon, my boss called me into his office.
“Stephen, you have really turned things around recently. Your work is impeccable. You have completed more programming tasks than anyone else in our department!” he said, grinning. “I’m promoting you to Chief Software Architect with a 14 percent raise!”
My heart started to race. My mind began to spin. My smile beamed ear to ear.
“That’s not all. I want you to take next week off as a little reward so you can relax a little. You deserve it,” my bossed cheerfully added. I went home immediately after the meeting and told my wife the wonderful news.
After a week-long vacation, I went back to work. I learned the company made a few personnel changes while I was away. For starters, Cody was fired. Apparently, he was underperforming. He had recently missed many deadlines. I felt bad for the kid, but let’s face it — software programming isn’t for everyone.
After a couple of meetings, it was time to start working on my first programming task since my vacation. I sat in my chair, but this time my computer just stared back at me. No elegant Java code miraculously appeared on my computer screen like before. “Come on, write code, you dumb computer!” I said. The computer didn’t respond.
For the next two days, I sat in front of my computer, and made zero progress on my deliverables.
My boss then called me into his office.
“Is everything okay?” he asked. “You haven’t finished the task I assigned to you a couple of days ago.”
“Everything is fine. Just been responding to a ton of emails that accumulated while I was away last week,” I nervously responded.
My boss noticed my nervousness, and he played along, “Sure, that’s understandable.”
I excused myself, and left his office.
I felt like throwing up as I plodded back to my desk. I was disgusted with myself. Disgusted that I happily accepted full credit for work I didn’t recently produce. Disgusted that I couldn’t earnestly solve software problems any longer.
A few minutes later, slouched in my chair, on the verge of a nervous breakdown, I received an email from Cody.
I hope you had a great vacation. As you probably heard by now, I got fired. Anyway, would you provide a reference for me regarding a new job opportunity?
Thanks in advance,
— — — — — — — — — —
Cute. Cody, the king of the pain in the ass millennials, requested a reference from me. I mulled his request over, but Cody was only an average software developer at best. I responded to Cody immediately.
Sorry to hear about your recent departure. Unfortunately, I’m not comfortable with providing you a recommendation at this time.
Best of luck,
— — — — — — — — — —
A couple minutes later, I received another email from Cody. “Damn, he is so annoying. Can’t he take a hint?”, I muttered to myself.
I felt no obligation to respond to his second email, and decided I would reply to his email before I headed home that evening.
Later that same day, I read Cody’s follow-up email. An email I would never forget.
I’m disappointed that you declined my reference request. It’s really disappointing since I’m the reason you got promoted. You see, I overheard the conversation you had with your boss regarding your inability to complete your software development tasks. Your situation reminded me of my grandfather’s recent decline, who could no longer perform surgeries as an aging surgeon. When I heard you were struggling with your projects, I knew I had to do something. Sometime ago, while you were away from your desk, I installed a software program to access your computer remotely. I’m the one who has been secretly writing your code for you over the past three months.