loading...

It's perfectly fine to only code at work, don't let anyone tell you otherwise.

ben profile image Ben Halpern ・1 min read

Here's a thread from the community a little while back:

What's your opinion on programmers who are not passionate about programming, have no side projects and only program at their jobs. Not senior devs either, just programmmers, who are not juniors anymore. Can they ever improve, write better code? Or do they stagnate.

I wanted to share this wonderful top comment:

This is a really interesting question. I guess it helps to reframe it by applying the question to other jobs.

What's your opinion on carpenters who don't build houses in their free time?

I've met a broad variety of developers in my time, and a large portion of them have been the type who have a skill that they use for work, and don't care to indulge in outside of business hours. Instead they use their free time to build boats, go surfing, paint, write, cook, raise families etc.

Some are tech leads, some are CTO's, some are juniors, the remainder are everywhere in between. Some of the best technical minds I've worked with have been superb at completely separating their work and home lives.

I noticed quite early in my career that there's an (in my opinion) undue amount of pressure on developers to be coding/reading/meetup-ing 24/7 lest they fall behind. The truth, as I've grown to understand it, is that 40 hours a week of writing software is plenty to facilitate growth and improvement, given an environment that supports that growth.

I've been lucky enough to work for organisations who take their employees growth very seriously, and as such provide ample opportunity (at work) to dabble in new technologies, learn and grow.

The idea that the only way you can avoid stagnation as a developer is to let your job consume your life* is pervasive, but very poisonous none-the-less.

Having said that, no-one's trying to stifle anyones passion here. If you love to code, do it at every opportunity you get. But be careful when passing judgement on the skill, growth and development of folks who don't share that same level of passion.

*maybe not your whole life, but a significant portion of it

Us humans put a lot of pressure on one-another and there are a lot of competitive, unhealthy environments that cause us a lot of pain. We also each have different personal contexts which ultimately guide our lives a lot more than 1's and 0's.

I would be careful about assuming they're not passionate because they don't code in their free time. At one point I was a single mom and couldn't find time to code unless I was at work. That didn't mean I wasn't learning new things while I was at work, or that I wasn't interested in technology. :)

Passion to learn and strive to be better is what sets people apart from becoming stagnate.

If you want to code in your spare time, go for it, but this career is an absolute marathon and being able to take yourself away from your computer more often is a strength as far as I'm concerned.

@_patrickgod has a lot of good posts on maintaining healthy habits and they all touch on balance.

I'm getting ready to escape into a bit of nature for the weekend and wanted to take a minute to share some great tips from the community on the subject of escaping. I hope it helps someone out there.

Happy coding!

Posted on by:

ben profile

Ben Halpern

@ben

A Canadian software developer who thinks he’s funny. He/Him.

Discussion

markdown guide
 

This is something I've been trying to remind myself about everyday for the past while - that coding only for work is okay and that I don't need to feel bad about it.

I feel like there's an unintended pressure of needing to make coding my entire life and actively contribute, or at least spend large amounts of time on, because it feels like something that's standard as a dev. A lot of it comes from spending time on places like Github, Reddit, Twitter, blogs, YouTube, and other forms of social media where I see so many devs coding outside of work, being passionate about it, and contributing a lot to the community. It's a good reminder that not all devs are the same. We're all different people who work differently where some see coding as a passion while others not so much, like in other kinds of jobs.

That being said, right now I may need to put in a bit more time towards coding outside of work because I want to get better at some skills for the future. So instead of going in with a mindset of feeling like I have to do it, I hope to go in feeling like I want to do it.

 

Coding outside of work is a wonderfully awesome pursuit. The pressure to do so is either misguided or self-manufactured.

I go through periods of lots of coding outside of work and periods of no coding outside of work depending on my motivations and interests at the time.

I personally almost always read about coding or listen to dev podcasts outside of work. I spend a lot of time reading dev.to, of course. But doing so in a lean-back mode as opposed to lean-forward mode is definitely different.

