Programmers who only code at work

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.
Asking because my coworker said he doesn't enjoy programming at home.

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

Couldn't say it any better. Well said!

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.

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!

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! 💖

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

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 😊

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!

I love code, but I could envision a future where I only code at work. This weekend I did a bunch of photography, went to the farmer's market, the gym, wrote a tiny bit of code and I really could have done without. None of it had to do with whether or not I like to code.

I do code at home and like doing it, but in the future I could see putting my focus elsewhere and be pretty happy about it.

indeed we should do things in moderation if you are coding all time, you might as well stay in one place and have food tubes and water tubes, and start coding.

Two comments:

  1. Give me a competent colleage who only codes at work over an enthusiastic magpie developer, any day of the week

  2. Having brief experience with every new library and framework out there is equivalent to having 10x 1 year's experience compared to actually having 10 years' experience. The latter of those usually involves maturity and business sense, which is of far greater value.

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.

That's absolutely right, coding only at job and barely on the free time doesn't mean somebody is not passionate, but it can mean there are other people, friends, family, kids who need you and you have to dedicate to them your time. Agree totally that what you do at work can give the same results in developing your skills than coding at work and after work, but that's really depend on the job

I often code significantly outside of work (several hours a week). And there are a few things I want to say about that:

  • I really enjoy coding. If I didn't enjoy it, I wouldn't do it on my own time, and I might not even do it as a career.
  • I learn a lot more from my side projects than I do on the job. The nature of a side project demands it: everything is up to you. You have to learn how to do everything from beginning to end, because (unless you're very lucky) no one else is going to do it for you.
  • My excitement about side projects ebbs and flows. Sometimes I'll go a couple of months without doing any coding outside of work. I would hate it if coding outside of work became a requirement or expectation at any job.
  • I have definitely been given advantage over other candidates in the job application process because I'm able to talk an interviewer's ear off about the side projects I'm working on and how awesome they are.
  • I don't have a CS degree, so I often feel like I have something to prove. My GitHub graveyard is one of the ways I demonstrate that I can kick it with the grads. I believe that every self-taught programmer must face the same existential challenge, although there are other ways to do it.
  • Programming experience, in my opinion, is pretty fungible. A guy that has four years of work experience plus six years of hacking around in his spare time is often comparable to someone who has 10 or so years of work experience.
  • Scientists and tradesmen (doctors, chemists, plumbers) aren't usually expected to "practice" in their spare time. Artists (actors, photographers, writers) often are. I see programming as somewhere between these two worlds. And I think either approach can be successful.

Side projects are just one way to prove that you're passionate about your work and willing to learn new things. If you'd rather surf outside of work, that's cool -- someday I hope to have a hobby as cool as that -- but you'll have to be prepared for competition from those who live, breathe, and poop code. Doesn't mean you can't win. :)

I love this attitude. I love to code as well and enjoy working on my side projects. How I keep sane is balancing my other hobbies, Specifically the nontechnical ones like music.

Great reply. I fully agree here.

Sometimes I feel ...guilty? that I love code so much that it's my main hobby.

I guess it depends on the individual, but for my personal development I feel that supplemental coding helps me stay up-to-date on the latest trends and practices and news, since I don't always get that in my job.

Great response. Since in your actual work you don't learn too much (because the nature of the projects), have you considered being a freelancer or get some revenue of your personal projects?

I don't want to commit my free time to a contract (since it's off-and-on at times) but I hope to figure out how to build things that are worth money now and then. I really believe the projects I build on my own are high-quality stuff, and it would be cool if they provided value to someone else.

The 'elitism' and the 'with us or against us' attitude in your message is why so many people who code majority of their waking hours are poor colleagues.

Software development is in itself a team oriented environment. You play with the team. In a proper, healthy work environment, you'll go as fast as your team goes.

There should not be any pressure to feel that you need to code outside of work. It's great that you're interested in a side project, but it's not mandatory. If you're not learning at work, then you're either too stubborn or think you know it all, or it's time to move onto your next job where you feel challenged.

Moreover, for all you know, that person, who is enjoying a sport (say volleyball), is learning the value of teamwork, team coordination and leadership. Important soft skills that, as recently discovered by many companies, are more important than the technical skills.

Just because you code outside of work day in day out does not mean you're better. Stop giving yourself the delusion that you are. A colleague with the learning mindset however - will always be successful as they are humble, curious, and easy to work with.

Strong words. I think you might have replied to the wrong comment? I expressed neither elitism nor "with us or against us" sentiment. In fact, I made it clear that while coding outside of work has been advantageous to me and made me a better coder, I don't think it's a requirement and I think other kinds of coders can be just as successful. I do it because I like it, not to exclude others or get ahead.

This is exactly the same for me! I couldn’t have explained better than you. Thanks ;-)

