A few years ago, a software engineer embarked on a new phase of his career at a company. He had prior experience building his own startup and doing freelance work. But that was a different world - one where his day often started just before noon.
Now, he faced the reality of a traditional job as a web developer. Unlike previous years, he would receive a regular paycheck and work alongside a team of other web developers. Most importantly, he would no longer have to build and fix things on his own.
The previous years had not been kind. Sleepless nights spent in the midst of multiple projects with multiple promises and singular resources.
At first he was excited. However, the technical work soon proved to be far less challenging than what he was accustomed to. It was simpler, more cosmetic in nature. He went from developing mobile apps and APIs to merely rearranging panels in WordPress. Though less thrilling, it did pay - enough. And most importantly he could go home on time - no more late, sleepless nights in front of the blue square box.
Gradually they came to see his technical capability. They tasked him with larger projects, ones with increasingly ambiguous requirements. He relished the work, not just because he could challenge himself technically but also because it demonstrated the trust they had in him.
It went from smaller brochure like marketing websites to larger, more demanding, Magento projects. He could finally work in something other than jQuery. He could finally write ‘real’ code.
The big projects came and went, each marked by vague outlines and meandering requirements. They progressively became more difficult. It wasn’t always the requirements that made it so but the solutions.
He could see beyond the simple requirements to what lay ahead. He wouldn’t just build the best e-commerce store, he would build one that would endure and demand praise. One that capture the attention of customers and rival agencies alike.
He had the freedom to make pivotal decisions, and he was the only one that could. Every shiny tool was at his disposal from the newest of javascript libraries to the latest engineering paradigms.
Recognized as a technical savant, he was involved in every significant technical discussion. He was not merely a competent software engineer; he was the technical lead - he who shall be consulted.
He once relished in knowing he would not be alone, cherished being part of a team. But gradually the team would disappear. Some left, some didn’t meet his expectations and some didn’t want to.
He was the one they all went to when something went wrong but it wasn’t because of his personality. He would often lambast others, detailing how they weren’t up to his level or how they lacked basic skills. He would often rewrite others code because it simply wasn’t good enough or up to his standard.
He took pride in his work and was given multiple promotions. Maybe it was because he was that good or maybe it was because he was the only one who knew where the bodies were buried.
There are hard projects and then there are harder still. The former may be vague or technically challenging. The latter is often the same but someone already built it. His job was to unearth the multiple bodies on top of which these project were built.
Bigger projects by way of bigger promises and no one smart enough to assist him or know one willing to.
He became steadily more irritable. The predictable workdays were replaced by early morning Uber rides home. Sometimes he would miss meetings because he worked so late. They didn’t appreciate it but they didn’t do anything about it.
He was too important.
He was too difficult to confront.
They didn’t need to, for he decided to leave in the end, of his own accord. The work got to him, and he could feel himself slipping.
He wasn’t as quick.
He wasn’t as clever.
He wasn’t who he wanted to be.
This is usually the point in the story where I reveal that the person was me. I took some creative liberties because it wasn’t just me, and it wasn’t just that one time.
The fault wasn’t entirely my own. We aren’t all paragons of humility and intelligence and we should be told as much. Management steered us wrong, and like a self driving car that hasn’t worked out the kinks, we veered further off course.
There are moments in my career when I look back on that time. My memory isn’t perfect, so the details are fuzzy, but the feelings remain vivid. I remember it better as I see it replayed.
An epiphany is sudden but these aren’t. They emerged gradually and often I need reminders. In some of my recent roles I’ve felt the pangs of familiarity. Sometimes it’s not because I see it in myself but because I see it in others.
I don’t know the official words to describe this kind of me. Some say it’s the “10x engineer”. Some refer to it as the “unicorn”.
I think there’s a better word: TURD (The Uncooperative Rude Developer)
Don’t be a Turd.
And don’t let them hang around.