Our brains, motivations, personal goals, energy levels, family-lives, are so utterly variant that being overly prescriptive about how others should manage their careers is a recipe for disaster. I casually take part in open source but I could not fathom being a maintainer of a popular project outside work. It seems hellish to have the kind of responsibility that comes with that. But people do it and love it, even if it burns them out sometimes.

I watched this talk by Sam Phippen about the process of keeping rspec up-to-date with new Rails versions and the pain an commitment it takes blows my mind.

I could see a time in my life in the future where this could be a lot of fun, but at the moment it does not compute. When I was newer to software development I definitely felt the pressure to take part in all these activities, but none of it's all optional.

 

I’ll try and wrap this all into hopefully a cohesive comment which will probably go on a tangent or two and may or may not ruffle some feathers. This probably should be a blog post as it already feels lengthy in my head, but I’m not in a headspace to write a blog post right now.

I’ll preface this with I do enjoy coding outside of work, I do contribute to OSS, enjoy blogging etc. I consider myself a passionate developer and I enjoy my craft. I have mixed feelings about all this.

I don’t think you need to contribute to OSS and just because you don’t, doesn’t mean that you’re not a great developer.

However…

Unless you're super gifted and never have to put any effort into anything, if you want to improve your skillset or add a new skill, there’s no other way than putting in the extra time. Maybe it’s just the places I’ve worked at, but none of my employers have ever given me free time at work to learn tech that we weren’t using unless there was a need to incorporate this tech. So, if I want to learn something new, I have to put in the time outside of work.

We weren’t using React at work at a previous job, but I wanted to learn it in the hopes of using it at a future job. I started reading up on it, doing some tutorials etc. Once I started coding, I decided that a great way to keep learning would be to contribute to an OSS project. I could learn from others and potentially help others. I was glad I did because I’m enjoying working with React in my professional tool belt at the moment. To get there though, I had to go the extra mile.

This doesn’t just apply to software. It applies to anything, even carpentry. Apologies in advance, but it’s so easy to relate this to sports. When I was playing rugby in university, we practiced 2 hours each day, Monday to Friday and had games on Saturdays. Aside from practices, myself and others would do additional practices on our own to better ourselves. It could be passing a ball to hit a target consistently, going for an extra run and/or hitting the gym to become stronger to be able to take and give a beating on the field. I did all this because I loved the game, didn’t want to let my team down and I just always wanted to be better. Alright end sports analogy.

Having said that, I must admit that I struggle with work life balance on a daily basis, but I still try to find time to do other things. Family, hanging with friends, 5 à 7’s, snowboarding, camping, going to the gym and a few moons ago, rugby (which I miss a lot, but my body is done with getting beat up 💪). The easiest way for me to clear my head these days is getting into a squat rack at the gym. Anything that’s bothering me big or small, just vanishes when I exercise.

Everyone is different. Just try and find what works for you and at the same time keeps your sanity.

If you’ve made it this far, thanks for listening to my ramblings. Now it's time to head to a friend's birthday 🍰. Ciao for now.

 

Hello!

I can relate to not ever working on a place where they give you time to study, unless is something worth for them - and even that was rare. I recall one time a former boss said to me I was wasting time studying. His exact words were: "Don't you think you should stop reading and do some work?".

So, when I was out of the office, I was, usually, studying stuff for my job - not improving skills the way I wanted, not earning knowledge for my mid term goals.

So, after one event where I got burnt out and lost interesting on almost everything - including playing as a scrum half -, I decided I would dedicate less time into "work" and enjoy more my free time.

Nowadays, sometimes, I do feel guilty for not having side projects or studying that much. But on the other hand, if I'm tired after a stressful week, I just spend the weekend doing things I like (which, until last year, playing rugby was part of it).

Having that in mind, I do agree with the sports metaphor as in putting extra effort for self and collective improvement. However, if the said improvement comes in the spent of your mental health and creating impossible standards of performance, I believe a step back is a better choice.