There is an underlying assumption that you don't have time to learn at work - if that is the case then I'd urge you to aim to find places to work that do encourage learning on the job. I recently took a week off for a course paid for by the company. I learned and implemented React & Redux in the last two years as well as given back by training people on testing tools, development process and so on inside the last year, on company time. In production, at scale.

At my previous company I learned a lot about the agriculture industry, mathematical modelling, Microsoft Solver, C#, ZeroMQ, Redis, and many other things all on company time and with company resources. On real projects. That were used at scale. Far better than any side project.

I would say that the worst developers I've ever worked with did the most out-of-work coding. I've got about 20 years experience at this point and I will not budge on that point as it has been routinely true in every place I've worked. The best developers worked 9-5 and sometimes a little more and the worst seemed to work at home every single night and weekends.

Now I don't think people that work a bit outside of work a bit from time to time all suck, that has just been my observation of those that code outside of work a lot. I'm not sure there is much to learn there except that I know a lot of people think they have unlimited capacity for coding but we're all human and you really do not. The most 'ninja' coders I've ever worked with had hobbies that were well outside of coding and tended to be the people that could synthesize between many disciplines easily.

In the end how fast you type, how quickly you navigate code bases, the number of languages and frameworks you barely know and even how well you can engineer solutions, refactor and so on are not the skills that will take you far in this game. Soft skills, business analysis, team work, restraint, self knowledge and understanding your own personality are all far more valuable once you get past the first five years.

If someone told me they read well known books on coding, management, team structures, or anything business related every month I'd take them over someone that codes and extra week a month.

Yes, I totally agree with this. The people that were absolutely the hardest to work with were the ones that spent all their outside time coding. They knew code and had solutions for problems, but they never seemed to have solutions that other people wanted.

