loading...

Programming as a Job and a Hobby

jwoertink profile image Jeremy Woertink ・4 min read

It's really easy to get burned out. This isn't just a programming thing, it's a anything thing. You can get burnt out on eating at a restaurant, playing a game, watching a show, or working in any industry.

"Burn out" is just where you get bored, or tired of something to the point where a thing you once loved, you're not starting to resent and hate.

The start

When I first started programming, I was so overwhelmed by it all. It took some time, but once I started to get it, it was a blast. I was finally in a state where people were constantly coming up to me for help because I could create the product of their imagination.

I got so in to programming, that when I would open my browser, my first page would be Github. I would always excited to see what new PRs were submitted. What new commits fixed bugs I was having on different libraries. It was amazing to see how others attacked problems.

After working a full day building websites, I'd be sitting there watching TV, and I would be so bored. I would end up grabbing my laptop, and start writing some code.

Breaking the Mundane

Since I was doing web development during the day, and had nothing better to do during the night, I decided that programming completely different things during my free time would be a great way to change it up. I started working on some video games in both 2D and 3D. It was a completely different game (pun not intended). I was now writing code in ways I never needed to before. I was applying new concepts, and learning that I suck at math.

By working on something completely outside of what I normally work on, I was able to get out of the rut and tunnel vision I had from my normal day to day business. I did this for a while, but eventually that led me to another burn out. I sucked at making games, and was bored of making websites, so now was time to try mobile apps! A new language to write in, and some new experiences would be super helpful.

The downfall

Eventually I started to get burn out again. This time, however, not from the coding. This time it was more from the culture. There felt like a new shift in the culture, and I noticed a lot of devs started to fall in to the Grumpy dev category. All of a sudden I was being graded on how I wrote my code regardless of if it worked fine or not. It wasn't "hip", or using the latest cutting edge styles and design patterns. I was being mocked on open source work where I contributed to things in my free time for my own personal enjoyment. This wasn't just me.

I was in a spot now where going to programming meetups weren't fun because I couldn't really get along with other developers. My point of view on different subject matter (programming related or not) weren't in alignment with the rest. It was almost like a LIVE reddit comment thread. If you've never spent any amount of time on reddit reading through the comments, it's basically like an organism. At one point reddit loves Elon Musk, next minute it's an all out hate fest, and if you don't align with the reddit sentiment, you're downvoted in to oblivion. (Elon being an example, but this goes for tons of topics).

Recently I decided to start writing these blog posts because I felt like I may be at the end of my programming road. It doesn't really bring me as much joy as it once did, so I'd like to pass along my own personal experiences and knowledge before that happens. Even recently, I had written a blog post detailing some of the work I do for a particular client of mine, and how this work can be challenging. Waking up to people telling me my post is crap, and I'm admitting to money laundering and fraud is not a great way to start a work day. I didn't have the energy to sit there and fight with each individual person across 20 different mediums how nothing I'm doing is illegal, so I removed the post.