Be that just plyaing touch or beach rugby for leasure, be that not worrying about you are not committing to any side project.

Cheers!

 

My father is a carpenter. If he needs or wants something for himself or something needs fixing, then he will build it, but he won't start to build a house, just because he has some free time.

I am the same with software development. There are things that I will code for myself, those are things that I want or need, things that save me time or just things that I do for fun. Nothing of those is comparable to things I code professionally.

I don't have the time for that, I have a wife, I have a son, I have friends... and a shit-ton of shows on Netflix that I want to watch.

 

In my experience the people who spout this are the ones that like blogging, tweeting etc. I.e. The loud developers. In reality I don't think this is as wider held belief as it might appear.

Also as someone that has spent over 20 years working with computers, I can tell you it is bad for your body to spend so much time in front of a screen.

Finally you are more likely to find a problem to solve if you mix with people from outside the software development trade.

 

I think this topic is definitely worth being addressed, as it depends a lot on the various approaches and perspectives that developers have towards programming.

As someone with a previous background in music who has had the pleasure of spending time with some really gifted musicians, I know that there are many musicians who love to play and so they devote a lot of their free time to practicing their craft, but there are also many talented musicians that primarily only play during rehearsals, gigs, ect... and feel that doing other activities in their free time helps them to prevent their playing from getting stale or burned out.

So in my opinion, there really isn't a need to feel pressured to constantly be programming, instead, developers should do what they feel will help them live balanced, productive and healthy lives.

 

As Developer, sometimes I work in personal projects as a hobby apart from my regular job... but sometimes we need to take a time out of that to give a break to our brains so, I think that a balance is always necessary; going back to the main topic my opinion is that if you really like what you are doing at work, and you just want to focus on that because that makes you feel happy, then there's no problem.

Just do what you like :D

 

Whoa! I only just saw this post. Coincidentally, after a weekend away from code and technology on the beaches of Portugal.

I really appreciate that you found my input on this topic compelling enough to share. Cheers!

I really like this format of post. There are nuggets of gold sprinkled all throughout the comment sections on this site, bringing them to the top level is a great idea!

 

P.S. I'm going to be making more posts like this. If you want to embed a comment, take its ID code and write it in a post like this:

{% devcomment 1b1m %}

I think it's a great way to boost interesting things I read around site and will look to build features to make doing so ergonomic.

 

I think what would be great as well as the ability to preview your comment if you embed stuff like twitter or a devcomment. Also, can you include tags in comments? Testing #meta

 

Yeah that's all definitely in the future.

Looking forward to it. Keep up the great work Ben and Co.!

You can't include tags but you can include people in comments @nickytonline !

 

That's a great addition, I'll have to find a way to use this in future posts!

 

🙌 I think it will be a lot of fun once the subtleties of the UI/UX of the behavior are worked out

 

I think the important bit is in the sentence, "40 hours a week of writing software is plenty to facilitate growth and improvement, given an environment that supports that growth".

It's unfortunate, but I think fewer work environments support developer growth than don't. It just gets talked about so much on social media that we think it's the norm, and it makes us sad that our jobs aren't like that.

Of course, it shouldn't be the case that people feel they have to do anything outside the office that they don't want to.

 

I thought exactly this as I wrote that sentence. I've been immeasurably lucky in that every organisation I've worked for has made the professional and technical growth of their employees a top priority.

It never fails to make me sad that this is nowhere near the norm for the industry at large. As a consultant, it's this type of culture that I try to take with me to every client I visit, and in most cases our clients catch on pretty quickly that giving people time and space to grow makes everything better, for everyone.

 

I'm definitely a proponent of work/life balance, and I feel that no-one should ever feel pressured to work undue hours, whether on employer time, or one's own.

HOWEVER...

This industry is a bit more unique compared to more traditional engineering/architectural disciplines. For me, the carpenter analogy starts to break down pretty quickly.

