DEV Community

Erik Dietrich
Erik Dietrich

Posted on • Originally published at

Turning Tech Hobbies into Side Hustle

I just dug up a tweet I made about 6 years ago.  I did this because I remembered saying it, and because it perfectly illustrates a distinction I'm going to make today.

Specifically, I'll talk about the distinction between technical hobbies and side hustle.  And, I'll then advocate for side hustle.  But first, the tweet.

Quick and to the point.

The year was 2013, and, during the course of yet another oppressive Chicago winter, I wanted to learn F#.  At the time, I ran an IT department as the CIO for a company, and I had come to miss writing code.  So, I took to Twitter and threatened to teach myself yet another programming language.

I'm embarrassed about this tweet, in a sense.

You might think the fact that I never wound up learning F# embarrasses me.  But no, I'll get over that.

Rather, the undirected, goalless nature of the sentiment embarrasses me.  It does in the context of career, anyway.

Programming Hobbies

Before I go any further, I want to talk about the idea of hobbies and career.

At times, I've enjoyed hobbies, such as guitar playing, cooking, and home improvement, among others.  Given that I've historically earned my living in software development, nobody would confuse these hobbies with career plays.

The line blurs a bit with certain other considerations, however.

For instance, I could have regarded writing as a hobby for a good bit of my career.  These days, however, people explicitly pay me to write in various capacities.  This kind of knocks writing out of the realm of pure hobby for me.  And then there's time you spend outside of work doing what you do for a living.

Let's say, going home to learn F#.

It doesn't pay your bills, but you can file it under the heading of "sharpening the saw."  Sure, my job may not call for F#, but it makes me a better programmer (and, a better CIO, I guess).  So it counts as career-something.


Actually, I would now argue that no, it does not.

Had I gone home to learn F#, for the sake of learning F#, I would have engaged in a hobby rather than a career play.  You can't just blindly count something tangentially related to stuff you do for a wage as career improvement.

And yet, we do that.  A lot.

Identifying Our Real Motivations

Whether hobby or pseudo-career hobby, a complex panoply of factors motivate our actions.  Even if we think otherwise, we don't generally pursue something for a single, simple reason.

I didn't sit down one day and think, "learning F# will offer me an opportunity to earn exactly $4,000 extra next year."  Instead, some mixture of restlessness, boredom, interest, nostalgia, and who knows what else combined to give me an idea.

But when I look back on it, I can pick out a particular vanity motivation.  If I'm honest, I know that part of me said:

"I want to be the sort of person that knows F#.  I want to be the sort of person that does functional programming for fun."

If you're honest, I bet you can recall instances of the same sort of thinking.

We pursue additional programming skill and knowledge for many reasons.  These include enjoyment, satisfaction in meeting challenges, and a general desire to "sharpen the saw."

But we also do it, at least on some level, to establish our cred and impress our peers.  I have no problem with any of those motivations, but not all yield fruit equally.

Impressing Peers Instead of Buyers

Many years ago now, when I first setup my site, I showed it to my dad, a CFO at the time.  I told him that I planned to moonlight doing freelance work, and that I would blog about programming topics.

He furrowed his brow and pointed out that the people who would hire me to do programming probably didn't care to read about programming topics.  He suggested I write to an audience of prospective buyers of programming services.

I assured him that my line of work differed from what he was used to.  After all, the hotshot, uber-successful programmers that I admired most blogged, and look at them.

He shrugged.

Looking back now, I tap into the same embarrassment that I mentioned at the start of the post.  My goodness, but he was right.

We in the programming world tend to revere those that give the best conference talks and that rack up massive stack overflow scores.  But in the years since, I've been surprised to learn that prodigious twitter followings, booked speaking schedules, and tech celebrity do not necessarily translate into more money or even more opportunity.

Sometimes they do.  But sometimes people with all of those things end up scrawling merge sort on a whiteboard during GiganTech's interview process, same as anyone else.

The difference?

