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
Just because most carpenters don't build "houses" in their spare time doesn't mean a lot of them probably don't indulge in the odd making of a birdhouse, or a canoe or something. A house is a huge undertaking. That would be like a programmer trying to create Linux in his spare time. Most don't. That being said, a lot do partake in programming outside of work (a lot of the devs I know). I think this stems from the fact most people who program (who I know anyways) do it because they love it, and are passionate about it. When you love doing something, it's not considered work. When I sit down and and start writing code, it puts me in a sort of altered state, where I am free to think and be my self. I love it. I do no consider it work at all, and is the reason I chose it as a career. Cheers!
That's a very good point. Houses and bird houses are very different things.
I think the flavour of the point I'm trying to make with this comment is that it's not necessary to program outside of work to be a great, passionate and successful developer.
No-one is suggesting that it's bad if you love to code and love to do it in your free time - I'm actually saying that's great! The issue is that I see a lot of young developers being scolded for not being "passionate" enough, because they'd rather go rock climbing than build a side project in their spare time.
I love that you love to code! There's nothing more inspiring than a person who gets true joy from their work 😊
Really great way to put it. Kudos to all the companies who care about their employee's growth😃
Well said. I'm one of them. Life and work must be balanced somehow. In my free time I enjoy trekking, reading and do things with my adorable soul mate. Nevertheless I'm a good developer and dev lead of an enthusiastic team of skilled developers
Couldn't say it any better. Well said!
Agreed, well said.
Great response Leighton. I am fully agree with you.
Thank you! As somebody who only codes at work I usually I feel alienated because tech culture somehow implies I should be coding 24/7, I like doing other stuff!
Very well said!
Well said sir! I think it's great to try to code outside of work and I try to do so myself. I also value my life outside the world of software development. I find coding (and learning about coding and new stuff) in my spare time tricky, especially with other hobbies, family and a social life, which most of us do have.
Compare to carpentry, I would guess that software development evolves much faster, and if you want to progress in your career and stand out, I think doing something outside of work helps. An example would be if you are using Knockout and want to get into React, then doing a side project in React should help you in securing your next move.
Maybe this might be less important to you if your work gives you good learning opportunities (e.g personal development time, personal budget, training, mentoring, etc..), you are comfortable where you are and have great job security, you are very talented, or work in a very specialised area where changes do not happen as often, and you are happy to stay in that job.
This issue always haunts me, I'm constantly afraid of falling behind if I don't code outside of my work hours. The response you just gave is a great deal of help for people in my position. Thank you! 💖
In France people can't be fired easily so they don't feel pressure to do coding out of work :)
Very well articulated! Totally agree.
Well said. I just wish more companies understood the need for personal growth.
I've worked with programmers who seem very passionate about programming, at least they spend all day and most nights coding, and do little to actually grow personally. In that case I'll take a dispassionate programmer who cares about improving his skills at work any day.
So it's a bad trait that I am passionate about my career and indulge in programming whenever I can? I even help moderate programming groups on facebook and mentor other younger people.. You can be both a passionate programmer and have a life. It is possible.
My original answer should be seen in the context of the original question. I was trying to find a more nuanced way of saying that I'd rather work with a good dispassionate programmer than a bad passionate one, not that all passionate programmers are bad. All I meant was that programmers with other interests may be able to bring something else to the table.
That also depends on what you mean by "have a life". Does your life include being married and having several children you are raising? Do you have any other activities that require an investment of time ( such as martial arts, dancing, writing music etc)? Are you part of a church (or other religious group) and invest time there? Do you volunteer in your local town or city to help clean greenways, rivers or feed homeless people? Do you do all the aforementioned things?
Or do you do primarily what you have listed? None of that is meant to be a criticism of you in any way btw. Just saying the term "have a life" can be amazingly broad. And the person you replied to seemed to be saying they would rather work with someone who invests in themselves outside of developing a work related skill set but is pleasurable to be around vs working with somebody who is a great coder, constantly works towards furthering said skillset but is a jerk to people.
The person NEVER said those things are mutually exclusive and it had to be one way or the other.
Yeah, great reply.
Separate work and home lives well is essential to make more creative works.
What's your opinion on carpenters who don't build houses in their free time?
Let's slightly re-frame this question (pardon the pun):
What's your opinion of architects or home-builders who live in apartments or homes that someone else designed or built, versus those who did their own?
Perhaps some or most would have very good reasons not to. But doesn't it just say more when someone lives their discipline? That's pretty exceptional, isn't it?
As programmers, we are knowledge workers in an information economy. No one else is going to learn for us. If we're not satisfied with our level of learning on the job, no one else is going to make us learn more. So then we have to do what we can when we're not at work to get the learning we think we're missing out on.
So when we see people doing side-projects and learning on their own time, they are signaling that they are improving at their work. It's a signal that we should look a little more closely at them and consider them for more responsibility and promotions, and when we have to let someone go, they may have a leg up over their competition, all else being equal.
It's your life. You can totally choose to do whatever you want in your free time - gaming, sports, partying, anything else, or nothing at all - and if you're already a programmer, you can probably continue without any relevant stuff outside of work. But if you want to rise to the top of your field, it gets competitive, and that's where you have to do more to differentiate yourself.
Wow, what a GREAT response. I've struggled with this thinking to myself "I love to program at work -- but I am so TIRED when I get home, being a single dad, wanting to just unwind doing other stuff" and I've felt really guilty about thinking that way. You have just validated my home life with your post, though! Every developer's home situation is different. And I am also fortunate to work for a company (read: Boss) that fosters learning new technologies and improving skills. Thanks for packaging your reply in a fashion that echoes and validates my thoughts. I hope this helps other developers in similar situations!
I agree completely. The danger of coding in almost all of your time that isn't spent sleeping is that you become very one-dimensional in your life (and especially coding). It's amazing the number of people that don't realize the the key to interesting ideas and "out of the box" solutions is to ensure that you're interested in many things. Sometimes the most stupid idea from another field morphs into the most amazing solution in another field.
I see many young developers falling into this trap and all of their solutions to problems are always derivative of everything they have done in the past. The truely awesome ideas are rarely directly derivative of past work, they are usually applying an "outside" spin on something that will seem obvious afterwards.
Think of the people that invented Dependency Injection. Prior to that all solutions sucked (in hindsight now of course).
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.