Sure, the carpenter isn't building houses in their spare time because of a carpentry blog they read. But at the same time, the carpenter doesn't have to cope with a new kind of wood being invented every 6 months. The framework of what constitutes solid, effective architectural engineering is not likely to change drastically in the next 12-18 months, or even 2, 3, 4 years.

The relatively steady state of architectural engineering and carpentry practices is in direct contrast to that of software engineering. Given an equally passionate developer and carpenter, the developer will have to work a lot harder to just stay up to date on new techniques and advancements, to say nothing of passion projects that simply build on existing technology.

I agree with the premise of the article: it is perfectly acceptable to only code at work. But I think it's important to have realistic expectations about the ceiling of effectiveness for most people, if they put that in to practice.

 

I've only once met a pretty good developer that didn't have pet projects on the side and didn't do things like reading up on new technology in their free time. Not saying it's impossible, but am gonna say it's rare.

Full disclosure; have been a developer for most of my working life which means some 30 years now. Not a year has gone by that I haven't started (and killed of) a new project.

 

I like the carpenter analogy because it helped me get to the core of my understanding of this topic.

I agree that carpenters don't spend their off hours building houses just to build them. However, when something needs fixing I'm willing to bet that they are doing it themselves - since this is their wheelhouse. Also, when they go to their favorite home/building supply place they will check out new tools and occasionally talking shop with friends. All this to say they are not building houses, but they are honing their base skills continually (knowingly and unknowingly).

The base skill of a programmer is problem solving. This can take the form of building your own accounting system (because the available software just didn't do it for you - yes, I have control issues) or doing a jigsaw puzzle.

I agree that as programmers we should seek out employers who help us grow 'on the clock' because that makes us happy and therefore a better employee. However, I would be wary of a programmer who refuses to 'walk the aisle' at Home Depot or who doesn't challenge their own approach/thinking to scenarios.

Who am I: I've been coding for over 20 years and during that time have worked as plumbing/heavy repair for a large pool company (believe it or not - just for fun).

 

Though I think this is true, there are ways to incorrectly interpret or apply this idea.

Consider the carpenter analogy, it's a different domain of work and the range of specific skills is much narrower than programming. It's quite possible as a programmer that you're stuck in a job that doesn't developer a range of skills, and you become highly specialized. In this case, like in many jobs, you'll actually need to do outside education to break out of the mold.

Some people like programming and it is their hobby. Most of the people I know that write software in their spare time are not doing it as a continuation of their work. They have side projects, or hobbies, that just happen to also involve code. Technology is a diverse domain, and code is an amazingly adaptable tool. There's no reason somebody should actively avoid a hobby only because it uses similar tools to their jobs. To continue the analogy, that'd be like a carpenter that avoids taking up wood carving as a hobby.

As to passing judgement on skills, well, it gets tricky here. Somebody that write software day in/day out is more likely to know more things -- it's not a guarantee, but it's likely. However, somebody that just does their job 12hours a day is likely to be burnt out, undermotivated and locked into specific skills. It'd be foolish for an employer to not recognize achievements outside of work. This is true of anything though, not just coding.

 

I really like this response. You're absolutely right that this idea can very easily be interpreted to mean "you should never code outside of work". Which I believe to be equally as poisonous to a developer as "you must always code outside of work".

Everything in moderation, as they say.

I also mostly agree with your perspective around judgement of skills. More practice definitely makes a higher skill level more likely. But I don't know that someone who just works their day job is likely to be any of the things you describe. My experience (as described in my initial comment) certainly doesn't indicate that. Granted, that's not a massive sample size, but it's enough to challenge the assumption.

I'm certainly not suggesting that employers should not recognise achievements outside of work. They should. But they also shouldn't immediately dismiss a candidate for lack of recent github activity (or similar extracurricular activity indicators), which I've seen a little too much of lately.

 

I just meant to say there are positions where you'll end up stuck in a mold needing outside education to break out. There are many jobs where this does not happen, but there are many where it will happen. There's a large range of job quality in terms of career development.

 

Considering that most dev work still isn't done in the open, I also find it questionable that people judge others by their public contributions, like on GitHub, or open source projects. You can't really expect that everybody works in the open, or that even their public work reflects their business work.

 

I think the post-title says it 💯

I'd like to add that…
…if you don't get a chance to learn/grow at work, go work somewhere else.
…if you feel like not being treated right in general, go work somewhere else.
…if you do overtime more often than occasionally, go work somewhere else.

As long as there are more open positions than devs, we have the leverage and should use it.

 

Ben! Thank you for sharing my posts! Just came across your article and I feel flattered. :D

Oh, and by the way, I also escaped into nature on the weekend. Hiking in a snowy forest is just perfect for that matter. :)

 

