DEV Community

Programming as a Job and a Hobby

Jeremy Woertink on August 18, 2018

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, pl...
Collapse
 
chrisunfiltered profile image
Chris Charles • Edited

"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
Elliot Derhay • Edited

... 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

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 • Edited

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

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

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

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

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

Collapse
 
rinsama77 profile image
imrinzzzz

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.