Tech Burnout - A Retrospective
These past weeks I've been genuinely excited about software again. It felt strange to be excited. And then it felt strange to feel strange - isn't being excited about this stuff normal for me?
And that's when it struck me - no, this used to be normal. In reality I hadn't been excited about anything technical for months.
Looking back, it was obvious to everyone but me that I was burned out.
Why it happened
Bad Self-Employment Strategy
Yes, I'm wearing slacks in this picture.
I went all in on agtech as my niche. To the extent that I moved to a mountain farm house in the middle of nowhere just to get more hands on.
I was one of the few coders on planet earth who had worked on multiple livestock identification and traceability solutions. Surely companies in this space would be tripping over themselves to work with a unicorn like me.
For technical professionals - whether you're delivering consulting or code - industry knowledge only counts for so much. In agtech my technical knowledge was what mattered, not the fact I knew what cattle dewormer smelled like. All I was doing was limiting my pool of clients.
The mountain cattle farm was a beautiful place, and I'm glad I could experience a slice of rural life. But agriculture was not the specialization for me.
Nothing makes me happier than simplicity, watertight abstractions, and fast performance. So as you can imagine the trenches of modern web development was not always a happy place for me.
I was so excited about the browser as a platform. ES6, typescript, service workers, and HTML5. We were increasingly able to lean on the platform, render stuff quickly, and delight our customers with snappy page transitions and easy to use UIs.
Except there's a problem with modern frontend architecture - there doesn't seem to be much of it. Your standard codebase has thousands of dependencies, renders an incomprehensible
<div> soup, and has all the business logic stuffed in the view layer. It's not pleasant to work on and often frustrating to use.
I love tech and I love talking about it. The people around me in real life don't, so it's off to the internet I go. And here's where I have to confess - bad interactions with other coders online were definitely having an effect on me.
My conclusion was that the industry was full of weirdos and I needed to plan my escape. But in reality, there's a number of reasons why someone might be unpleasant online:
- they enjoy being provocative
- they find it hard to speak up in real life and this is an outlet for them
- they have serious issues and are projecting it on you
- you're actually the one being a bit of a dick
- all of the above
Not everyone online is pleasant all the time. But most people are pretty decent and there's a lot of very smart people who have dropped some serious knowledge on public forums. Things I never would have heard of otherwise. So why focus on the negative? Disengage when interactions frustrate you, and engage when they energize you.
That having been said, pigs will fly before I get back on Twitter.
Why it got better
While I've done some solutions architecture stuff, my last bit of paid code was over 6 months ago. Time has given me a lot of perspective on where my strengths lie, what the market wants, and the kind of companies I want to work with.
Simpler, Faster and Better Tech
I'm going to give some shout outs to tech that has renewed my faith in modern software development. Not all of it is new, but most of it is new to me.
Caddy manages the impressive feat of being both easy to configure and incredibly configurable. It does everything it should out of the box, and nothing it shouldn't. A real breath of fresh air in the server space.
I can't believe how insanely fast esbuild is. It's also very easy to configure. Webpack feels like a bad dream to me at this point.
Deno is a marked improvement on Node.js in every way. Deleting my side projects
package-lock.jsonfiles - forever - was a liberating moment.
If Zig isn't The Chosen One to finally replace C, I don't know what is. I've tried C++, D, and Rust - Zig is the most productive and happy I have ever been dealing with pointers and memory.
Not a technology, but props to the Meiosis author for taking web app architecture seriously, and bringing tried and tested techniques to the frontend.
2022 is my Year of The Linux Desktop - specifically Void Linux. I'm running an openbox setup with gratuitous transparency and weird keyboard bindings. It's fast, comfortable and stable, and I love it.
I've been really enjoying streaming (twitch channel here). It's just me, my thoughts, my dev environment, and anyone on earth who wants to drop by and take a look. There's something very powerful and motivating about that.
You cannot keep doing the same things and expect different results. If I continue down the same road, I'll be burned out again and worse than before.
The sun is setting on me being a feature output monkey on soon to be legacy software. Been there, done that, and I know where it leads. It's time for something new and it's up to me to shape that and make it happen.
A new place for me in the industry
Web apps still struggle with slow performance, handling bad network conditions, and painful ground up re-writes that don't deliver?
More problems for me to solve.
I'm not 100% sure what services I am going to offer going forward. But there's clearly an intersection between what I'm good at, what I enjoy doing, and what companies have as a pain point. If I put in the work to validate my niche and then make what I offer crystal clear, I'll have good results.
Here's to the future.