I really love this post. I consider myself a very passionate dev, but have found that sometimes if that passion is indulged TOO much (ie... spending every waking moment coding) it can actually backfire and dev burnout is a very real thing. I've also come to find that many of us are always coding in some fashion even when not overtly doing it; when I'm out hiking or otherwise have removed myself from my computer, I find that my mind starts to meditate on whatever challenge I've been working on and I end up with creative solutions I likely wouldn't have thought up if I had just stayed in the "silo". Sort of relates to what a lot of senior devs have told me throughout the years, which is that often times the best approach is to think more and code less.

It's easy to feel guilty about not constantly coding, especially if you work with someone who is that sort of obsessive dev. It helps to remind yourself that we all bring different things to the table and what works for one person will not necessarily work for others; the journey to knowing all the things will be different for all of us, and that's very much ok.

 

A amazing post!

I'm at this stage right now. While doing a nanodegree in Udacity( 4 months ), i was so focused on coding that i've made almost half of the program in two weeks!

Literally, i was not sleeping well and everything i was doing different from coding, i was thinking about code! This made me feel sick and tired in the last weekend, so i took a time to think about that, why i was doing that and why so much pressure by myself, i discovered that's because i wanna move from my country, but i was so obsessed in doing that, that i was trying to be a better developer at any cost( even my health). This post helped me to agree even more with what i was thinking about slow down a bit about coding out of work.

ps: sorry for the bad english.

 

While I generally agree with this sentiment I’ve been concerned that this also sends the wrong message to boot camp grads about just how much they have to learn still. I’m not saying that means you need to grind every night, but if you aren’t working to improve your skills at that junior level you aren’t doing yourself any favors in the job market.
So my bottom line is YES, let’s encourage balance but let’s be really careful not to give the impression that there isn’t a whole lot more work and learning to do as our careers develop.

 

Well, this is completely true but the problem arises when you talk about promotions. People with fewer years of experience can overtake ones with more because they work on projects outside their usual work and spend more time learning and reading. It is hard to make right decision in that case because you will have one angry employee in either case

 

This article has definitely reduced some stress for me from feeling I should constantly be coding outside of my job. As much as I like creating apps that work and show what I can do, it is definitely a time-consuming process. I also want to devote my time to developing other skills without the guilt that I am not contributing enough free time to being a better developer.

 

Of course anything one chooses is okay--it's silly to say otherwise--and it has already been mentioned that too much screen/chair time can harm you significantly. That said, I have never encountered a single hacker I would call a guru. or look up to, who did not hack for fun; often in more than one area. It's an incredibly deep, always evolving field and it's a vanishingly rare job that allows one to continue to grow on the clock.

 

In reply to the top comment:

In what context are we using "Passion" I guess? I first saw a computer in 1989. Knew nothing about it, but somehow felt connected to its future potential. Something about it. 2019, 30 years has gone by and I my passion for what is possible through programming is infinite. I don't work as a programmer but am continuously creating solutions that can help humanity solve many of the problems we face. Even though I was enthusiastically learning new technologies and then using what I learnt to create social innovation platforms, I never made them available to the general public until recently with hightechmindfulness.com. Now I can see with absolute clarity why I felt the passion I felt when I first saw the computer even though I didn't know what it was for.

