Whatever little credibility you had up to this point you've just lost.
Whatever little credibility you had up to this point you've just lost.
ps. if you have to spend all your free time studying to avoid losing your job, you never actually had any free time to begin with.
Is it stupid because it isn't true or is it stupid because you don't want it to be true?
the best and most productive programmers i know have lots of other hobbies and interests, both cerebral and physical. they are intellectually gifted people.
if you need to try that hard, maybe you're just not that smart. i learned that early, because i'm not that smart, and working 18 hours a day sure as hell didn't fix that.
Do people who program in their spare time usually work 18 hour days?
I work an 8 hour day. I may spend another several hours coding on some days, but I would characterize that as play, not work. I try to do things that I don't think I could convince anyone to pay me for.
I have done a lot of weird things as "hobby" projects with even weirder technologies, including interfacing with smartcards in PHP (don't ask), working with cheap-ass Chinese thermoprinters, electronic chips, devkits, FPGAs, operating a mixed OpenLDAP/AD stack,... and I very often have profited at my job from the knowledge I gained while developing.
Oh, and someone who never heard of Apache rewrite rules please shouldn't call himself a full-stack developer. Ops (and being able to formulate ops requirements to a hoster!) are a part of the stack, too, not just deploying some nodejs stuff to a container in the cloud.
There was a time when I was younger where I spent a lot of time outside of work programming, but I also didn't have any other hobbies (well, playing video games doesn't really count), no responsibilities, and almost no social life. Now that I'm older and have all three, programming at home is a luxury I often choose not to do. But that doesn't make me a bad programmer.
It's also vague to the point of meaninglessness considering all the various kinds of technologies and depths within those technologies one might be toying with in their spare time.
I would argue that the general intuition that many programmers have about people who code in their spare time is simply a too-narrow view of the picture. It's more about people who are really good at LEARNING, and people who code in their spare time tend to become very good at self-teaching new things and figuring out how different systems work and interact.
A developer can be good at learning as long as he or she is practicing learning something in their spare time, but I don't think it has to be a side project (or even technology-related at all) to see a benefit in professional productivity.
This is an excellent point. I have lots of side projects outside of work. At the moment, none of them involve code but they all involve learning things; some of them are even fairly technical.
I don't think there is any debate that, in general, someone who tinkers, explores, and codes outside of work will be relatively better than someone who doesn't. That is not the same as saying the former is above some absolute line while the latter is below it. This is the characterization that people here, including me, take issue with. You can easily be competent and effective while not spending time outside of work writing code.
I've found that the truth of this depends almost entirely on the type of coding one is doing at work.
If you're doing challenging work all day and then do some challenging work after hours, you'll likely be better than most based on the sheer amount of practice.
If your day job is mostly a joke and you are maintaining systems that you don't really understand, coding all night won't make you better than someone who is doing challenging work all day and logging off entirely at closing time.
It would be pretty incredible if spending a lot of free time on challenging personal projects made someone a worse developer or had no impact at all.
It's not the only way to be a good developer though, that's the idea I hate. It's about teaching yourself to be a good learner, which can be accomplished through a variety of hobbies that don't even need to be tech related. If programming at home is your jam, then more power to you. Saying that any developer who doesn't code on the side is, categorically, "sub-par" is ludicrous though.
Frank is a programmer at a big bank. He does most of his work in COBOL. The work is tedious and the hours are long, but Frank doesn't mind. Work is supposed to be hard. Besides, he makes plenty of money, enough money to help his only son meet his tuition. Frank never really knew what he wanted to do with his life. He just sort of ended up where he is, but his wife and son are happy, and that makes Frank happy.
Both of these people are mediocre developers and mediocre humans. They waste forty hours of every weekday developing skills that they won't use at home and only want so they can continue working at jobs they don't like. Turns out most people are mediocre. Those two aren't upset with what I posted, because they don't care, because they don't visit Hacker News, because they have lives.
Lets talk about Jeff. Jeff is a sixteen year old atheist who loves science. He gets high grades in all his math and science classes. He can even handle English pretty well. He just does the readings in class! He loves talking about how great science is. When he's not talking about science or playing league of legends he's browsing the internet looking at things like the "I Fucking Love Science" Facebook page or r/atheism. Jeff is a happy intelligent scientific young man. He also doesn't do any science. Turns out looking at inspiring quotes on a space background isn't science.[0] Jeff's a pretty useless kid, but he's sixteen, so we'll give him a break.
Mark is a student finishing his undergraduate degree in Computer Science, or maybe he's a man who's worked five years doing front-end development; doesn't matter. Mark is a programmer. He visits Hacker News to get the latest news, spends at least a couple hours a week on Reddit, keeps a small blog on Medium, hangs out with plenty of friends on the weekend, and enjoys a good beer. He doesn't use any of the stuff he's learned at school or work for his personal life. He doesn't host his resume on a personal website. He doesn't use regular expressions at home. He doesn't build a program to split games up into binary chunks so his kids can move games between computers without having to waste one of his expensive CDs.[1] He doesn't write any kind of automated backup scripts. He doesn't use anything like LaTex or org-mode for writing professional documents. He doesn't do anything like programming or related to programming in his spare time because it's boring and hard. Mark doesn't like it, but Mark doesn't care. He's making good money and there wasn't anything else he really wanted to do, but unlike old man Frank, Mark doesn't have an identity. Frank's family is what guides him. Frank thinks of himself as a family man and a provider. Mark thinks of himself as a programmer. Mark spends all his time on Hacker News, Reddit, and Medium reading and writing about software, but never ever coding for fun.
When I talk about mediocre humans, I'm talking about the Marks of the world. If you're wasting your time reading my spiteful comments and naive Medium blog posts, then you identify as a software guy, and if you're a software guy you should be honing your craft instead of whining about unfair expectations from employers. Don't think for a second you're just as good as everyone else. You're not.
[0] http://thebestpageintheuniverse.net/c.cgi?u=youre_not_a_nerd
[1] This is an example program from the book Programming Python