Those that translate tech celebrity into opportunity do so by establishing their audience as buyers.  Those that don't parlay it into opportunity settle for merely impressing their audience.

Status Versus Opportunity

If you want to understand what I mean in more detail, take a look at K. Scott Allen.  He has as much tech celebrity as anyone else, but he also has, as I understand it, a great life.  An absolute Pluralsight legend, he has created some of the most popular courses of all time and netted earnings well into the 7 figures.


His tech celebrity means opportunity because he speaks not just to fellow programmers, but to buyers.  He impresses his customers.

Now, cross reference that against someone with only the status.  Let's say that I had pursued my F# fancy with gusto, pouring in nights and weekends of study.

Eventually, I became a preeminent expert and F# MVP, which earned me tons of Stack Overflow points and invitations to speak at conferences.  I engaged the community in just this fashion during my spare time... but I continued to work the same job and felt, perhaps, mystified that my status did not translate to more than odds and ends opportunities.

Perhaps I got the occasional speaking fee or the odd request to teach a team of developers a bit of F#.  Nothing to sneeze at, but not exactly a path to early retirement.

So to get to the heart of the matter, I find myself retroactively embarrassed by my lack of business sense.

I wanted to impress peers instead of buyers.  But there's no profit in impressing your peers.

The Good News: You Can Pursue Your Craft in Directed Fashion

Lately, I've been listening off and on to a book called, "Book Yourself Solid."  There's some good advice in this book, though it's not really my style, exactly.  (Part of it I might chalk up to my mounting business self-help book fatigue.)

But he does articulate one thing that I find particularly invaluable.  He calls it the "who and do what" statement.

He's talking about people establishing themselves as business owners or freelancers.  But I'd expand this to anyone looking to adopt the efficiencer mindset (described in Developer Hegemony) or improve their careers.

Always make sure you have at the tip of your tongue the statement, "I help {who} {do what}" to explain your work.

The aforementioned K Scott Allen would say, "I help programmers learn the fundamentals of web development."  If you work as a DBA, you might say, "I help software development teams not have to worry about the inner details of databases."  You get the idea.

When I set out to say, "now I'll start learning F#," I had no "who and do what" statement, except the navel-gazing, "I'm going to help myself learn F#."

Don't repeat my mistake.

You can still learn new tech and you can still have a good time doing so.  But first, find a way to fit it into a "who and do what" statement.

  • Why do you need this language?
  • Whose itch can you scratch with this newfound skill?

It could be as simple as, "I'm going to learn F# so that I can immediately turn around and write/sell the E-Book, 'How to F# by Someone That Just Learned It.'"

So next time you want to learn something, stop.

First, make it part of a prospective side hustle of some kind by figuring out a "who and do what."  And no cheating by making the "who" you.

This will eliminate the natural tendency to chalk it up to "saw sharpening" that will theoretically someday make you more hireable by adding a 32nd technology to your resume's alphabet soup.

You want to learn something new?  Great!

Just first find a prospective buyer that can make that learning pay for itself.

Top comments (2)

ssimontis profile image
Scott Simontis

I really liked this article because I have done the same thing! I was more concerned with you knowing that I knew F# than actually using F# because I wanted to be seen as a functional programmer for whatever reason.

I just learn stuff that is fun. Sometimes my job necessitates learning new tech and I have no choice. But I can get very anxious thinking about what is the best way to use my study time to the point where I don't do anything because I caused an anxiety attack by going from picking a topic of focus to an existential crisis revolving around my programming skills.

The random stuff I have learned has helped me make relationships between things I already know. I find that is the best way to retain knowledge. By studying a wide range of subjects, I have many metaphors I can come back to.

daedtech profile image
Erik Dietrich

I can definitely relate, both to the anxiety of "what to pick" and settling into learning things that are fun. One thing I try never to lose site of, even after decades of programming, is that the main, original appeal was "I can build a thing that didn't exist before," and that never stops being fun, whether that thing is some cool home automation, an open source project, or just a little script to automate something tedious.