PASSION
For me at least, passion for programming comes from purpose, even when I didn't know what that purpose was. When you know that you can create solutions to make the world a better place, passion comes naturally.

 

I have to admit that when hiring, I do look for things like public repos or contributions, but I never fault a developer if they don't have any, or prefer to only code while working.

For me, "Absence of evidence is not evidence of absence." So if I DO find a public repo or other projects that they contribute to in their spare time, it helps me see their passion in the same way a graphic designer may paint or sculpt out of the office. If a developer doesn't contribute in their spare time or code outside of the office, I wholeheartedly agree that is NOT an indication in any way that they are dispassionate about development.

 

Often it's not easy to determine boundaries between "at work" and "out of work", especially when you have flexible work schedule, or when you are able to work more hours to earn more, and especially when you're working from home.

A person who spends 8 hrs at work, and then spends another 6 hrs to work on his own skills, improve himself as an engineer, will always "hate" any "junior", who claims that he's coding only at work, thereby is not passionate to work hard to make himself to be a better programmer.

Since 2015 I spend more than 12 hours coding daily, can be around 14 hrs. I don't care is it "at work" or "after work", because... I don't think it's a waste of time, if there is a purpose.

We always have weekends to make our wives and children to be happy. ☀️

 

I LOVE this, because I've been trying to convince myself that I'm not weird, but to see that other people is passing through same things has helped me to understand that the only thing that matters is feel good about my capabilities and growth. To find this community and be part of it has helped me a lot!

 

Wish I had read something like this when I started
The amount of anxiety that you end up developing by just thinking that you are "falling behind" when in reality if you are just coding all the time, you may not even be taking the time to realize what you should be doing better, always leaving to let things mature will make you consider your decisions and become better every day.

 

It's fine but don't think that is all you will need to do to become great. I have been developing for over 20 years and the easiest way to tell if someone is a mediocre developer if they don't code outside of work.

Mediocrity will get you a good job and stable career. But it you want to be great at what you do you need to expose yourself to as much code as possible written by different people at different levels.

This is almost like saying it's perfectly fine not going to school for Computer Science or better Software Engineering. Without the proper education you will only be able to reach mediocrity.

What if Lebron James said I only play basketball during games? Having a passion for something is what separates the good from the great.

 

Help me and the team, by taking care of yourself

While I do encourage people to explore as much as they can, especially on technologies not used within the workplace (or even reading dev.to).

On other occasions, I stress the importance of taking care of oneself and family members. As that should be more important than work, or even the company. And in finding joy in life in general.

It is, however, a very tricky thing - especially when I am on the "employer" side of the table. The line between encouragement and pressure is very thin. And I do personally worry at times if I was not clear enough on it.


Personally, I make a conscious effort never to penalize any developer for "not being there" or doing work on weekend/time off. Even if it was unplanned servers burning on fire. And chasing them to see the doctors and rest when sick.

And to find other things, to do that ain't work, help the community or exercise (though this last one is kinda hypocritical as exercise is something I need to improve on as well)

 

I've been working professionally with code for about 8 months now and it has been the most frantic 8 months of the my life principally because of my urge to get better, the feeling that I'm behind and the amount of languages, frameworks and technologies I see everyday and find interesting. After just 8 months I concluded that it is not sustainable, I need more time for hoobies and life otherwise I'm going to burn out. Just last week I decided to start to take it easy on Fridays and not code. I failed in my intent, but I will get better.

 

I have had the reverse experience at my job. Whenever I share something I've learned while programming off-hours, or from a personal project, my coworkers act surprised that I would do such a thing. In team meetings, I've even been openly mocked for it.

It won't stop me from programming in my free time (when I have it), but I don't share off-work programming experiences anymore.