DEV Community

Cover image for Should you write code all the time, even in your free time?
Arika O
Arika O

Posted on • Updated on

Should you write code all the time, even in your free time?

I hear senior developers saying I shouldn't do it because I will get burned out, I hear not so experienced ones saying we should use every moment we have to write another line of code. Some even look down on you and think you're not passionate/ serious enough about your job, just because you don't breath code 24/7.

While I do do work related things after clocking out (and I'm not opposed to that, since I don't have a great deal of experience and there are many things to learn), I can't help thinking about that people working in other fields are not really expected to take their work home with them - I don't see my friend who's a nurse going around and giving shots to her neighbors, after her working hours are done.

What's you opinion on this? Is the amount of time spent coding outside office hours an indicator of how good/ passionate of a developer you are?

Photo soource: Kevin Ku on Pexels

Latest comments (86)

Collapse
 
johngidoe profile image
Piotr

I think we shouldn't but we can for example read some articles or expand knowledge in other way. Writing a code is not the most important thing of coding :) Example with the nurse is not really a good one. Nurses often have to learn after their working hours or read news in their professional field to be up to date.
Time just for yourself is as important as time spend on learning or working. Good rest means good efficiency.
But that's just my opinion :)

Collapse
 
lordsarcastic profile image
Lord_Sarcastic

Personally, I love coding and I find it as both a hobby and as a job. When I'm bored, I long for my PC and the editor and the pretty Linux terminal.
For others they'd probably view it as a job, something do be done with all seriousness without adding a bit of fun in it.

Collapse
 
shaunagordon profile image
Shauna Gordon

I think the biggest misconception behind the idea of "you should code outside of work hours, too!" is that the only way you can grow as a software developer is by coding.

That couldn't be further from the truth.

Coding is only one (actually rather small) aspect of being a software developer. The rest is planning, architecture, automation, and all the other things that go into building software besides the code itself. And you know what? You can learn a great deal of those skills doing just about everything else in the world besides coding - and you'll be better balanced (and therefore less likely to burn out) doing other things besides code all the time.

Consider this:

I have a garden, but I'm as "productively lazy" about gardening as I am about tech. That is, I will front-load my time to automate things and build a system that works for me, so I'm not stuck doing the mundane and tedious maintenance stuff all the time that, let's face it, I won't do. I despise doing things over and over when it can be automated.

So what do I do with my garden? I designed and built my garden in such a way that a great many things are "automated" -- and no, I'm not talking about Arduino-powered weeders or fancy watering systems with moisture detection or whatever. Hell, I don't even have soaker hoses.

What I do have, though, are:

A thick layer of mulch on top of a layer of cardboard, which will keep weeds at bay while desired plants establish and help condition the soil as this layer decays.

Perennials that are (ideally) native or naturalized to my area, so they thrive in the climate as it is and once established will grow and produce more of what they produce than I could ever use on my own, with very little input from me.

A layer of dense, low-growing plants that act as living mulch (water retention) and help crowd out the more aggressive weeds.

A layer of taller herbs that also crowd out more aggressive weeds.

Bushes that provide the "foundation" of each area and create shade to allow for other plants that don't do well in an "ultra sun" environment ("full sun" is considered 6 hours; my front yard gets as much as 12-15 hours in the peak of summer), which increases biodiversity and thus, the health of the soil and ecosystem.

Passive ways to handle water, such as the terra cotta pot buried in one of my shade gardens that tends to flood when it rains, but dries way out during the summer, making it difficult to get the right plants (most like only one or the other, not both). The porous pot catches some of the excess water and holds on to it for a while, then slowly releases it as the surrounding earth dries out, keeping the soil moist for longer, without flooding it. The system as a whole in this garden bed also helps stop erosion - a problem that spot had for several years, due to lack of plants.

What does all that have to do with software development? It exercises "systems thinking" -- thinking about a thing as a holistic system of interdependent and interrelated parts. I could have gone the typical suburban gardener route and planted a bunch of random plants or whatever, not really paying attention to what I got and put where, or whether it'd really work for the climate. Or I could have planted annuals (often things like the typical pansies and begonias and marigolds and petunias) that look really pretty, but generally need replaced throughout the summer and of course need replanted or seeded every year. But both of those cases require a lot of ongoing input on my part, whereas if I apply systems thinking and think about the whole thing, I can find ways to create a fantastic pollinator habitat and wonderful garden, without much of any ongoing work.

It also exercises solving problems without just jumping to some kind of tech. Sure the tech can probably solve the problem at hand, but is it the only way? Probably not. I can probably achieve the same (or even better) results by thinking about the problem a little differently.

