DEV Community

Ben Halpern
Ben Halpern

Posted on

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

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!

Top comments (54)

Collapse
 
leightondarkins profile image
Leighton Darkins

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!

Collapse
 
ben profile image
Ben Halpern

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 %}
Enter fullscreen mode Exit fullscreen mode

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.

Collapse
 
nickytonline profile image
Nick Taylor • Edited

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

Collapse
 
ben profile image
Ben Halpern

Yeah that's all definitely in the future.

Thread Thread
 
nickytonline profile image
Nick Taylor

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

Thread Thread
 
jess profile image
Jess Lee

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

Collapse
 
tterb profile image
Brett Stevenson

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

Collapse
 
ben profile image
Ben Halpern

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

Collapse
 
ben profile image
Ben Halpern

And that's perfectly fine!

Collapse
 
nickytonline profile image
Nick Taylor • Edited

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.

Liquid error: internal

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.

Liquid error: internal

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.

Collapse
 
rcpp85 profile image
ricardo

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!

Collapse
 
ferocit profile image
Ferocit

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.

Collapse
 
martingbrown profile image
Martin G. Brown

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.

Collapse
 
ben profile image
Ben Halpern

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.

Collapse
 
tterb profile image
Brett Stevenson • Edited

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.

Collapse
 
codevbus profile image
Mike Vanbuskirk

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.

Collapse
 
moopet profile image
Ben Sinclair

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.

Collapse
 
leightondarkins profile image
Leighton Darkins

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.

Collapse
 
jjsantos profile image
Juan De los santos • Edited

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

Collapse
 
gvanleenl profile image
Gabri van Lee ❋

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.

Collapse
 
niorad profile image
Antonio Radovcic

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.

Collapse
 
mortoray profile image
edA‑qa mort‑ora‑y

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.

Collapse
 
leightondarkins profile image
Leighton Darkins

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.

Collapse
 
mortoray profile image
edA‑qa mort‑ora‑y

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.

Collapse
 
mortoray profile image
edA‑qa mort‑ora‑y

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.

Collapse
 
skeletonkey profile image
Erik Tank

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

Some comments may only be visible to logged-in visitors. Sign in to view all comments.