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.
Update, 2 years later. So, I appreciate all of your responses and since I started developing full time ( not a student anymore ), I can see how people don't have much time to polish their skills outside of their work. However, I want to become better, so I rather sleep less, and try to learn about framework specific things I do not understand in detail yet. Sometimes i even work on work projects in my free time, because i like how they were developed and i want to ingrain those practices into my mind, so when I'll have to make a project from scratch, I'll predict what pitfalls to avoid and how the data should be organised. I really want to show my manager and my mentor that I am capable of not just being a code monkey, but also coming up with inventive solutions to unique problems i'll face along the way.
Now, I understand that my eagerness to work in my free time will slowly fade, but, lately I don't even feel the desire to party because I'm tired/ have work tomorrow and to be honest, I don't even miss going out. Of course, I go out for the occassional coffee, date, hangout, but sometimes i'd rather just stay at home and code 😅
Top comments (140)
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
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! 💖
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.
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 😊
Couldn't say it any better. Well said!
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).
Agreed, well said.
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
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!
Great response Leighton. I am fully agree with you.
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.
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.
Very well articulated! Totally agree.
Yeah, great reply.
Separate work and home lives well is essential to make more creative works.
In France people can't be fired easily so they don't feel pressure to do coding out of work :)
Really great way to put it. Kudos to all the companies who care about their employee's growth😃
Very well said!
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:
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.
This is exactly the same for me! I couldn’t have explained better than you. Thanks ;-)
Here's an inventory of all my side projects, for anyone who's interested:
GitHub Graveyards: I'll show you mine...
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.
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.
Give me a competent colleage who only codes at work over an enthusiastic magpie developer, any day of the week
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.
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.
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.
Zombie thread response, but I find this an offensively dated view on families.
I have managed my two young daughters on my own and still manage time to code, read and learn about technologies and many other hobbies.
Where do I get that time? Aside from the weekends (when I sometimes teach them), typically after my children go to bed. It's probably during the average 4-5 hours that other people spend watching TV.
I'm not saying that it should be mandatory, like anyone else; that was your leap.
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...
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.
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.
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.
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.
Stop pushing this disgusting thought process. We don't need to live and breathe code to be successful developers.
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.)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.