Seriously, at this point, running a taco truck sounds way more fun (and I've always wanted to do it).

Saving grace

So if you're burned out to this level, how do you get back? How do you find your way back in to the passion, and motivation to build and create?

  • Get a different job? Maybe working in a new environment will help that
  • Take a vacation! Sometimes that's just not possible, but get out of the house.
  • Try a new side project. This could help with some additional income, and a new challenge. Unless you're already backlogged with side work.
  • Try programming in a new OS environment. Always use Mac? Try Windows! No seriously, a different OS is going to teach you a lot of new things and break you out of your comfort zone.
  • Have a hobby outside of programming? Try mixing in some code. I'm a musician, so I do have some code related to music.
  • Korean Spa! For real though, if you haven't been to one, DO IT! They're amazing.
  • Meetup groups not programming related. Like a hiking group or something. They learn that you're a programmer, and then start asking you crazy questions about it. Though, you'll get the "I have the next billion dollar idea" speech every time.
  • Step away for a while. Just like _why or Ryan B. did, they took some time away, then came back under the radar.

Have an idea that works for you? Comment below to help others break out of the burn out.

Discussion

pic
Editor guide
Collapse
chrisunfiltered profile image
Chris Charles

"Burn out" is just where you get bored, or tired of something to the point where a thing you once loved, you're not [sic] starting to resent and hate.

And "depression" is just when you feel sad sometimes, right?

Burnout isn't about boredom, and it's not disliking your job. It's not "just" anything.

Everybody gets bored sometimes. Everybody gets less enjoyment out of things they once loved sometimes.

Burnout is something else entirely. It ends careers. Don't normalise it.

Collapse
jsn1nj4 profile image
JSn1nj4‍‍👨‍💻

... to the point where a thing you once loved, you're [now] starting to resent and hate.

I do agree that burnout isn't boredom. But people that do get bored of something and push themselves long enough (especially without any kind of break) could burn out, right?

Since he's speaking from experience, this is probably all he meant.

Collapse
jwoertink profile image
Jeremy Woertink Author

yes, thank you!

Going based on this definition

(of a person) in a state of physical or mental collapse caused by overwork or stress.
"she felt burned out, an empty shell"

When you've pushed passed the break of boredom. If I'm playing a video game and get bored of it, I stop playing then come back later. When I get burned out on a video game, I stop playing which could be 20 years before I pick it up again.

Collapse
joshcheek profile image
Josh Cheek

I hyper avoid commitment and then just code for short durations on things that sound fun or that let me expand my programming toolbox. I only have one open source program that I still maintain, and I mostly only fix bugs in open source now (vs adding features), unless the feature is obvious and not at odds with the existing code.

Here are examples of fun ones. They all took somewhere between a couple of hours and a couple of days, and I make a video, stick the code in a gist, and walk away from it. I got the takeaway through the video, the code is there for reference, the investment was minimal, there is zero expectation of maintenance.

Here's some examples that let me learn something new:

  • Drawing 2D images with Fourier Transforms: vimeo.com/267305699
  • Sandpiles (a visualization of a type of number, I get a lot of ideas like this from watching math videos like Numberphile) vimeo.com/243339375
  • Lissajous Curves (learned about this idea from people embedding animations inside of songs that you could see with an oscilloscope!) vimeo.com/248529729
  • L-Systems learned about these from what I originally thought was the most epic blog post ever, and later realized was the first chapter of "The Algorithmic Beauty of Plants", which I've since purchased. vimeo.com/248529775 (I've got quite a few L-Systems ones, actually, eg also a more artistic interpretation vimeo.com/192480996 and a tour of the interesting ones I found vimeo.com/192819855)
  • Going through a tutorial of Unreal Engine vimeo.com/235102921
  • Making a Sketchup extension: vimeo.com/222228677
  • I try to write this program in as many languages as I can (currently 26, I think) github.com/JoshCheek/language-samp...

Another no-commitment short-term fun challenge: Make a tweetable program (soooo much easier now, with 280 chars)

  • Prints a Ruby on the terminal twitter.com/josh_cheek/status/1020...
  • This one kinda reminds me of Mario Kart's Rainbow Road twitter.com/josh_cheek/status/1014...
  • Here's a bunch that are mostly about obfuscation. I got this idea from Yusuke Endoh's book "Esoteric, Obfuscated, Artistic Programming in Ruby", which I think you can only buy in Japan. But, he's my favourite programmer, so my friend who lives in Japan bought it for me and brought it back for Christmas!

There are also some good places to find small programming challenges:

  • I've been following Ali Spittel's hash tag #CodingPuzzle, which is basically the perfect format for me.
  • Project Euler is really great. I once had ~140, but I couldn't find the code anywhere, so I started over (here).

IDK, that's all I can think of at the moment. Basically play with lots of things, try to get a nice takeaway that you can look back on and enjoy, and avoid commitment like the plague!


Oh, thought of one more, but don't feel like looking them up: write mini/shitty versions of the libraries you use. Since I mostly do Ruby, I'd do things like writing RSpec, a rack webserver, a rack web framework, rake, etc. It's super super informative, lots of fun, and the same low effort / commitment as the stuff above

Collapse
busbyra profile image
Ryan Busby

I go through these phases a lot. Not for programming, but for other aspects of my life. I have always found stepping back, take a mental vacation, and slowly rasing myself back into whatever thing it is, to be the best way to continue enjoying the things I love in life.

