The Beige Loop

I’m bored.

My career has followed a standard software engineer script: corporate jobs, good money, predictable results. I was rarely thrilled, but it worked. Then I moved into AppSec. Same story, different label.

Over 13 years in tech, I’ve switched jobs eight times–about every 1.6 years. I began in insurance, deep in COBOL, JCL, and VB.NET. From there I bounced through a construction company and an aviation company, where we stitched together C# and JavaScript (pre-React days). A local MSP/web agency came next. Then e-commerce “full-stack” work–C# again, plus React, Vue.js, Elastic, and even a little UniBasic. There was a wrong turn at a financial services company. Then I moved into application security at a commercial bank, where I was split between PowerShell, C#, and bland security audits. Then to a certificate authority where I built entire solutions in Python, and then eventually back in e-commerce, but in AppSec this time, for an athletic fashion company.

One could look at this as a series of false starts, or…it’s a series of jumps, creating my own education, by exposing myself to diverse companies, team cultures, and technologies. Whichever it was; I still haven’t been able to escape boredom.

I feel as if I’ve seen a lot and also nothing at all. I’m bored. Of corporate jargon, of promises made in innovation and efficiency. Only to find fiduciary responsibility rises above actual solutions. Oh, and yes the mundane office politics. I’ve met some truly great people along the way, but man…every company feels like a carbon copy.

It’s a microcosm of Fight Club meets Office Space. I am Peter’s radical honesty.

Something is off…

Most companies need a different version of the same problem solved. Data is messy, it needs organizing, and made available to customers. Even for security it’s not all that different: digital products deliver profit, this brings about risk, risk needs mitigating, all to protect profits. Not once is a company motivated to care about engineering proficiency beyond that which provides or protects a profit. (At least not financially motivated.)

This isn’t so abnormal though, is it? Companies grow out of need and profit margin. It’s not personal. And so, for the software engineer, companies need productive software that delivers said profit. Here is where my chosen career starts to feel off for me. A company’s motivation is to make money; my motivation is to build systems. Our motivations are misaligned.

Let me also lay out, there is nothing wrong with this difference in motivations. People want different things and we can all get along. However, hyper-focusing on this difference as a software engineer leads to missed expectations, then to frustration, then to boredom as there is no pay off. At least, not the pay off you want. For me, I’m tired of being bored.

Here was my second problem: I needed to stop thinking about computer science and software engineering as a field, and start thinking of it as a skill set. It is a field for a select few. As much as I may fantasize, my work isn’t marked by flipping bits, writing research papers, looking for mathematical manipulations in algorithms, or re-writing kernels on new hardware architectures. I may want it to be though. So…

Adapt. Don’t wait for motivations to change.

When the clock starts ticking

There’s an old article by rands, written over a decade ago, called “Bored People Quit”. I think of it often. It’s written for managers, but I find it gives a lot of insight to this typo of thing. A guide to spotting boredom before it clarifies into turnover. For a while I’ve also felt it reads like mirror for anyone on the edge of career burnout.

Rands describes boredom like a clock:

“Every second that someone on my team is bored, a second passes on this clock. After some aggregated amount of seconds that varies for every person, they look at the time, throw up their arms, and quit.”

He’s right. The longer you’re bored without an answer, the louder that clock ticks. I’ve felt it. And each time, I’ve found there are only two productive options for my time at a job:

Create a plan to get back on board with the mission.

Create a plan to move on.

I suppose there is a third option, inaction. Although, it leads to resentment. It poisons both you and your job. …and also places you back at either option 1 or 2.

The Mirror Test

Rands outlines three questions for managers to detect boredom. We can flip them around to use as a self-assessment. I like to think of it as a “mirror test”: Do I look like a reflection of what Rands is describing?

  1. Any noticeable change in your daily routine? Are you waking up later? Are you struggling to go to bed? Losing interest in your side projects, hobbies, or even lunch breaks?

  2. Ask yourself directly: Are you bored? Don’t sugarcoat it. Own it. If that question makes you uncomfortable, lean into it.

  3. You find yourself saying it. You should listen. Over the last six months, have you thought, “Man, I wish there was more?” That’s just a poetic way of saying, “I’m bored.”

If any of your answers lean toward a “yes”, you’re probably already on the clock.

Finding the Disconnect

My first major clue for all of this was in my first tech job. The regional insurance firm. I started at this company with a college internship, and after graduation I rolled over to full-time. Honestly, it felt like a great deal and I was grateful to have a job walking out of college.