Then there was the time I learned how to think differently about failure while I was weight lifting...

That's not say that you shouldn't code outside of work ever. If you're drawn to coding such that you're even contemplating this question, then odds are good you're a maker at heart. You're very likely driven to create something pretty much all of the time. That's perfectly fine and should be embraced (because that's really the healthiest thing for a maker), but it doesn't always have to be code (and probably shouldn't always be code).

Make code if you're enjoying doing so, but make other stuff, too, and balance it out with "consuming" (for lack of a better word). I don't mean "spend just as much time watching TV" or whatever, but rather, don't forget to spend time just taking things in and not creating. It could include watching TV or playing video games. Just like how you can't just go without sleep or how you need rest days in a workout routine, you need periods of rest from creating, too. Those periods of rest help you solve the problems you're tackling and give you some distance to allow other parts of your brain to chew on the problem or idea for a while. It's why our "ah ha!" moments often come in places like the shower.

Collapse
 
chustedde profile image
chustedde

I have occasionally worked on personal programming projects outside of work, but like others have said, only if it's something I find fun or engaging.

I think a good question to ask is why are so many employers not providing time for their employees' professional development? I'm fortunate enough to work for an employer who encourages some professional development on the clock, and I think this should be the norm, even though I know it's sadly pretty far from the current state of things.

Collapse
 
heatherw profile image
Heather Williams

As many have already said it is different for different people. Some people I know take part in coding challenges outside work while others do not. I think passion has nothing to do with the number of hours spent doing something but rather with how you talk about what you do and the amount of care you put into your work. I personally put a lot of care and attention into my work and will happily talk for hours about code and developer stuff but I have many other interests in life that I am also passionate about.

Collapse
 
emasuriano profile image
Ema Suriano

Having always some side project going on in the background totally changed my career, you don't realize but if you work at least 1 hour per day on something that it's not your job related then come up with amazing projects. I learned a lot, sometimes more than I do at work and about technologies that maybe I wouldn't use if I wasn't aware of them before. All those side projects I mentioned before ended up as open-source projects which I'm quite happy about!

Collapse
 
nicolasjengler profile image
Nicolás J. Engler

I just recently talked about this in a podcast episode. Current dev culture tends to gravitate towards this "code is life" dogma, but the truth is it all depends on your seniority, your priorities and ambitions, your social circle, your current job, among a thousand of other things. The "Code is life" mantra is rather dangerous especially for junior developers who are getting into the industry and will think that's the standard for all devs, eventually leading a big part to a major burnout.

I was coding non-stop from 2013 to 2017 and I got burnt out so badly that I didn't want to know of anything tech-related for an entire year. After some time I was able to find other hobbies and was able to balance my work-life balance a bit better which led me to feel enthusiastic about front-end development again. Heck, I was even tinkering with new libraries and frameworks just for fun!

My personal opinion is that if you have the time, the discipline and/or the need to code outside of work, do it. Are you passionate enough that you crave to type lines of code after work hours? Then do it. But if you're doing it just because of culture/peer pressure, keep in mind you can always learn or be up-to-date by taking 30 minutes or 1 hour a day.

Knowing that your family/partner is a priority won't make you a crappy developer. Satisfying your need to explore a new activity outside of work, or your need to just relax and watch some crappy Netflix show, won't make you a crappy developer. You're already putting 8 hours a day, 5 days a week, into improving your craft, that's more than enough.

Collapse
 
keltroth profile image
Django Janny

I think it's more a matter of balance. Coding "non-stop" can be a bad habit, coding only at work can be a bit unsastifying... I like to try a lot of stuff my work does not allow me to do... New frameworks, new languages, new plateforms, or old ones I've never tried... Other kind of development : I'm a web developer and I like that, but I'd also like to create games, electronic stuff with arduino or phone applications etc.

Having other hobbies is really important, of course ! But if you like coding, why not having this as a hobby ?

Note : I'm responding without having read all the answers, I'm confident I'm not the only one who's thinking like that ;)

Collapse
 
mistwire profile image
Chris Williams ☁️🐍

"I don't see my friend who's a nurse going around and giving shots to her neighbors, after her working hours are done."
No.. but you DO see her studying her butt of constantly to keep up with medical procedures, new implementations, and newly discovered medications/side effects. I know because I live with a nurse :-)
If you aren't learning at your day job, you need to keep studying outside of working hours to keep up - that's the nature of this business. Don't burn out, but do a little bit to keep learning new things ;-)

Collapse
 
anggachelsea profile image
Angga Lesmana

of course, take your free time to be important

Collapse
 
salyadav profile image
Saloni Yadav • Edited

