1. 23
  1.  

  2. 18

    I’ve seen this sentiment being expressed by quite a few people recently, and it makes me happy.

    I recently met one of my programming heroes, and we were geeking out and it was wonderful; it felt really nice that I could keep up with them and that we shared so many opinions. Then I asked what they do when they’re not programming. They paused, and then told me they don’t do much else.

    Which is also fine, of course, but to me it highlighted how individual this is. Up until then I felt like we were extremely similar. But, I need time to play guitar, patch synthesisers, be outside in nature, draw, fiddle with electronics, play video games, and all the other things I enjoy doing, and need to do in order to feel like a whole human. That leaves almost no time for programming outside of work.

    So in that way, we were each other’s complete opposite, and that’s great! What we choose to do in our spare time does not determine how skilled we are at programming, and everyone in tech shouldn’t be the same.

    (Although right now I am unemployed, so I can get some coding in anyway 😉)

    1. 5

      In many areas, (architecture, electronics, finance, …) people aren’t using their “work” skills at home. I mean…

      • How many electronics engineers are working on open-designs on weekends (you’ll find some, obviously, but proportionally, not that much)?
      • How many architects are just doing pet projects on weekends? Again you’ll find some… but it’s far from the majority.
      • How many accountants are doing accounting on weekends? … Maybe a bit on their own finance… but common…

      To me it’s a not even a situation, and even if it’s a good way to recruit, it’s not mandatory and shouldn’t be.

      1. 19

        At the risk of being so terse that others will pedantically snipe my obviously flawed reasoning: programming is a deeply creative endeavor, its only effective cost is time, and the results of a working program can be tangibly experienced without any additional cost. The raw materials for programming are comparatively cheap. To that end, it is no surprise at all that there are many people who code on their free time in contrast to many other professions.

        1. 3

          I see two arguments here, creativity and cost. Compatibility is not creative, but it is cheap (a computer + excel + paper). Architecture is creative and (to the relative extent of seeing results) cheap (paper/computer). I know your point and won’t enter in the debate of creativity but I still don’t understand why we talk so much about this. My ideas are:

          • It’s a self reinforcing loop (people code in the weekend, people that are not are feeling bad about not doing so, so they start doing it…).
          • It’s not so different from few other creative work, but we tend to talk/share much more about it.
          1. 0

            programming is a deeply creative endeavor

            I challenge that assertion. It’s no more creative than construction work or any other trade.

            1. 11

              Have you ever worked in construction or any other trade? What makes you think that those things aren’t creative?

              You implication suggests you believe the trades aren’t creative. As someone who has spent a few summers hanging drywall, and who has a family full of tradesmen, I would challenge the implication that the trades do not require a fair amount of creativity.

              Any problem-solving discipline requires creativity. In the trades, this is readily apparent the first time you talk to someone who has to coordinate the logistics of moving several tons of material up a narrow street that must remain open to regular traffic. Or when you talk to the plumber who has to retrofit three different piping systems in the same house reno so that shit won’t literally fly out of the toilets when it rains more than 3/4”. Or when you talk to the surveyor who has to figure out how to shoot a line through dense woods so she can accurately determine the property line because the next door neighbor is under the mistaken impression that they own land 13’ past where they actually do.

              These are all real examples of situations which required creative solutions. No instruction manual exists to tell the GC how to coordinate those material deliveries, help the plumber design a wastewater system for a house, or help shoot a straight property line in dense situtations. These people rely on ingenuity and experience, as well as their creativity, to help them find a solution.

              So I suppose in a sense I agree with you, Programming isn’t any more creative than the trades; but I disagree with your implication that either are not creative processes.

              1. 3

                I haven’t worked trades but I’ve done supervision for engineering. I agree they are creative. Just as creative as programming. I guess my phrasing was poor. I meant to imply that trades people aren’t hired for doing big weekend hobby projects on tradehub.

                And while I think it is creative I don’t think it is deeply creative in the sense that it is more art than mechanics. While there is an art, it isn’t itself an art. Many jobs for trades and programming are pretty routine and boring work.

                1. 3

                  Note that I listed several reasons why programming attracts a lot of folks that do it in their free time. In the common case, creativity alone isn’t sufficient. The expenditure of resources to realize a result is a key ingredient to my argument.

              2. 5

                I challenge that assertion. It’s no more creative than construction work or any other trade.

                To the extent that the level of creativity can be compared, I disagree. To the extent that the level of creativity cannot be compared, I agree.

                Pick your assumptions. I don’t really care otherwise, and I think the direction you’re drawing me in is a pointless waste of time.

        2. 12

          How does this work. If programmer A spends ~5 hours a day programming at work and programmer B spends the same at work and then a few hours at home how can they be anything but better? Practice improves skills so unless your programming at home is just adding 1+1 in python all day how can you not come out better?

          1. 8

            The key to understanding this conundrum is that there is a tension between one’s workplace environment and what one does after work for programmers. The essential problem is that someone who writes code in their free time (not necessarily for work) and is passionate about it is likely going to be viewed favorably in contrast to someone who doesn’t do that. The problem here is that it ups the ante by setting a bar that is unreasonably high. It is viewed as a significant problem likely because there are many people who code on their free time and enjoy it. This has a serious impact on the work environment. At the very least:

            • If someone is coding a lot in their free time, others may feel obligated to do the same, even if they don’t want to. This is an indirect form of social pressure, and a lot of people view it negatively.
            • Often times, people will use weasel words like “I want someone passionate” to mean “I want someone to dedicate a lot more than 40 hour work week to their practice.” Thus, there are lots of emotions bottled up in words like “passionate.” On the one hand, it is an admirable quality. On the other hand, it’s doublespeak.

            Combating these sorts of things is difficult. Posts like this one seem to be doing just that. I think it’s not a bad idea, even though I don’t know what to do with the implied conclusion: “diversity is good, and everyone brings their own skillset to the table.” To me, it’s vacuously true, but I don’t know what to do with it. Maybe it means we should be playing to each individual’s strengths? Sure, that seems fine. But it neglects to answer the hard questions: what do you do when an individual’s strengths aren’t a match for what you need to accomplish? Or what if the individual has too few strengths?

            In any case, I do think the argumentation has kind of reached a ridiculous level. In most walks of life, I’d be willing to wager that more practice on foo generally results in stronger skills in foo. There’s all sorts of ways you can dice that up with respect to the form of that practice, but I don’t think it weakens the point. It is just a correlation after all, and isn’t always true. As best I can tell, these types of posts are gentle reminders of that fact, but equalizing everything in that pursuit seems like folly.

            Alas, I may have a skewed perspective. I didn’t grow up programming. I grew up in competitive sports. That others may be more naturally gifted or more dedicated to practice was as natural to me as anything. (Note that I am not making an analogy; competitive childhood sports are not the same as one’s livelihood. I’m just explaining my perspective.)

            1. 4

              I guess if programmer A spends the rest of the time in coma your model works, but the problem is that 5 hours of programming everyday may well bring you to the saturation point where programming further does little to improve your skills, while doing other things to improve your health and general intelligence indirectly improve your performance more.

              1. 3

                I guess if programmer A spends the rest of the time in coma your model works

                Sure, let’s borrow varjag’s examples and assume programmer A spends the corresponding time on guitar, photography, or snowboarding. Do you really think it’s likely - not possible, but likely - that A is a better programmer than B?

                1. 5

                  Well, yes. Do you think it’s unlikely? Why?

                  The comment you’re replying to about a saturation point explains why it is. I’d also add that guitar, photography and snowboarding all can contribute to understanding yourself and life in general which then translates into being a better programmer. Programmers who think that programming is only about coding tend not to be very good programmers.

                  1. 2

                    Do you really think it’s likely - not possible, but likely - that A is a better programmer than B?

                    I think the image in your mind is 5 hours of boring repetitive enterprise work + 3 hours of explorative programming, then it’s of course not likely. But if we’re comparing 5 hours vs. 8 hours of similar kind of programming, I wouldn’t be surprised. Think about a body builder, would you really be surprised if someone who lifted weights 5 hours/day ended up stronger than someone that does 8?

                    Besides, it also depends on what you include in the notion of “a good programmer”? Is it lines of code per minute? Then 8 hours might be better. But if you include things like the ability to mentor others, understand the domain better to spot spec errors, communicate with the rest of the organisation to solve other people’s problems and get things done, schedule activities etc. 3 hours solitary programming will definitely not help on those areas, and programmer A will most probably be better at them.

                    1. 1

                      A will most probably be better at them.

                      But why will A be better? Why is it assumed that the programmer who programs in their free time will be doing worse at work?

                      1. 1

                        The point is programming isn’t only about programming. Even if you’re a 10x faster at the keyboard, you still need to understand what the customer needs, what designers had in mind, what the product management prioritizes, what the sales has promised, how the standards are applied/violated, how devops deploys your code, how support tries to diagnose problems etc.. At the end of the day, this is all a huge team effort. Your programming ability is of course important, but there’s a multiplicative factor in front of it, which is determined by your ability to communicate with other people. Otherwise, you’ll be writing useless code (however efficiently you might write it).

                        The question is, if programmer B keeps writing code all the time, when will they develop their soft skills? Obviously, programmer B might still be a pleasant individual, who’s attentive and one who cares about other’s opinions, observations and feelings. The whole point is you need to develop those skills as well.

                2. 2

                  More time does not necessarily result in being better - the practice has to be deliberate - and actually improve the skill you are practising. Otherwise it can be counter productive.

                  1. 5

                    Let’s say your hobby is not programming but guitar, photography or snowboarding. Would you say more practice doesn’t necessarily help?

                    1. 4

                      As a BMX coach - I would definitely say that more practice does not always help - especially if the technique is not correct as what you create is a habit / reflex / muscle memory that is not beneficial. Yes it is possible to re-programme a bad habit but it takes a lot more work, effort and practice to change the bad habit into a good one. So deliberate practice is far more valuable that quantity of practice. Also, in sports if you do things when you are tired / worn out there can be an enhanced risk of injury - which is really detrimental as then you add a pain response…

                      I believe the same is true for musical instruments, but I’m tone deaf so don’t take my word for it ;~)

                      1. 4

                        I’ve played guitar for 20+ years, it’s the same for musical instruments. Deliberate, effective practice is hard, and too much of it can seriously hurt you (I have some hand issues because I wasn’t careful enough for a stretch of time).

                    2. 3

                      How can more practice make you worse, if you are doing the same things at work as programmer A then you would have to try really hard to get worse with your at home programming. I also find my at home programming gives me many skills I can take to work because I can mess around with random things that I don’t know will be of any use and sometimes they are where as at work it’s all kept fairly safe.

                      1. 4

                        The following article from Havard Business Review[1] has some interesting research into the problems of practice. Unfortunately, I’m unable to find an open access copy of the article.

                        [1]The making of an expert, Harvard business review, the article can be read here

                  2. 11

                    Sure, there are plenty of solid “9 to 5” coders around. Some people have no passion for programming, yet are naturally gifted for it.

                    However, one problem is recruiting. For every naturally gifted “pragmatist”, there’s a handful who have neither passion nor an aptitude for it. With enthusiasts it’s relatively infrequent you’d stumble on a total dummy. Perhaps that’s what is behind the GitHub participation interview metric (and the tendency to cheat that of course).

                    1. 10

                      I don’t think it’s fair to say someone who predominately writes code 9–5 isn’t “passionate”. There’s a difference between passion and singular devotion, and it’s entirely possible to be a good coder who takes pride in your craft while also, for the most part, pursuing other hobbies in your spare time.

                      1. 15

                        It seems like people are using the word “passion” in place of “competence”. You don’t have to be passionate to be a solid employee.

                        1. 3

                          Yes, when I wrote passionate I meant passionate. I can be good and very efficient at cleaning, that doesn’t make me passionate janitor if by life circumstance I end up doing that.

                        2. 5

                          I hope I will meet more 9–5 software developers who have a passion, who at 5pm can’t wait to see the end of the problem we’re debugging, who due to family/hobbies/whatever has to leave, but is yearning to get back the day after to together resolve the issue. These people and those for whom programming is their main hobby, they all inspire me and cause me to want to learn new things, figure things out, resolve issues and in general make things better. I hope I inspire others to do the same. :-)

                          1. 7

                            Well, hello there, I’m one. A passionate developer, who tries not to do work on my personal time. A few things to clarify though:

                            • I believe you’re falsely equating the desire to end work at the same time daily with hating it. The former is just an issue of organizing one’s time that becomes more important the more responsibilities you take both at and off work. Coding without recess or sleep is usually a sign of a young person who can afford it physically. But it’s never efficient.

                            • You don’t have to immediately shut off your work laptop at 17:00:00 to make it count. We’re not robots. When I have a few spare hours on a weekend I prefer not to log in to work and run tests I didn’t finish on Friday. I’m pretty sure Monday is going to be just right for it. But if there’s an occasional thing I think I can actually finish in half an hour extra work, I’m fine with it too. Just use your best judgment and learn not to slip into doing more and more work.

                            • Dropping work every day at reasonable time doesn’t mean a programmer has no passion. It just means they have other passions, too.

                            1. 1

                              Hi, fellow passionate developer! :)

                              I think I understand what you mean, but it is not about me thinking people hate their work. Perhaps it would be more accurate to say I might be “falsely equating the desire to end work at the same time daily with not caring too much about what you do”. What I’m looking for is the expressed desire or yearning to want to finish things, but having to leave for whatever reason. That is is enough for me, I’m not asking for people to sacrifice their family life.

                              And I didn’t mean that one has to incessantly check one’s work mail or coding from home during the weekend, at the benefit of one’s employer (of course(!) one should get paid for the work, at all times).

                              For me programming is not something I only do to get paid, I do it without getting paid too (own projects, or contributing to open source in my spare time). Hence I’m usually interested in what developers code or what tools they look into in their spare time when they are not limited to what the company, its development process, the project manager or the customers ask for.

                              Sorry for not expressing myself more clearly. I hope my point comes across more clearly now, even though you might still not agree with me.

                              PS. I don’t know so much about Chinese tea brewing, but I’m currently learning Chinese. :)

                              1. 2

                                Yes, it’s more clear now, thanks! Let me clarify myself as well:

                                What I’m looking for is the expressed desire or yearning to want to finish things, but having to leave for whatever reason.

                                The reason for leaving work at reasonable time is the acceptance of the fact that body and mind need rest in order to continue doing that work efficiently over a longer period. I don’t just cut myself out of it for the sake of not doing it. It wasn’t like that for me when I was in my twenties, but with age I learned that sweet spot of diminishing return when I know that pressing on for longer would produce too little for too much effort. So I learned to take my hands off keyboard and let my brain work on things in background, while I do my cooking/running/parenting/whatever.

                                By the way, it doesn’t have to be exactly 8 hours. For myself I learned that I can’t really be in the flow for longer than 3-4 hours a day, with rare exceptions. And I’m lucky to work at a company that lets me manage my own time in this way.

                          2. 1

                            Sure you can redefine “passionate” to mean anyone remotely competent, but then we just end up needing another word for passionate, er, people who are interested in programming beyond their careers.

                            1. 2

                              I’ve beem thinking about this a bit today, so I’m going to try and distil those thoughts down here:

                              1. Beyond a certain point in your career, a singular focus on code can become pretty limiting. The profession of software development encompasses so many different disciplines, and narrowly defining it as ‘writing code’ can lead you to neglect those.
                              2. I write better code when I’m well rested, I’ve eaten well, and I’m in s good mood. One of the things I’ve had to learn to do is to cut myself off when it’s necessary; to not work ‘til 3am on that side project that I can’t stop thinking about, to go out and do stuff on my weekends and not feel like I’m wasting time I could be using on side projects. This one has been hard for me.
                              3. Any job where you’re expected to tend to your professional development on your own time is a lousy job. I’m lucky to work at a company where we have time and money put aside each and e dry employee to spend on professional development, and I recognise this isn’t the case for a lot of working developers. But he point still stands.
                              4. Often the concept of ‘passion’ and pride in one’s work is used by employers to justify things like unpaid overtime, unrealistic deadlines, and so on and so forth. I always feel guilty doing it, but sometimes the best thing to do is go home at 5, let your work wait, and not try to make unrealistic schedules work through Herculean will and passion.
                              1. 4

                                Beyond a certain point in your career, a singular focus on code can become pretty limiting.

                                I find it interesting that you seem to see writing code as a means for career advancement. For me, the career advancement is the chore I have to manage in order to keep coding.

                                1. 2

                                  Can’t really object to any of your points, but I feel none of them has much bearing as to whether someone is passionate about something or not. My mention of passion wasn’t an attempt to guilt-trip, am perfectly OK with professionals who just do what they paid to do without consuming interest in the trade.

                          3. 9

                            I’ve come to realize how much perspectives shift when people have kids. Finding time that is most likely to be uninterrupted outside of work is kinda limited. Also, nobody’s going to give you back your play time once the kids have grown old.

                            1. 4

                              It’s so true. I don’t code, or even play video games anymore, because I try to be a good husband and father first. I can do all that other crap later once the kids are old. 😃

                            2. 9

                              “Only code at work? That doesn’t make you a worse programmer”

                              The counter-point is: it doesn’t make you a better programmer either.

                              Before I’m down-voted into oblivion I just want to mention that I hope it’s obvious what we’re doing here. We’re attempting “social steering.” About a decade ago, the ethic was: put in the outside-work hours on open source and everything else to “get good.” Now, the pendulum swings in the other way because that other path can be ruinous. It can burn people out and make people feel less comfortable if they feel that they should be doing the same thing. The latter is the real problem.

                              Fact of the matter is, the truth is in the middle and neither way of approaching career is the “right one.” That’s a more nuanced view than most. It might not be welcome while we attempt to “socially steer.”

                              1. 8

                                As someone who does have lots of coding-related (and generally comp-sci-related) side projects, I think I’ve always assumed it was actually anti-correlated with being a good 9-5 programmer. :-) It’s probably positively correlated with other useful things, but programming as an employee, especially in a large company setting, is a lot different than personal projects where you have a lot of control over the goals, methods, environment, etc. I think many people with strong personal technical interests can have trouble fitting in well into a more corporate-programming type environment. While someone for whom it’s explicitly a job like any other might do better at that.

                                1. 4

                                  ‘if you get enough smart programmers together all they do is make lisp, so you have to make sure theres some less-smart “control rod” programmers in the team. one of the more famous criticality incidents of this type is naughty dog, who were trying to make crash bandicoot or something but ended up, thats right, making a lisp’ - https://mastodon.social/@jk/99170266281651613

                                  There’s definitely a certain type of “smart” that is correlated with lots of OSS contributions and tends to obsess over getting things “just right” in ways that are not at all related to the goals of the team.

                                  On the other hand, sometimes I feel like side-projects can function as a cleverness release valve which allows that impulse to be channeled away from business-critical codebases.

                                2. 3

                                  It can be hard to tell the difference between a programmer who can’t program, someone who says they are a programmer when they are actually a manager, and someone who programs 9-5 but has a busy lifestyle or other interests outside of work. An online listing of even just 3 or 4 projects can:

                                  1. “Somewhat” prove they know how to program, you will still want to double check they didn’t just clone and push, at least check that they have made some commits.
                                  2. Show what they are interested in outside of work, do they work on grunt work at work, but are actually really good at algorithms? At the interview for my current job they could see I am mad about C++, cross platform code, and writing game engines. These 3 things were exactly what we talked about at the interview. There were 3 interviewers which was 2 more than at my other interviews, but it was the least stressful. It can indicate whether the candidate will enjoy the work at the company and it can provide topics for the interviewer to focus on. Another candidate was interviewed about the programming language they had developed.
                                  3. Show how they think about problems, what their coding style is like when they have zero (Or Less) constraints.
                                  4. Show that they can finish stuff.
                                  1. 2

                                    I’d have preferred an argument along the lines of “please stop driving down my market value by doing things for free” or just a treatment of the “software as a means to an end” view.

                                    As it stands, the post just reads like a list of excuses, including the false dichotomy of “enthusiast” (meh) vs “pragmatist” (yay). Though that would make for a pretty decent Virgin Enthusiast vs. Chad Pragmatist meme.

                                    1. 1

                                      I’ve thought about this on and off over the years and I feel like the answer is maybe. Sometimes you absolutely need to do stuff outside of work to advance your career and maybe sometimes you should just be focusing on other aspects of your life.

                                      Generally speaking however I think people who actually try to improve on a daily basis rather than just doing the absolute minimum each day has more of an effect career wise than coding outside of work.