Screw the newer generation coming up. To blast someone's coding style because it isn't hip to do it a certain way is ignorant. ... So is my first statement in this paragraph, but still! :)

Collapse
jhotterbeekx profile image
John Hotterbeekx

I can't say anything about the people around you, I don't know them besides from your description. But the one thing that comes across my mind after reading your article is that maybe it isn't programming itself where you should focus your energy, but in communication and your own experience. I've come across a decent amount of difficult people in my career and there are always a lot of different opinions when you put a group of developers together, but the key is on how you express and handle these differences. Don't just try and convince others about your point of view, but try and understand theirs. People that feel heard tend to listen to your point of view as well. And if they don't? That should be their loss, not yours. Keep pride in your work, keep your own quality bar, challenge yourself and keep growing as a person and as a professional. Could be that I'm totally off on this, because I think you really had it with your career at this moment and that makes it hard to give a single good advice, but what do you think about this?

Collapse
jwoertink profile image
Jeremy Woertink Author

I like your ideas, though, the post was more for others than myself. I tend to keep a pretty decent balance between my work and non-work. After re-reading my post, I guess I put in some emotion indicating that I'm in need of this advice. Probably because I was a bit angry when I wrote it originally lol. oops! Oh well, love the advice! Thanks for reading.

Collapse
jhotterbeekx profile image
John Hotterbeekx

I'm just glad you found your way. Does that mean you have figured a way to get back positive energy from programming? If so, how did you manage to do it?

I just read an interesting chapter about this yesterday. The book "Soft skills: The Software Developer's Life Manual" by John Sonmez talks about hitting a wall, which seems a lot like you did. He also talks about this being the point that most people give up an look else, which seems pretty normal behavior when you have burned out. What he suggests though is pushing through, because hitting this wall is almost inevitable and the other side of it will return you positive flow. Although I don't have any experience with the concept of pushing through the wall when burned out, I do find it interesting.

Collapse
dougmckechie profile image
Douglas McKechie

Over the years I would say my motivation for coding on personal projects has increasingly diminished because I do coding for a full time job. Apart from a couple of random times a year, its usually only public holidays where I work on my JavaScript libraries.

As I get older I think I get more enjoyment out of non-computer related hobbies such as playing my bass guitar, making model boats, and going to Toastmasters. I am completely OK with this :)

Collapse
jwoertink profile image
Jeremy Woertink Author

Nice! I got my 5 string yamaha that keeps me busy when not at my machine :)

Collapse
bernhardwebstudio profile image
Bernhard Webstudio

Hey, thanks for sharing, I wish you all the best finding your way!
I personally am yet in the beginning of the stated chronology where I love doing it as a job (part-time; full-time student) and as a hobby - what do I have to look out for, are there precautions you would recommend?

When switching from Mac to Windows, do also build the Windows PC by yourself, makes it way easier not to hate it in the beginning, as it is individually yours!

Collapse
jwoertink profile image
Jeremy Woertink Author

Best thing to look out for is when you start getting irritated at lots of different code. I now hate javascript because it's such a broken language; however, this may also be because I don't enjoy programming as much as I used to. This is a good sign that I may just be burned out.

I love the idea of building your own machine. Putting your spin on it definitely helps it to feel as your own. If only building custom laptops was easier!

Collapse
piotroxp profile image
Piotr Słupski

Hi Jeremy, read your post and couldn't agree more.

After binge coding on a startup project for several months, it felt like every time I opened emacs, my body got stung by a pack of wild bees.

There's also this great TED talk about screens. It seems there may be some other factors to this state.

"The newsfeed rolls on" effect has considerable implications to this as well. Here's to more stopping cues!

Thanks for this and cheers!

Collapse
jwoertink profile image
Jeremy Woertink Author

Hey! Thanks for the link. I'm gonna check out that video.

Collapse
rinsama77 profile image
rinzzzz

I'm currently at a stage where I'm struggling with learning because I'm so new to this. Hopefully, I can get to the point where I can connfortably do a project.

And thanks for your insight! Tbh sometimes some programmer community feels Alien to me. Probably cuz I used to only be in a designer community.