I was in a similar conundrum a couple of years back. A lot of my co-developers would spend their personal time coding, maintaining a good github profile, working on new tech that they were not using as a professional, and so on. While I did not deem it necessary- after all that's work-life balance. I used to go back home to pursue my hobbies, recreational stuff, personality improvement, yada yada yada. But three years into this industry, I realise how far left behind I was. While I was enjoying life out of work, the software industry with it's sleepless, passionate engineers boomed way ahead. That's when I realised this- If I have to sustain here, I have to keep coding. If you want to sustain and progress in your career as an IT professional( (specially when you are a junior), you have to sweat it out. Sure nurses don't go around giving shots to their neighbours, but again that's a different industry altogether. You sleep longer here, and there is a new JavaScript framework causing rage amidst nerds.

So my suggestion is, although you don't have to give every breathe of your life sitting and coding, do take some extra efforts out of office to develop new skills or dig deeper into what you are already working on. Allot, say a couple of hours each day for it and then go back to chilling or whatever else that is you like.

Collapse
 
arikaturika profile image
Arika O

Thank you for your input. I do agree that if you want to progress you need to sacrifice some of your free time, but I don't think a few extra hours of code daily, after you've been working for another 8-9 is a realistic goal. I do feel your pain, take a break from coding for a few months and when you're back, there are at least two "must know" frameworks :)).

Collapse
 
jcopella profile image
John Copella

No.

Collapse
 
fderudder profile image
Florian D.

I believe that you touched a number of interesting points here, from external perspective (potential employers, teammates, etc) to internal one (oneself).

I also find very interesting the fact that you characterized Senior as against doing so, and Juniors as in favour. I consider myself senior, or close to (~10 years in gamedev, ~2-3 in other fields) and I'll strongly lean on the "don't, because burn out". Been there, done that; I'll come back on that later.
I was also a junior who was coding his passion projects at night and weekends, while working in games. I enjoyed it, and I learned from that. So there is some positive in there.

But ultimately, it all boils down to the cost behind all this. Because there is nothing free, and that time passed coding was not used to do other things. The cost was that I stopped many other hobbies. The cost was that I was not letting my brain rest. The cost was that I slowly burning out, all of that justified by the passion, and the fact that I enjoy coding very much.

On top of that, there will always be someone out there with more fuel, more time, or what will seem to have a better output; and inevitably, this can become an uphill battle: comparisons creates frustration, and dissatisfaction will then lead to the dreaded burn out.

There is also a lot of pressure regarding coding on your free time. As you mentioned, there's the "if you don't breath code, you're not really invested", and there's the pressure we put on ourselves by seeing all the cool stuff others are pulling off. That whole "you're not invested" thing is bullshit, to put it bluntly. Should one be judged at work by what they do 24/7, or by what they do at work?

Ultimately, the whole thing can be viewed as some sort of "rite of passage". And retrospectively, it is really a terrible rite of passage :D

I have gradually recovered from my own burn out; Being in sabbatical, and going through some personal stuff, I realized that my hobbies (as in "my free time") and my job could overlap, but should not be a full circle. I am even currently making that overlap as small as possible. And it feels way better.

So, does one should code on their free time? Sure, why not. But that should not become the only thing. And that is the difficult thing to balance.

Because the brain needs to rest, and it can only rest if we give it the possibility to do so.

(PS: I wanted also to point out that I've been reading Dev.to for something like 2 years, and never felt the need to write before this post, because it really hits close to home. I hope this answer helps)

Collapse
 
darthbob88 profile image
Raymond Price

I feel that you should do some coding in your personal time, just because that's how you keep your skills sharp, but you should not do work-related stuff after hours. You belong to the company from 9AM to 5PM, but if they want you to work after that they can damn well pay you time and a half for it. Your time is your own, you owe the company exactly as much as they pay you for.

Collapse
 
arikaturika profile image
Arika O

Actually this is a good point. Many of the people that work in the field are very surprised when I tell them I'm working on things related to the job, after clocking out. The thing is that I don't do it for the company, but for myself, to expand on what I learned during the day, so I don't really thing they owe me anything. I guess the knowledge will help me in the future, no matter which job I have. Thank you for your input.

Collapse
 
darthbob88 profile image
Raymond Price

Yeah, I was pushing more against the expectation that you ought to do work-related programming in your free time and are a failure if you don't. Would have been nice if that had been what you said. If you do your skill-building using work code, I can't really argue against that, but I still prefer to work on things I can show off on Github.

Collapse
 
arikaturika profile image
Arika O

too much of one thing can burn you out period, coding or anything.
Good point, thank your for your input :).