(Note: I'm a game programmer.) The overwhelming problem is that you could strongly argue that being a good developer does not mean being the best coder. In my industry, you're a much bigger asset if you understand human interfaces, or gameplay flow or any number of other things that go into making good games. I'll TEACH you how to write code if I have to, but it's so hard to make some coders understand what makes good games.

I want to work with people that live and play in the real world because that's what comes back into the games we make.

We also have a perfect example of this in that we recently pulled a marketing person into our engineering team because she'd shown a consistent interest in the technology side of things. She'd coded up some partials in our static site generator and so on.

The fact that she has the marketing knowledge AND can now code means she is kind of a double threat.

Where I went to college in Australia you couldn't do just a law degree you had to do law and something else like science, medicine, whatever as they sort of realise you need some other background knowledge to apply to legal situations. I think software engineering is intrinsically the same. There is very little you can do, that is useful to people, without an understanding of a completely different domain.

Sometimes, if I'm really gripped by a particular problem, I might hack away while at home. But most of the time, I leave work at work and do very little coding at home. After a full day of work, I need to relax. I need to balance my daily activities, or else I would get burned out on coding entirely.

There are several different things at stake here.

The first is being passionate about your job and the other is putting extra hours into it. If you program at home, it's likely you are a passionate programmer, but you can be passionate without programming outside of your job.

I'm always weary of the philosophy that define "real programmers" as people programming during their spare time because I feel like work-life balance is not valued as much as it should in our industry.

On the other hand, I found that working with programmers devoid of any passion for this activity was lackluster because they usually didn't care about things like emulation, mentoring, challenging other's choice or defending theirs. Ultimately, I think this attitude leads to stagnation and makes things worse for the whole team.

But it has nothing to do with side projects or the lack thereof. I've met a lot of great programmers that didn't code outside of work hours. Attitude in the work place is what matters most.

While you are seeing it as a passion, your co-worker see his job only as his, well, job. He may like programming but want to keep it as a job and not as a hobby.

His vision may differ but in the end, through his professional projects and contacts, he will learn and hear about new techs or languages. So, I don't think that devs like him will only stagnate, maybe just learning slower than you.

My opinion is that it sounds like you and your company feel they have a right to an employee's non-work time, expect learning to happen outside of work hours, and are trying to extract as much as you can, and expect everyone to perform at this level.

People with supportive workplaces, given adequate time to train themselves, don't stagnate. People pressed to produce as much as they can without learning new skills then use their spare time to learn burn out or stagnate.

Some of the best programmers I have worked with don't do it for fun. Some of us have other things we prefer to do: write, cook, paint, draw, build communities. All of those things also feed into us being better programmers, and it's deeply short-sighted to think of folks who don't code "at home" as lesser.

On top of that, this works out to be sexist: people (read: women) who are expected to manage their families and households during their non-work hours are impacted by these attitudes disproportionately, and men who don't have to do this are often supported by women who are doing those tasks for them.

I program at home for fun all the time. I don't work on work stuff at home, because that would defeat the purpose of destressing.

One of the things I enjoy doing is learning new languages. I try to learn a new one, every year. (This year had a bit of a detour, since I planned on learning for Swift 4, but have since had to shift gears and learn C++11 and C++14... lots of changes from the world of C++98.)

I like to learn other languages too! My main problem is that I don't commit enough time to different languages to make useful or interesting projects out of them.

I've been trying to learn Dart and Go for some time now.

Let's see...

If you work 40 hours/week and sleep 8hrs a day, you only have 8 free hours every day. Discounting the time that you spend going from/to work, the time you spend on meals, personal health (physical and mental), housework etc, how much time is left? In my opinion, very little.

So yes, I prefer to spend this time on my other hobbies. Of course I study by myself, take some online classes, read articles... but I don't allow this to take the most of my free time.

Getting other hobbies opens your mind. Socializing with your friends is important to be, more than a better employee/coder, a better person. If you have a family, even more important to spend time with them.

Life is too short...

If I had no other responsibilities I would certainly spend a lot more time coding (and I did back when I was more free -- before I was an elderly 26 yr old). However ever since my son was born there has been very limited free time for any hobbies, especially something as isolated (from my family) as programming.

All that is just to say that each person has different responsibilities and interests so I would never discount anyone who only codes at work. I would agree with other answers here: 40 hrs, well spent and focused, should be plenty of time to practice the software trade.

Not being passionate about your work is separate from having side projects. I don't really like working with people that aren't passionate about what they do. I don't want people to be overzealous crazed idiots, but showing at least respect, interest, and care for your work are important. This is especially true for fields like programming where there is too much freedom to just coast along and get good results.

As to side-projects, if I worked on my side-project full-time I wouldn't do programming on the side. But I do now, since it's a challenge and programming is what I like. You should make sure your side-project is something you like, that's far better than forcing yourself to do it just for learning sake.

Having any kind of hobby is important though. It makes you a more interesting person. Whether the hobby is programming, photography, or anything else, doesn't matter much, so long as it does something that enriches you, and those you interact with. (I'm also a masseur as a side-project, it's a great contrast to programming.)

I love programming, but I have other hobbies and I don't typically want to go home and do the same thing I just did for 8-9 hours at work. My brain can rarely being "on" for longer than that each day.

Every once in a while, a fun side project will come along, but with one real exception, it never sticks long.

For some added context, I'm a self-taught developer who turned programming as a hobby into a career.

Anyway, it really angers me when I see programmers being judged for not being waist deep in programming 24/7.

I love coding and I love my job.

However, I'm not a huge fan of coding at home. I have tried but I get distracted by other things. I quickly jump to learning other things: reading about woodworking and tools, watching tutorials about Affinity Photo and then try use those techniques on random photos.

I have also started a music and video production company with my buddies so I often find myself writing the next song. Here is my shameless plug for our first music video youtube.com/watch?v=r2ZC3aA4MYE

My wife and I love taking small random trips. We love food so we often try to find something new to try.

All of these things have played significant role in my personal growth. Oh and I am not a huge reader of books but lately I've been spending 15-20 mins reading Clean Code before going to bed.

I have a wife, a plethora of hobbies, and a salary that lets me enjoy them comfortably. I used to code a boatload when I was in college, but once I graduated, I found that most jobs didn't give a crap what I could do with , they wanted to TRAIN ME to work within their code base.

Right now, I'm spending a ton of time at work ripping out a ton of random JavaScript framework junk that someone implemented "because they knew it really well", without any thought as to how the business would be impacted.

Stop pushing this disgusting thought process. We don't need to live and breathe code to be successful developers.

I disagree with the question. There's no such thing as "just programmers"; we all have many other elements to our jobs. We interface with other developers, management, product, and clients. We balance the needs of users with legal constraints and budgetary requirements. We create a healthy tension with sales and marketing to make sure we only make promises we can deliver, but don't underpromise to lose customers/contracts.

Coding might take up the bulk of our time, but it sure as anything isn't the bulk of the important work we do. Past a certain point (which I believe is achievable for the average programmer within 3 years on the job, without too much outside learning), the gains become increasingly marginal when compared with the value in deepening empathy, business sense, familiarity with the company's industry, process optimization, and creating personal and collective senses of ownership and leadership.

So do they spend their weekend nursing a beer, reimplementing Conway's Game of Life? Or do they spend their time coaching Little League, or volunteering at a soup kitchen or animal shelter? Frankly, I consider all these things to be valuable experiences, even within the narrow business perspective, and I'd like a mixture of different types of people on my team.

Finally: Will they stagnate in their growth? I don't see any reason to think so. Here's a pillar of code quality in the Ruby community, Avdi Grimm, on why passion about programming is overrated and kind of ridiculous: virtuouscode.com/2014/02/10/the-pa... I don't think his growth has stagnated due to his proclaimed lack of passion.

They are doing a great job too, they are constant delivering tasks and fixing issues. They are patience and do not have to focus on the big picture. You need them in mature products. They usually (from my exp) do not want/or have time to improve their skills and knowledge, only if needed or are exposed to them (office workshops, new procedures and tech).

You also need devs that push the boundaries and search for future problems and find solutions for them, devs that try to optimize the product, processes and workflows.

Programmers are hard workers by nature, but we should stop judging people by their time work spending. Balance is health. Maybe for you coding at home is okay, maybe for others coding at home is toxic. It depends of the personality of each one. Personally i prefer do exercise, cook, read or fill another area of my interest. If some day i find an idea or project interesting i will programing at home.

One interview question I read about: Do you have a tech blog or a GitHub project?

When I read that I did not.

Also, I envisioned a horrifying follow-up to a No answer: Is that because you don't want to share? Or because you don't have anything worth sharing?

So now I have a blog and a GitHub project, both of which I thoroughly enjoy working on.

IME the majority of people work to live, they don't live to work. Programmers who are passionate about programming are in the fortunate position to earn a living doing something they love. That's great. But there are millions of people in the software field. It's unrealistic to expect all of them to be passionate about programming.

A happy life usually means a balanced life. Doing the same thing 24x7 doesn't sound balanced to me.

That said, programming and related disciplines are not "just a job," they're a profession. Any professional has an obligation to keep up with new developments and keep their skills sharp. That means a professional programmer has to invest some personal time in career development. It doesn't have to be 24x7. There's plenty of space between the person who is bored at work and can't wait to get away from the keyboard, and the passionate developer who can't get enough programming.

I usually advise younger colleagues (who ask) to decide how much of their own time they're willing to invest in their own career growth, and plan to learn about specific new advances in the industry that they think will be of value to them going forward. It isn't necessary that they subordinate their entire lives to their work, but it is necessary that they do more than just show up at work.

I really enjoy coding, it's why I went into a career as a coder, but to be perfectly honest, after 40(ish) hours of sitting at a desk coding in a week, I find it requires a supreme force of will to come home, sit down, and then do more coding, because it feels too much like work. (Tips on how to get around that are very welcome!)

Do I code outside of work? Rarely. Mostly it's just testing out some theories rather than full-blown side-projects.
Does that make my any less passionate about programming or the industry I'm in? Not in the least.

I'm at work surrounded by coding, design, architecture, business discussions all day, 5 days a week, most days over 8 hours. While I don't always have time to be dabbling in the latest and greatest, I'm always looking for how I can improve. I'm always testing out new ideas or finding a day here and there to work on some not-quite-necessary, but would bring benefit to our daily work types of tasks. This is what keeps me refreshed and recharged.

After sitting and staring at a screen all day, one of the last things I usually want to do when I get home is to sit back down at a computer and keep coding. More often than not I'm spending my time outside of work reading tech blogs such as these, searching for new concepts and soaking in the as much as I can. It's from this that I can then form my own ideas and my own theories and often try to put these into practice at work.

It's not about how much screen time you put in, it's about how much heart you have. Do you love your family any less if you don't see them every day? Probably not. It's because it's a part of you that you know you can always go back to. It's not escaping, it's just finding out what works best for you.

I used to enjoy coding at home, and I still have a lot of ideas I get enthusiastic about, but I rarely write anything outside the office other than a quick hacky script to automate something anymore.

This is partly because the things I want to write aren't significantly different to existing projects, partly because I know from experience that it's just going to be for my own amusement rather than anyone else.

What I do a lot more of is hang out on help forums, SO, places like that. I spend more time updating wiki pages and doing the sort of zero-friction documentation you can help out with while the pasta's cooking.

The Pragmatic Programmer advocates investing in your Knowledge Portfolio. Most professionals do this - Doctors, Lawyers, Accountants. If you can do this in paid time great for you.

This is separate from having a passion about your line of work. If you don't enjoy what you do, plenty of people suggest changing profession. On the other hand, being content is good enough. We need people who are content and competent.

Simon Wardley often talks about Pioneers, Settlers and Town Planners agilebusinessmanifesto.com/agilebu... which tells us that some personalities are more beneficial at various stages of product evolution.

Do not forget the people who take work to home (it happened to me more than once)

I think that is nice to have passion for your job, but also relax is important. Stress could be a serious problem, and designing/coding/testing are complex tasks that demand too much patience and thinking, so you could burn out easy.

Enjoy coding, learn and work with the technologies that you like, but also take your time for your family and friends. More is not always better

Programming at home may be enjoying to some developers but not to all.

I love programming at home but if i overdo it, I feel like i am not enjoying when i see other peoples. I do programming at home when i want to learn something new language. Also i have created a side project startuplist.info. While working on the side project i felt like too busy in coding. Coding in office and coding at home, too busy but i was excited in doing that.

Now a days i don't do anything at home, just busy with family stuff and responsibilities. I feel like i am not learning anything new, just working. But that's the way the life is.

May be some companies provide time to learn, may be some don't, they might have less resources and all full of work.

For me its challenging to keep updated with new frameworks and languages, they are so many and changing so frequently. In my opinion one gets actual learning when the person has work on new technology.

I still find building side project is good for learning.

On other interest i read books and write some time.

I identify as a programmer who doesn't program outside of work; save for the odd bit of tinkering once in a blue moon.

While you can call any given person in our line of work a "programmer", I believe there is an important semantic difference: "coder" vs "developer".

For a coder, programming is the job. It's a systematic routine; read spec, produce result.

For a developer, programming is only part of the job: Along with design, project planning, deployment, operation, support, etc.

Personally, I fall on the developer end of the programming spectrum. While I don't necessarily breath, eat and sleep code all hours of the day; I do take problems/ideas home with me mentally to mull over evenings and weekends. The time to put those thoughts into code, however, is at the office.

This is what works for me, but as with anything, we're all individuals, so my spin on things isn't necessarily something that will work for another (or that another will even agree with in principle).

Just because people don't code at home doesn't mean their not passionate for a start. To be honest most people who don't code at home probably have other priorities like; keeping fit, being with their friends and family, raising children, doing something else they like... It's not a big deal that some people clock off when their job is finished not everyone is trying to be the next Zuckerberg.

I think it's more about continued learning rather than coding outside work. I've worked with developers that would not try to learn anything new beyond what they minimally needed to do their job. They obviously did not code outside work and usually were challenging to work with. I've worked with other developers who were passionate about programming, reading about and trying new things. Although many of these folks also did not code outside work either, they were usually a joy to work with.

And frankly someone who spends all their free time outside work coding is probably not a well-rounded individual and in the long-term I think that makes for a poor employee and co-worker.

I'm a passionate about coding. Have more than 6 years of experience and still learning new stuff and I love it. I'm not a junior but neither a senior. According to my employer my rank is like a semi-senior.

I don't like side projects because I couldn't concentrate on another ones. Sometimes I do commits to a couple of open source projects. But to improve at home I like to read stuff about ood design, algorithms and projecteuler/hackerank/codingame exercises.

I would say yes, we improve as programmers and I dare to say maybe more than just freelancing projects at home. Tbh I don't study or practice all days! But I think the most important thing other than side projects is having a true authentic interest for improving your abilities as a programmer.

Not even vaguely fair to equate someones dedication with how much they code outside of work. Most people have responsibilities (never mind interests) outside of coding.

If you have a family and are not spending the very few spare hours you have a day with them then maybe you maybe need to look at your priorities.

If you are coding instead of sleeping enough or getting exercise then you are are making yourself a worse developer.

I can't imagine forming an opinion of a developer on this basis. I understand loving to code and think it's entirely reasonable to work on side projects outside of work. Sometimes there is no better feeling! But I also understanding having a family, friends, volunteering in a nonprofit, and having hobbies that are not coding. So while I'd never criticize someone for coding in off-hours (and I think the surgery analogy is unhelpful here), it is incomprehensible to me that we require that the only way to be respected in our profession is to want to code at night and on weekends and have a life arranged such that it is feasible to do so. Madness.

It depends on how the company treats the employee. My old boss comes to me and says "why the fuck you don't read the source code at your free time, you just have 8 hours here to code, no one has time to teach you fully understand the source code, do it in the weekend!". Well, how I deal with that, I quit, that not the environment for me or everyone else to grow their love of coding and want to code wherever they want. But in another company, I dare to give my opinion, to ask the question, and with that motivation, I work and learning more than 8 hours a day and still have time to play games with my friend and visit my parent...

Sometimes only coding at work doesn't relate to the joy of coding, it relates to health, at least in my case: 8 hours at work, sitting. I need to reach 8000 steps or workout and then there are chores and stuff.

I must say it's true that I expend some more hours sitting at home, probably playing some game, something that doesn't need focused thinking, because getting 'in the zone' takes some time and it isn't something you can quit anytime or to switch constantly, at least if you really want to acquire new knowledge. So, I'm currently struggling to code at home, I might seat once a week maybe, it's life or I'm just a mess.

I've contributed quite a bit to FOSS over the years and have several "passion projects", but I don't think that "has no side project == has no passion for programming" is a valid assertion. Not everybody lives to work, and I have some very talented friends who are good programmers, not least because of their varied interests that they pursue outside the office.

I'd much rather have a dedicated developer who gives 100% at work and then goes home and lives a happy balanced life, than someone who burns himself out in the first couple years on the job. When you're in your 20s you seem invincible, but now that I'm almost 40 I deliberately do less and often pick recreational activities like language learning, drawing, playing video games, or watching movies over weekend/evening coding sessions.

I don't like to talk about other people, I could certainly say how I use time away from work and what works best for me:

  1. I love to take some time away from programming when doing investigative work with hands on approach, it gives me 2 advantages : an opportunity to look at a problem with a fresh eye perspective and my brain can dwell on problems I might be needing to refine

  2. When at home, I suffer if I have ideas that I want to try and no opportunities to do so. I can sense that I stagnate when this happens.

  3. There are times when , in a discussion, one can just tell how many hours of practice someone has put into a skill, he might know about the technique, but their lack of skill shows and is detrimental to my productivity when in a discussion

That being said, I think we as humans tend to think less of people that don't put the hours in. I however love to lead people and there is certainly a place for people that know techniques in the teams I interact with or am part of.

I believe every programmer should code outside of work & expand their skills, after all it's something that changes everyday. No matter how good you are there's always learning to be done.

I've been quite bad lately, I definitely want to code outside of work, build on my skills & see where it takes me. I just don't want to programme at work, just need to get back into the habit of just programming.

I love to code. Deeply. At work, I experiment on things and do my job, i make things work: I code. So I guess I can be called a programmer. I love it, I read blog posts all the time. I try to keep myself up to date by knowing what's happening. New languages, new frameworks, new algorithms on github etc.. so I think I match the "passionate" tag you're talking about. Yet, at home, I don't code.. at all! I play/record music, I hang out with friends, I read..

So right from the start I think you're mistaken. You can be passionate, learn and progress daily at work and have a personal life unlinked to the programming world. That's what I do. One of my colleagues codes day and night. He's crazy good. Yet i teach him things as much as he teaches me things. I guess as long as you want to learn, you don't necessarily need to spent hours on your spare time to become a better programmer.

Good point! The most important is to balance work with personal life! Every mind works in a different way, so it os important to know how yours work. Off course that when we are passionate about something, we think about it all the time. As a designer, I do have my personal projects and work with it at home, but for this area, I also think that is important to go to museums, watch movies, read books, have a hobbie that is not related to design and enjoy life!

I find the question is representative of a kind of company culture. The startup-mentality, go-for-broke type companies are looking for "ninjas", "superheroes", "geniuses" and so on. They want their employees to live and breath their work, and if we're not being particularly generous about it, they want this because it benefits them. Remember that if we're talking about full-time engineers, these people are doing somewhere around 30-40 hours of developmental work a week. That's a significant amount of time learning and improving as one solves problems and exercises their muscles. I would suggest stagnation would only occur if you got away from development entirely - say if you moved into a management and were organizing a project rather than spending time in the code.

I know lots of people who work at work and do other things entirely at home. One thing I want to bring up: The question asks if people who don't program can continue to improve. If we answer yes, then we're biasing towards people who have the time and energy to do so, and saying that those who don't have no hope of growth.

Personally I find strange those programmers who never ever program in their free time. I am not talking about make your own projects, study on a daily basis or bring job to your home. What I mean is about passion for programming, about curiosity for make things that you dont do in your job, for learn things that you are not learning in your job. And again, this is not about programming every day after job. For example, if you REALLY enjoy reading books theb you dont even need to plan to read a book per week or per month, it just happens. On the same way if you really love programming you will give few hours of your time, not every day, but maybe one or two daya per weeks. Not because you make the plan to do it like that in order to grow as programmer,but because it just happen.

That is sad.

I enjoy my work, I like doing stuff, also at home. In matter of people who does not enjoy it, for me, seems like they are not learning as much as they can. Their skills can be easily extended, but they said, why to bother?

It depends on what project they belong to. If any old, not exciting stuff need to be handled, they are best devs for that. If you enjoy coding, you are looking for opportunities to participate in exciting, new, fresh stuff. You can sacrifice your private time to speed up projects. And vary appreciate if it finally works.

This is how I see it, what do you think about link between projects and this kind of devs?

I don’t code at home, but I’m very passionate about building software. It’s all about balance. I need time to remain focused on my work and time to focus on my family and my creative pursuits. I build items in wood, leather and paint watercolors, because if I only coded at work and home, I would lack depth, and I’d burn out quickly. I am very passionate about code, but I also have other passions too.

I think the word "passion" is overused in our field. There are individuals who really love programming and want to hone their craft at every opportunity. Then there are those who don't really have feelings about the work, but it's what they learned to do and they need the job. The majority are probably somewhere in between those extremes. They're serious about doing a good job, but they're satisfied focusing on whatever their current employer asks them to learn and do. Frankly I don't see a problem with any of those categories. People need to do whatever they need to do. For some, the work is just a paycheck; for others, it's a serious vocation; for others, it's part of what makes them who they are. It's all good.

I see no reason why someone isn't capable of being an awesome programmer and also not being very into it.

But if I were hiring someone to build something for me and I saw one person who loved building those things and was genuinely passionate about it and another person who seemed more "meh, it's a job" about it... I'd pick the passionate person. Especially if I were creating a team and wanted to foster a culture of people who are passionate about building that thing.

Coding at home is not an indicator of passion. Some people only code at work and they really love coding. However, I do believe that in the long run if someone spends 12h per day doing something and someone else spends 8h per day, eventually, the person who spends 12h per day will achieve a higher level of mastery. There are exceptions of course (so people can learn in 1 hour what other learn in many more hours).

Some people don't code at home but they do read, watch conference, etc talks at home.

I guess the important things is not how many hours do you spend writing code but how many hours do you spend learning something new.

You can be very passionate about programming and not have side projects, but the inverse can also be true. I have side programming projects, but I also have many other interests which compete for my time. When I'm already coding 40 hours a week, it's sometimes hard to justify doing even more when I have an array of other things I'd like to do.

That said, if you don't at least find joy in programming at work, that would probably show in your interactions with colleagues and cause you to stagnate somewhat.

Can you be a coder and only code at work? With the proliferation of hundreds of frameworks, the never-ending list of new languages and the pressure to be successful; Can someone, just starting out, afford to only code at work?

Not saying you can't. Personally, I like going home, working on 3D animation, or playing my guitar. I have side projects going and want to start writing more.

Coding pays really well, so I wouldn't be at all surprised if this were the case for the majority of programmers. If you're good enough at it, I don't care if you enjoy it. People who are not super-passionate are often more pragmatic and focussed on getting the job done.

I don't think it has an impact on learning. It's the employer's responsibility to allow and enable learning during working-hours, and take care of mentoring. If you do 2-4 hours of focussed productive work a day, you won't have much energy left in the evenings, after all.

(I personally learn new stuff at home all the time, but that's because I enjoy typing code, not because I feel obliged to improve in my spare time.)

"What's your opinion on programmers who are not passionate about programming, have no side projects and only program at their jobs"

That is the mistake, assuming people with side projects are the only "passionate" ones. It is an indicator but is never a correlation. The most passionate dev I've ever known has less than 5 green squares in his 2017 github timetable. Devs need free time to dedicate to other hobbies they have, or to programming but in a different way (for example, watching confs in youtube or reading security/programming posts)

Just my 2 cents. I am passionate at writing clean code, making things better and learning new tech, but I also have plenty of other hobbies that I love spending time on. In addition, spending time with my family, including our dog is high priority to me, after all, I spend more than 40 hours per week away from my family. I also spend a big chunk of weekend time volunteering at a local animal shelter as well. So given a limited time you have, you just have to decide what is more important to you. I agree with other readers, being passionate about programming is not highly correlated to having side projects :)

I feel like if you replace "programmers" with almost any other profession and suddenly you look like an asshole if you think it's a negative quality to only do your job at your job.

Also the first sentence contains a number of false equivalencies that makes the question hard to parse without specifying ands or ors.

I don't code outside my job because I make theatre and parent and support my partner in my spare time and I am 100% sure it makes my life richer than if I spent my off-time staring at code. If an employer were to have a problem with that, I would attempt to do everything to avoid associating with that employer.

I like to code outside of work to expand my knowledge. Since my day job is as a mainframe Cobol programmer/analyst I don't get exposed to the new technologies like Javascript, Swift, etc. from my job. So, coming home at night and dabbling in those is good, especially if during the day I didn't do much coding.

Work burns my brain out so damn much I can't do anything even remotely mentally-draining by the time I get home. Forced lack of sleep all week long doesn't help either. I have 9 side projects I want to do so far and counting, yet even gaming is too difficult! From time to time, I get a tiny bit of vigor back over the weekend that I manage to do a couple hours of side project work. It's just too much, when you're learning a completely new stack, new language, new architecture, new everything and doing it all at once, there's far too much learning and brain usage going on to allow room for anything else. Your brain needs rest too.

Needless to say, as soon as this project is over I'll be having my fun. Until then, I remain a slave making somebody else rich :(

Two devs on my team have small children. How vile would it be for me to ding them at salary review because they don't have side projects to prove that they're "passionate"?

And as a team lead, how short-sighted and bad at my job am I if I don't give the devs on my team chances to improve their skills at work?

I personally love to code, but I don't want it taking up my whole life. I feel like there's a huge stigma that if you're not constantly coding, it means you're lazy to learn. I spent majority of 2016 learning new things, joining all the hackathons I could, and building up my portfolio hoping to get noticed. And I did--I landed a job at an amazing company while I was on my last year of school. But now, I feel like if I strive for the same amount of work I did last year, I would burn out.

I enjoyed doing side projects, but being able to is a privilege. Like having parents who let you live there without paying rent or food. Or having the endurance to continue doing programming stuff after 8h of work.

When I work for 8h a day, Iam not able to continue programming anymore.

You are mentioning passionate. People would still see me as passionate (learning how to act in certain ways is a very valuable skill)
The last time I was passionate about programming or my job as programmer was at least one year ago. Actually Iam not even sure about this, it could already be years. And actually I dont even talk about being passionate, but only about enjoying it.(can you even be passionate without enjoying it? what is more important?)

Let me repeat this, I dont enjoy my work as a programmer.

You could ask a lot of people about me, and a lot of them would clearly describe me as a senior dev. (besides real senior skills have not so much to do with programming skills, but thats another story)

Why do I still work as a programmer you may ask.
Because my work is ok enough to earn money with it and fulfill peoples needs.
Also its all Iam able to. I dont have a real choice, there is nothing else I could switch to without failing massively.

Next time you think about people being passionate or enjoying what they do, think about the one who is fulfilling your fast food order, or who delivers your Amazon package.

My take on it is as follows,

For 13 years straight without missing a beat, I read every day. I practiced the exercises, even when I hit a sour point in my life (IE very sick) I still read. However I never felt that I was moving fast.

It was only recently that I realized that having a balance of home / work did I start to learn more and at a faster rate. I started to realize I only need to learn what I need to know to get the job done.

So I feel that to answer your question I fall somewhere in between. I will code when I feel and itch coming on, but other days I will spend my time having fun with my family.

I agree with the others that we shouldn't judge those that don't want to program 24x7 nor should we push for developers to do that unless we want to start burning people out at an accelerated rate

I don't enjoy programming at home, either. The reason being that at work I don't have to maintain my tool chain alone, I get inspired by my co-workers and get tasks from the business that are actually challenging.

Not coding at home doesn't mean I am not passionate about coding. I constantly learn: Reading blogs, answering on Stackoverflow, watching videos, attending user groups, unconferences and conferences - most of it in my free time, on my own budget.

I can completely relate to anyone who separates work from private life. It's just part of the contract: I get paid for my time at work, and my task is coding, so I code during work time. When work ends, I am free to do what I like. If I don't like doing more coding, that's fine. That however does in no way tell anything about passion.

Can people improve that are not passionate about what they do? Yes. It'll probably take more time, and maybe they don't reach the top level - but this can even happen to the most passionate folks if they have the passion, but lack the skill.

Well, people are heading towards simplifying just abt everything in computer science nowadays which makes it sooooo interesting to read beyond programming. I am a programmer and I enjoy building n reading abt devops solutions when I am not programming. Does this makes me bad programmer ? Dunno, but I enjoy what I do. Even of I am not doing anything, I read snippets abt all the cool stuff ppl r tweeting abt in computer science.

There are a lot of things that are only possible coding at home, for example, the whole desmocene thing, most of the people that participate or just follow desmocene events have a work where they can't practice or create something related to the demoscene like intros, music, shader coding, executable graphics, etc... These things are learned and mastered at home.

What about the ludum dare? People participate in ludum dares from their homes, and that means that part of the team code a game at home (and propably they learned to do that coding at home first).

What about new projects published on github by individuals at their homes that eventually become well known production tools in companies (probably because someone tried it at home)?

What about people that wants to change their careers? I was coding for an insurance company for 5 years and I realized that I wanted to make videogames and get a job in the videogame industry, how do you thing I reached this dream? Coding pet projects at home of course.

If you don't code at home, you are a slave of whatever your job wants from you, you can not learn new things if your job doesn't require it, you can't improve your skills if your job doesn't demand for it.

For a lot of people coding just at work it's ok, and I'm ok with that, but coding at home It's a very valuable activity that even people that doesn't code at home get benefited from, and every time I will require to learn/try/practice/understand/master something that I can't do at work, I will code it at home.

I would love to be one of those programmers who code at home on a cool project. But the simple truth is that i have not come up with a good idea yet.

Apart from that, id prefer a colleague who has a working social life, does some sort of sport and has other interests than coding too.

Well, it's just a job that sometimes I enjoy. It's quite stressful though and I think my life shouldn't be summed up to be a programmer. I like other stuff that demand dedication like music, drawing and gaming.

I think carpenter is different job, I don’t have faith in a doctor that only visit people and don’t study. Coding at home for me is to learn and do better

I coded for work, now I code for hobby but it is only one of my hobbies!

Some comments say that many CEO dont even program after job.Actually many CEO are not even good programmers, they are more like managers, so of course they dont need to be great coding.

Let's see how you feel coding for +-12 hrs a day at work.

You have to separate study from work.

Writing code was my passion before it became my career. Now it's just a means to an end, the end being enjoying my life outside of work. That doesn't mean I do not write code at home when I'm in the mood, but I'm not about to be defined by my GitHub pull requests either.

I don't think coding should be a devs only soul passion or purpose in life. However, that doesn't mean you let your skills go stale.

They sound like well-balanced humans who understand their role as workers and want to enjoy what life has to offer outside of adding surplus value to someone else’s pile of gold

This is gross. Please don't associate passion with writing code all the time.