Here's a thread from the community a little while back:
Programmers who only code at work
Jan ・ Nov 1...
For further actions, you may consider blocking this person and/or reporting abuse
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:
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
And that's perfectly fine!
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.
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.
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 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
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 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 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).
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.
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.
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 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.
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.
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.
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.
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!
I spend a fair bit of time working on open source projects outside of work (though less than I used to) and I agree that there is NO problem with not doing so.
40 hours per week is a lot of time to spend on any hobby. Not wanting to play piano more than 40 hours per week doesn't mean you aren't passionate about music. And not wanting to code for more than 40 hours per week (or insert other arbitrary number) doesn't mean you're not passionate about coding!
We all have other things to do, too.
Coding outside of work is something that you do because you like it, it is a preference, not because you have to. If you don't code outside of work, absolutely nothing will happen to you. You will not instantly drop dead. (hopefully :)
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 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.
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.
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
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.
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.
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.
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.
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.
True and I understand people who do this. I just find it sad that something I have this much passion for is regarded as "just a job".
I tend to be very up and down with what I do in my off-work time. I have a family, so of course spending time with my husband and kids is very important. That tends to take up most of my weekends. I also enjoy creating art, primarily portraits, and do occasional commissioned work there. And I spend time playing my instruments - piano, guitar, ukulele, and voice - and getting out into the beautiful wilderness that surrounds me here in Denver. That said, I am also constantly studying for one certification or another, or learning a new technology, or whatever, while not at work. I do this partly because it is fun, and partly because it helps my career. I just finished studying for a CompTIA certification (and passed the exam last week), and am now studying for what will be my 9th active AWS certification. I am also learning CloudFoundry and a few other technologies as time allows and have a DeepLens at home that I am very much looking forward to playing with. Do I spend much time contributing to open source? Nope. Pretty much none.
All that to say, do what makes you happy, what helps you to be your best self. And don't worry about what other people think based on the lines of code you've contributed to open source, websites you've created, certifications you've achieved, or whatever. Yes, you need to be good at your job, but skills show themselves in many ways beyond just how much time you spend coding and how many lines you write.
This is a very good article. I study Computer science masters degree and work a as a software developer (part time while studying).
My time is occupied by doing homework assignments for my courses per semester and doing my job. Of course I have free time, but i don't want to spent my little free time on doing programming stuff again, that would burn me out.
I see a lot of people at university who don't do anything besides programming and gaming, and they mostly seem not to have any other life, i.e. a social life.
Many people put an indirect pressure one you by saying that lifespan learning is the goal, and you have to program in your free time. I'd like to, but part time work and university are keeping me busy most of my time...
That's a great perspective! Many people feel pressured to code or contribute outside of work hours, but it's totally valid to set boundaries. Focusing on your job during work hours can help maintain a healthy work-life balance and prevent burnout. Everyone has different passions and ways to spend their free time, and as long as you're meeting your click here to get more information professional responsibilities, it's perfectly fine to keep your coding strictly to work hours. How do you feel about this approach?
Because companies never, ever want to see the code you already wrote, right!?! What do you say when they ask for your GitHub account?
If you don't have a track record of work, coding outside of work is your work. If you do have previous work experience you should be good. Plenty of great devs don't have public code available and companies aren't so obsessed with this as much as folks sometimes think or worry.
Yeah, I wasn't looking for a solution.. I was making fun of the premise.
I code at home to learn new things. Most jobs you are coding the same app everyday and not learning new things. Keeping on top of new things is important.
Heck. I don't even have a computer at home and didn't really miss it. If I really need it, I'll just bring one from work.
just don't let Hoolie catch you
This so cool
but a view i have is work life balance is key if you want to leave to create all good impact