A few months into this new job, my skip level manager called me to her office. Of course, I was nervous; this was unexpected. So, I walk in her office, she greets me and tells me she has good news. They were pleased with my work, happy I had signed on, and wanted to give me a raise–my pay was increasing from $45,000/year to $45,600/year!

I was elated! My hard work was paying off! I told her thank you, we had a short conversation, and I was off. Back to my desk.

15 seconds after closing her office door, the excitement left–is this it? I get to work at 7am, walk beige hallways, greet coworkers, drink coffee, write code, more coffee, lunch, see coworkers, code…rinse & repeat? Before I’m back at my desk the accomplishment is gone. What else is there? I felt like a crazy person.

Being a Crazy Person

There is another article I’ve read more recently that helped me understand what to do next. It’s called, “Face it: you’re a crazy person” by Adam Mastroianni. Adam introduces a way to unpack ideas through a small set of critiquing questions.

For instance, you say, “I want to run a coffee shop.”

Okay, where would you get your coffee beans? …how much does a commercial-grade espresso machine cost? …which kind of coffee mug is the best?

If you’re unsure on the beans, don’t have an estimate on the espresso machine, or haven’t considered the details of your patrons’ experience in this hypothetical cafe–then do you want to run a coffee shop or do you want escapism in a comfortable form? The point isn’t to smother your dreams in pessimism, but to frame it in realistic dimensions. This helps you reach the true desired end–finding something you actually want to do.

It Started Early

It reminds me of a fleeting moment, of a forgetful day, when I was in high school. In my senior year, I was in a “Computer IT” class. It was mostly a way for the school to get a little bit of free IT labor. The teacher was the former woodshop teacher; he was a cool, down-to-earth guy. One particular day with little to do, Mr. Weaver was asking a group of us about vocations, aspirations, what we wanted to do. I wanted to be a programmer.

Weaver: Serious? You want to sit and code all day? Me: Yes’sir. Weaver: Do you know how much time you’re going to spend just staring at a screen, writing lines of code, and debugging little details? You’re sure?? Me: Yep! Weaver: Well, okay…that’d drive me crazy!

This is Adam’s point in the article–when you've unpacked a job, the reality of it will seem inviting to you but for everyone else it will look as if “only a crazy person should do it.” Lean into the crazy. Everyone has their thing.

What am I going to do about it?

Generally speaking, I really enjoy tools and building things. You might even say I enjoy the craft. The rest of the business…not so much. I have very little patience for the corporate orchestrational garbage that follows in much of the tech industry. In fact, corporate jobs seem to carry enough baggage that calling anything from that world efficient, innovative, or in demand is an effort in mentally eradicating the phrase “poetic irony” from my conscience, rather than anything I’d like to associate with a career. In fact, the only disruption much of the tech industry seems to focus on is our collective psyche.

I don’t want to be in Application Security anymore. So, what is it then? If I want the craft, but not the corporate stress? I want to start a business.

Unpacking

It’s easy to list off general annoyances as reasons to leave corporate (drab offices and culture, misaligned motivations, and constant office politics) but that is just escapism. I need something to move towards rather than focus on what I’m leaving.

I want my tools, and I want to be challenged. I see vanishingly few opportunities to keep growing my technical skills without being pushed away from the keyboard, into management, and then told to wear it as an achievement. If my software engineering background is a skillset then I’m going to use it to make my daily work life better. I want to start a business not because I’m escaping corporate work for greener pastures; just different pastures.

So, here’s what I’m moving towards: I want to build software that solves problems in life. These can be SaaS apps at first, things that solve little problems in daily life. Eventually I want to move to larger problems, like creating ad-hoc networks for mobile communications after natural disasters. YouTube and social media is a natural way to market this work. I would like to also back this up with digital products to teach and share the systems that make all of this work.

It’s not a perfect plan. In fact, the first step in this is managing my current job such that I can start building this on the side. There is also equipment to think about. Monetization strategies. Personal schedules–I’ll have to be better at time management than I ever have before. I feel like I should call out too, this isn’t an effort to create a business to avoid people, or to lean on hard coding skills in search of some brutish meritocracy. At the core of every technology problem is a “people problem”. Coding alone won’t fix things. But the old corporate contract simply wasn’t working anymore.

I don’t have any promises this will work.

But the clock is ticking.