I really, really hate the expectancy of software developers to have side projects at home.
Do we ask lawyers what free cases they take over the weekend?
Doctors about the diagnoses they make for fun on Saturdays?
Teachers about their open source lesson plans?
I'm sure many of the above DO these things.
Worst yet its often phrased in the interview as "do you have any hobbies?"
Yeah - I do, I spent the weekend figuring out how to replace parts on my car. Why wasn't I writing the next Linux? Because I get enough screen time at work.
Here's how I look at it, if you're a musician, you probably play at home sometime. If you're a mathematician, you probably solve some maths at home. If you're a writer, you probably write at home. Most people that can practice their craft do so at home. I don't expect a hunter or a fisherman to hunt or fish at home. But a chef? A chef might have an idea for a meal and experiment at home. So a software developer that doesn't practice their craft at home is very suspect. I don't expect a side project, just practice, but very often, we have an idea that does turn into a side project. I don't expect this side project to make money, to have a website, to have a beautiful code, to be in github, but if you can't tell me anything that you have worked on just for the hell of it in the past year, I will be very and highly suspicious of how good you are.
Have you ever lost a job because you don't have side-projects? This notion that we're being forced out of software jobs because we don't have side-projects just hasn't manifested anywhere that I've seen. It very much feels like an argument that you should be able to advance in your career with 40 hours/wk as much as the person willing to spend 50.
So, you have kids, great! Spend time with them, enjoy your life. Presumably you're a software engineer so you're making more money than the vast majority of the world. Enjoy that, but do you feel entitled to go as far in your career as someone who dedicates more of their life to their career? Should those people be punished by being displaced by someone like you who presumably has less expertise due to spending less time on your career? I'm not trying to put words in your mouth, but I'm struggling to understand why our current system should change to cater to your lifestyle choices of having kids.
Sure you can put more hours into something to get better and improve your performance.
But why should you spent more hours on your free time? Some employers grant a free "afternoon" every-week for employees side projects. Guess what more side projects, less burnout...
Source: The company that support PostgreSQL for my workplace do that. Which we were doing the same.
If anything our world is overpopulated. It seems to me we'd be remarkably better off with fewer kids. I reject the notion that systems optimizing for raising kids would put society in a superior place. I'm not against anyone having kids, but I reject the notion that it's a benefit for society that we encourage people to bear and raise children. People will bear and raise children regardless and I think reducing incentives there would ultimately have better societal outcomes. This is reflected all over the world with developed countries having fewer kids per family. Correlation != causation, but it's certainly evidence.
I would guess that the optimal state would be at or just below replacement fertility rates (because immigration will bump your population growth up a bit).
People are going to have kids regardless. So, the question we're really asking is, should we structure things so that people have time to raise those kids that they are already going to have. I haven't reviewed the literature, but I'd guess kids who have their parents present in their life have better outcomes.
Few companies live longer than 15 years, even fewer employees and managers. In my experience, people rarely cares about consequences, they won't suffer from.
Yup. Personally, I like doing coding stuff on the side. And even though I'm not going to let any company tell me what side projects to do (I use these projects to reclaim some autonomy), I'm also not going to leave them out of my CV to be "fair" to other candidates. After all, they won't leave out their superior university or FAANG experience either.
I think what we want to limit is employers pressuring people into side-projects as a form of unpaid overtime. Other than that, I'm not sure if I see the problem here - but I guess I'm a part of it too.
> Enjoy that, but do you feel entitled to go as far in your career as someone who dedicates more of their life to their career?
As a 20-something year old with no kids, I certainly do not feel any more entitled to "go far in my career" than anyone else, just because im dead inside and write code on the weekends after work. Anyone who thinks like this is an asshole who I don't want to work with.
This seems like an unnecessarily hostile response. I hope you find a hobby or passion that gets you out of any funk you might be in. I hope you can understand my opinions are made with good intentions. Feel free to disagree with them and feel free to avoid working with people who hold these opinions, but I'd prefer if you avoided calling me names just because you're incapable of understanding my good intentions at the moment.
> You know what I do at home "just for the hell of it"? I play with my kids.
And that's great and all, but it also ensures that the only thing you did that was noteworthy for prospective employers was whatever project you happened to be stuck with your current job.
If you happen to be privileged and work on architecting exciting cutting-edge projects that use any of the relevant or even popular technologies then you have nothing to worry about.
If, instead, you happen to be like the most of us and are working on maintaining legacy projects with technologies that you hate and are obsolete and became irrelevant to the eyes of prospective employers, or even worse you are stuck on doing boring stuff that tangentially have anything to do with development at all... Then how do you work on your marketable skills?
Do you honestly expect to be the best candidate to a job position when you're competing with people who spent years working on exciting and interesting cutting-edge technologies when all you have to show for is years of maintaining a legacy application that was mostly done except with the minor updates you were charged to do?
So yeah, please do enjoy spending all your free time playing with your kids. Some of us are compelled to, in the very least, brush up their skills outside of work because otherwise we might not have a shot at a job that allows us to play with the kids, or even get a job in the near future.
What evidence do you have that even the majority of programmer side projects are interesting and/or cutting edge?
Your line of reasoning doesn't actually benefit you unless you can negotiate a higher wage because of your side projects. In most cases, it's a proxy for an employer getting away with not paying you for training - either your current employer or a prospective new employer.
While I don’t think there’s anything wrong with not having side projects, I also understand how it can be a (somewhat sloppy) proxy for evaluating if somebody treats it as a profession vs a job.
I don’t know, but I suspect the proportion of those who are consummate professionals with side projects is greater than those with side projects who are about to crash.
I guess it matters whether those side projects are intrinsically motivated. If you’re just doing it because you’re expected to, I can see it leading to burn out as it’s essentially a side job. But if you’re doing it out of intrinsic interest, it’s more of a hobby that also builds your professional skills
Since you asked, nope. I'm with really young kids, one an infant. So sleep is a luxury. ... and kids are a time sink. I'm also a senior engineering manager, I don't have to code again in my life if I don't want since I committed to and enjoy the management track. But with that said, here's a few tech I have learned as in really dove into in the last few years by myself that I didn't need to learn for work, golang, angular, typescript, kubernetes, some ML, scikit-learn, J(APL), couchbase, hybrid mobile development with ionic framework, these are just a few that I can think off my head. I started & run the k8s meetup in my city. In the last 5 years, I have probably build 20+ side software projects for the fun of it and currently have 3 brewing in my head right now. Besides wasting time on social media (twitter, facebook, reddit) and watching netflix/prime/hulu like normal folks, I also have the occasionally hobby of minor home repairs (My house is over 100+yrs old), fixing up my "classic car" 85 bmw, and teaching myself the piano. My typical work week is about 50-60hrs. Since March I have been the one to take care of the kids while WFH since my wife is an essential health care worker. So what's the point of telling you all this? I'm not single, not young, now north of 40+. I'm just a doer.
Here's what I googled and read up on this weekend, how to repair rotted roof rafter tails because the garage needs work. I was looking at the repair manual of the broken elliptical to see if I can repair too. As for coding, I was building a daycare app before the pandemic put a lid to that and I shelved that for now. Since the pandemic, I have just written toy throw away sim codes to run simulation of whatever that came to my head, predicting the pandemic numbers, housing market, etc.
Point is, I can somehow find out a little time here and there to play on the computer, most people can.
The kids aspect of that spiel was incredibly short. Maybe some people have more demanding children than you. But whatever, right? Judge people based on your own life if it works for you. It's as superficially impressive a hobby as any of your others.
Of course, I could equally judge you based on my own life experiences. An engineering manager? Pfft, managers are overpaid babysitters who add no value. And I've supervised ADHD dabblers - on the side, while working primarily as an IC. Their flurries of little shiny projects sure do look impressive, especially in meetings and on resumes, but when it comes to building something genuinely new and difficult, and persisting to a high quality finish? MAN, they sure require a LOT of hand-holding.
There are plenty of people out there who are completely different from you and yet contribute as much or more than you do. Get over yourself and appreciate human diversity a bit more.
On the kids part, if you need details, bottle feeding multiple times a day, diaper change, shower, meal prep, feeding, reading, coloring, nursery rhymes, you know, the regular child stuff with young kids... Sure, for our last project, I wrote 90% of the e2e integration test because of time crunch, so yeah, I still code if need be. I pretty much stay out of the way since the team understands the details and I pick up the really boring piece. With that said, Im sorry you have had overpaid babysitters that add no value. Go kick rocks because I never said that folks shouldn't have a life outside of coding.
The point, if it wasn't obvious, is that you would find yourself on the receiving end of some pretty unfair judgments if everyone else judged others the way you do. Just because you like to dabble in software in your free time doesn't mean it's the standard everyone should be held to.
You aren't a software engineer though. I found that the main thing for me is that what I do after work or for fun has to be different. If I'm working as a software engineer I enjoy not being behind a screen in the evening, whether that means bike maintenance, reading or cooking. Whenever I have had other jobs where the demands were different (more meetings, more operational or just physical jobs) I often want to do programming-related stuff for fun.
>>I'm not single, not young, now north of 40+. I'm just a doer.
You are at least 2 decades late to having kids. But that's ok, better late than never.
But I'd absolutely recommend partitioning some part of your 60 hour work week and late night Googling, and allocating it to exercise, sleep and relationship. Stuff like heart attacks, brain diseases and divorces tend to wipe out gains made over 30 years.
At the end, any amount of hyper productivity makes sense only if its beneficial and sticks to us in some way, like on the longer run.
I've been delaying learning ML for a while now, it doesn't seem to matter, basically delaying doing lots of things without payoff many of which will be irrelevant in 5 years. I can't say the same for exercise though.
Congrats on "being a doer" but trying to imply that people who aren't are worse developers than those who are is trying to measure the world by your scale.
You aren't necessarily a better developer (or person) for doing all of that than those who played videogame for all those hours.
Is developer productivity now a binary thing that's 100% if you participate and 0 if you don't?
Spending many hours on doing software development does, in fact, make you better at software development than someone who, ceteris paribus, spent that same time playing video games. I feel that "not necessarily" is becoming the 21st century version of "but there's still a chance, right?"
What is it being better at software development even? There are so many different skills involved in being an effective software developer in a team. I would say for senior+ levels the softskills start being much more important than the technical skill.
Plus if you have been doing it for 10 years+ how much more are you going to improve really by coding more hours?
Software development being a complex, multidimensional skill set makes it even more true that work you put into getting better at it, the better you get.
The field is so wide that you could be doing it for 100 years and still keep learning new things that would improve your work.
And for senior+ levels, where soft skills start to dominate, you still need to have already become competent at the hard things. Soft skills are means for making things happen, but you have to have a clue which things need to happen, and which don't.
I don’t agree at all. Just because you could spend 100 years being a better cook and learning how to cook every dish on earth it doesn’t mean you will be a better Italian chef than someone who puts 20 years.
It isn’t rocket science really, learn the fundamental well, keep practicing 40h a week for years and you will master the craft.
The difference between two masters of the craft won’t be the person who sit more hours on the chair in front of the computer.
Skill doesn't come from nowhere. It comes from practicing it and thinking about it and otherwise being mentally engaged with the field.
And yeah, I'm pretty sure that after 100 years of cooking, and learning how to cook, I'd be better than the person who put in only 20, just by sheer virtue of more internalized knowledge, more time to think, and more practice.
Skill is multi dimensional. Depends on the problem at hand and the people you have available.
Each person brings an unique set of skills based on their experience (professional and life).
I have worked in lots of different industries from designing hardware chips with VHDL to multi datacenter kubernetes deployment with 100k of cores.
I never did side projects neither did I expect more time on the chair from a coworker... Still somehow I can build winning teams with all the different mixes and industries.
"Spending many hours on doing software development does, in fact, make you better at software development than someone who, ceteris paribus, spent that same time playing video games."
By that logic the oldest developers should be the best of all. But that is not true. Some are great, some are average and some are still bad even after a life time of practice.
You missed that ceteris paribus part. What I'm saying is that, given two developers that are pretty much equivalent in their health, mental capacity and the ability to turn work into experience, the one that spent much more time on said work than the other will be much better at it than the other.
What is a better developer in an organization with 1000s of developers that have to collaborate in their team, cross teams etc. I am really curious in your definition of a better developer.
I didn't missed it. It doesn't work like you think it does. Making stuff is too complex to be reduced to such a simple rule. At some point additional practice won't make you better. The example of older programmers proves this.
I never implied that, I just said I'm suspicious of folks that don't delight in partaking and sharpening their craft outside of work. Passion often correlates with strength of skill, and passion is not turned off and on like a faucet.
The word developer itself means someone who builds. So it is natural to assume that someone who enjoys building stuff, even for fun, is a better developer also at work.
As any rule, this has exceptions and it's not universal, but it makes sense to think so. And since he's a manager, it perfectly makes sense for him to think so.
Don't forget the part where you translated all 7 Harry Potter novels into flawless Latin because you've been both leaning Latin and brushing up on wizardry on the side.
lol, it's okay, never read harry potter. p/s, I believe I'm very terrible with time management and wish my "ADHD" can keep me focused, but hey, maybe it's what get's me sampling everything.
You've made time to learn J! That's some commitment. I'm waiting for my first child right now and have recently been into J in my spare time. I'm also a manager now (CTO at a non-startup company).
Yeah, someone mentioned it on here a while ago and I decided to give a go. jsoftware has really amazing resources/free books if you dive into it. It's really enjoyable if you use jupyter cuz you write in literate style so you can remember what the heck you just wrote months down the line. lol. https://github.com/martin-saurer/jkernel-docker. yeah for a few months I was addicted to it, and it's the only language where I feel like a sculptor since you are literally sculpting and transforming the array to yield your solution. For me the saddest thing was that I can't bring that experience to other languages,
MATLAB, NumPy, and a lot of GPU programming (not to mention, Julia) relate to APL and J. You might be surprised by how important what you're learning is to express an efficient computation on a GPU in terms of array operations.
Yeah, I know NumPy, but what I really enjoy about APL/J that you can only get from those languages is "notation as a tool of thought", something is lost in high level expressive languages.
I never implied that, I'm amused at how polarized my comment is, where did I imply that? You can live your life any how you see fit, you don't ever have to code afterwork or touch the computer. I'll just be suspicious about your ability until you prove so
I think it is fair enough that in order to judge someone's competency you need concrete evidence of their ability, I completely agree with you there. Side-projects are useful for doing that, but there are other ways as well.
It is entirely reasonable to provide programming tasks or whiteboard interviews or whatever in lieu of going through someones personal project.
Using your own lifestyle and tastes as a benchmark is what riles people up. If side-projects are the measure of the man, then there is an expectation of how people should spend their free time.
I believe the polarization is coming from how this is expressed, specifically pegging side-projects as the determining factor. People can find joy in their work (programming in our case), but not necessarily want to do the same thing in their free time.
This is likely biased as it is coming from someone with no personal projects though :)
Why do you think that others should adjust to the way you live? Surely kids are a choice. And if you choose kids of career thrn you're bound to be less effective than someone who chose otherwise?
Of course, there’s actually evidence that focusing on your craft too much makes you myopic and less creative. There is some indication that academics who have artistic pursuits actually produce more papers than their peers, for example.
Beyond that, you are not a machine. Stop arranging your life so that you’ll be the best programmer possible and go do things that are just fun and not connected with your career. It’s good for you, trust me. 40 hours a week is enough for work, go enjoy living.
The truth is surely somewhere in between. Of course it's not healthy to log off your coding job and just keep coding for yourself, day in, day out. A full life involves so much more.
But on the other hand, I do kind of agree with the parent that a coder who shows no evidence of ever having experimented with a new technology or scratched their own itch with code seems like someone with neither love for nor curiosity about their craft.
I agree that a certain amount of practice is needed to get and remain sharp (but actually suspect that 40hrs is too much), but I disagree strongly that a “love” for their craft is a necessity. There are tons of incredibly competent engineers who do it as a job to make a living without it being their main passion. I don’t expect my plumber to be in love with plumbing, I just expect them to be competent. Claiming that loving programming is anywhere near a necessity to learn new things is to completely ignore how people in any other profession learn new things.
38 hours a week at work practicing your profession isn't good enough for you.
I'm a welder by trade. Occasionally I do a spot of welding at home, but the 38 to 60 hours a week I've spent twenty years doing has made me a vastly better metal fabricator than the few side projects I've done.
But I can rant endlessly to you about my other interests, some of which tie in nicely to a wider-perspective-of-life than just metal fabrication, and it's those other interests that have proven to set me apart from the pack and advanced my career way more.
Could you just ask a person what fun or interesting or challenging things they've worked on, whether in their paid line of work or as a side-project, and leave aside your value judgements about what they do outside of work.
Core point: stop thinking your experience generalises to the whole population.
> Occasionally I do a spot of welding at home, but the 38 to 60 hours a week I've spent twenty years doing has made me a vastly better metal fabricator than the few side projects I've done.
Now imagine you're just starting and you want to get hired as a spot welder.
You don't work 38 to 60 hours a week welding, though. You do something else for a living. But you want to move onto welding.
In that case, besides spending their personal time doing side projects, how do you expect someone to work on their skills?
Welding isn't a really good comparison. I'm not sure there's much new coming out the world of welding, and you probably hit peak skill 3-5 years into your career. Neither of those assumptions hold for programmers. The field is constantly changing, the 'best practices' are evolving and you (should) never really hit the day where you're never going to get better anymore.
Welding actually has many specialized tools and processes, alloys also evolve. Tools have different trade-offs, and a large number of geometric and performance considerations - from environmental concerns (how much oil will spill?) to environment concerns (how do you weld under a blizzard on top of a pole?) there is a lot to learn and keep up with; and can easily, easily take a decade+ master.
Your basic hobbyist weld is like hello-world. As a side note, one sign of a bad engineer is one who underestimates difficulties in fields outside their expertise.
Like most professions you can become as skilled at it as you wish, depending on your willingness to work to get better. There are a lot of different types of welding, lots of different pieces of equipment to learn and master, and way more different materials to work with than most people realize.
Also, different situations present different challenges (like the fact that you have to be mindful of how your welds can warp the material).
I personally only know some the details second-hand (have professional welders in my family), but I know I'd want the guy with 20 years of experience over the one with 5, if I had something challenging I needed fixed.
>The field is constantly changing, the 'best practices' are evolving
A lot of that is self-inflicted, though. How many javascript frameworks, all solving essentially the same problem, are there? It's just change for change's sake.
Whenever we're tempted to reach that conclusion, we should consider that there might be something going on that we don't understand. In the case of JS frameworks, I think developers really are still figuring out the best way to implement a dynamic UI that's both efficient and maintainable.
What exactly are browsers inhibiting? The DOM is really no different from the object-oriented tree of widgets provided by a platform GUI framework like Cocoa. And even on the native side, the question of the best way to design a UI framework is far from settled; see for instance the recent interest in reactive UIs in the Rust community.
A key difference overlooked in this perspective is that the professions you've listed don't actively probe about a candidates work outside of the hiring/talent discovery context. Their skill is judged by what they've produced that's directly relevant to the evaluation process. Comparing programmers to such a diverse array of disciplines requires a more detailed analysis.
A percentage of the software industry has a bias against programmers who don't code in their spare time because it's extremely difficult to evaluate technical talent. We lean on quality filters like number of hours spent on side projects that have sparse evidence to support their efficacy. While I'm skeptical that a general set of metrics exist we can use to perfectly evaluate technical skill across the industry, we can certainly do better.
Both of those have long professional mandatory training which does the evaluation once at the start of their careers, and then subsequent hiring is done on prestige rather than re-evaluation.
Same could've been with CS/Software Engineers, until someone decided that making a quick buck out of bootcamps is more important than profession's integrity.
The phenomenon long predates bootcamps. The microcomputer revolution unleashed a huge number of self-taught programmers on the world in the 80s. Most of the infrastructure was built by people who weren't ""qualified"" to do so; so why would they respect qualifications? Why would those who follow in the footsteps of Bill Gates (Harvard dropout) or John Carmack (UKansas dropout) choose not to dropout when they could build things instead?
It's harder to evaluate a new programmer's abilities because you (every hiring institution) have to do it yourself in a limited time.
An institution that's hiring fresh lawyers or fresh doctors can piggyback on the extensive, rigorous and difficult evaluation (which costs a lot of time and effort both for the candidate and the evaluator) during the bar qualification, medical licensing examination, etc. For example, if a potential doctor is a board certified proctologist(colorectal surgeon), then you can just assume that they will be able to do proctology to a high standard, you don't need to (and likely even can't) verify that aspect of the candidate. (Though employment of doctors itself is quite different from how hiring normal employees work, they're often more like independent contractors or running their own practices)
If an institution is hiring a fresh software developer, then a CS diploma does not even reliably guarantee that they know the basics of software engineering (e.g. see yesterday's discussion in HN https://news.ycombinator.com/item?id=24740765 ) - so you have to do all the evaluation yourself, and neither you nor the candidate would be willing to spend as much time and effort on that evaluation as a lawyer or doctor does, so it definitely is trickier to evaluate since you don't (can't) have enough information.
I also think it should not be. But so many times companies hiring brought it upon themselves by thinking too highly of their work. I have had first hand experience when just to develop or support some half-assed shitty webapp, hiring guy would talk of it as developing platform challenging Amazon in E-commerce.
In these scenarios they are going to get lot of candidates who will do far more fuzzing on their CVs
This is a serious question that I'd love to see a serious answer to. Because for the life of me, perhaps literally, I don't have a better heuristic for judging a doctor than gut feeling. Similarly, selecting the right lawyer could also be a literal life or death decision, albeit in a far more unlikely scenario, and I'm really not sure how to do any better than gut feeling there either.
So you find out you have a semi-treatable carcinoma, how do you pick the right doctor? AM radio ads? Billboards about proton therapy? Internet search? Hearsay? Whoever your insurance company picks?
At least I know how to evaluate a programmer for life and death work, like avionics. That's just verifiably coding to a specification. Challenging, but relatively easy compared to cancer.
Ironically, these professions weren't listed above. I doubt that many people expect lawyers or doctors to work for free in their spare time…
The professions that were mentioned in the grandparent were all things that can easily be tested in an testing process. I.e. _play_ the guitar. Cook a meal.
Testing a doctor or lawyer well in a limited time is difficult, just like a software engineer. The difference is that they aren't expected to do "side projects" to prove their worth.
> I doubt that many people expect lawyers or doctors to work for free in their spare time…
They don't, but not because they don't want to - it's because it's irresponsible for them to. The occupation of a lawyer or a doctor professes some privileges but also creates legal liabilities. As a lawyer or a doctor, you're not going to risk losing your license over an advice or procedure given to someone for free, on a hobby project.
(Also, the work of lawyers and doctors isn't creative in the sense software is, but it's primarily a people-oriented service. Which means you need other people to do your primary type of work for/on. The kind of work lawyers/doctors usually do after hours is called research, or just learning. Meanwhile, in software development, I can do the exact same type of work for myself that I do at my job, and end up with a digital product I can enjoy using.)
I think maybe it’s because lawyers and doctors take on cases/patients by themselves sometimes. If they win cases or help patients that speaks to their ability.
These days many software developers have never delivered software by themselves, so when they say they were “part of a team that developed X” we can’t know if they really did a significant part of X, or if they were just along for the ride.
I'd imagine just as many lawyers work as parts of larger legal times. And a doctor's performance is even more murky in many ways—did the patient get better because of the doctor, or because they were going to get better anyway? You can't just look at a doctor's record and determine their performance.
A lot of really really good engineers I knew at AWS had no side projects. They were absolute masters at their job. May be AWS is a small sample size, and sure engineers with side-projects were better than average, but to say others were not as good...nope, doesn't go with my observation at all.
This is partly due to the nature of your employment contract at AMZN. They can lay claim to all the IP you create while employed. You will need to get explicit permission to work on an open source project. This is fairly common at large companies.
> Most people that can practice their craft do so at home.
Just because some do doesn't mean most do, at least in any significant manner. Just because some don't doesn't mean that they are letting their life outside of work go idle. People are allowed to have other interests (e.g. hobbies) and other responsibilities (e.g family). That doesn't mean that they are suspect or not good. It may mean other things, like they are a better rounded individual.
This, 100% this. I have a ton of other interests outside of software. I already get 40 hours a week working on software so why would I ignore all other interests and spend that time building software too? I'd much rather spend that time pursuing my other interests.
I hate this attitude that there's something wrong with that. It's perfectly possible to be a good engineer doing only 40 hrs a week.
Frankly this whole attitude is a big part of why we have a diversity problem, because only a small minority (over represented here on HN) want to spend all their time building software and this attitude puts a lot of people who weren't teenage coding geeks off joining the industry. It's actively harming the industry and I wish it would go away. If you individually enjoy coding for fun above anything else by all means go for it and enjoy your life, but stop trying to force that on the rest of us. There's more to life that just building software!
> It may mean other things, like they are a better rounded individual.
That's great, someone is a better rounded individual. That's nice.
But if that well-rounded individual applies for a React position but has zero React experience, let alone any React project in their portfolio or CV, then that well rounded individual will be quickly brushed aside on the first round of the application process.
You're comparing extremes. The well-rounded person without side-project might just be as capable and experienced as the candidates he's competing with. If that's the case I'd always rate well-roundedness and interests outside of the immediate scope of the job more valuable than a long list of side projects.
This is true. To think of it, some lawyers probably work for free in the weekends for the poor; some doctors probably read about medical breakthroughs (and inevitable solve family cases) at home, and teachers too. I don't see anything wrong with either approach to coding, be it treating it strictly as work or as a hobby. But if someone expects good code, best practices, 100% test coverage, etc. in a side project - that's going too far.
> if you're a musician, you probably play at home sometime. If you're a mathematician, you probably solve some maths at home.
Musician does not spend 8 hours a day playing music at work and then plays at home in addition to it. Playing music at home is not addition to full time work.
Same with mathematician, actually. I know, because I have them in my family. They do math for work, whether at work or at home. And they do have non-math hobbies.
Writer is not writing 8-5 in work just to come home for hobby writing. Writer either writes for job or has non-writing job.
> A chef might have an idea for a meal and experiment at home.
100% not. Chefs work long hours and when they come home, they want partner to cook.
> So a software developer that doesn't practice their craft at home is very suspect.
I am ecstatic that I get to pour my craft into paid work. I have written my best code in the context of employment. Over the years, of course I have had side projects. But in the last two years I have worked on nothing but paid projects that have all let me grow and explore as a developer.
Musicians are not a great analogue because they aren't getting paid to music for 8+ hours a day already. Of course they have to practice at home. But I get plenty of practice coding while I am getting paid, I don't always need a side project.
> But I get plenty of practice coding while I am getting paid, I don't always need a side project.
The point of side-projects is that some of us don't get any practice at all coding relevant stuff while working on their 9-to-5 job.
Those who are mindful about their career do understand the risks of getting stuck doing irrelevant tasks, thus they feel compelled to work on their skillset and put together a nice portfolio during the process so that we have something to show to prospective employers.
Right, I understand the value they provide. But the assumption that anyone without side projects is no good as a developer is a bad one. Software is a hugely diverse industry.
> But the assumption that anyone without side projects is no good
That's not the assertion at all.
The general assertion is that those without side projects either might not have a way to showcase their skills or might not have a way to work on skills they don't use as part of their 9-to-5 job.
The specific assertion regarding recruiters is that without any side-project that showcases your skills with specific technologies then recruiters have no objective way to evaluate your skills. Thus if they have other candidates that demonstrate their skills and they have to pick between them and you, you will be left out because you have nothing to show for.
> The specific assertion regarding recruiters is that without any side-project that showcases your skills with specific technologies then recruiters have no objective way to evaluate your skills.
This is a tough argument to have constructively because it's really going to depend on our own experiences at our jobs and in recruiting. But lets just say that I would have to work full-time on a side project for it to outshine my industry experience, which makes sense, because I worked full time in order to get that experience.
I guess that's why this is a pain point for me. I see around me extremely skilled developers putting in real work solving real problems from 9-5, but according to the grandparent comment, their skills are suspect because they haven't spent their afternoons writing dead end projects for fun.
I would hire any of them in a heartbeat over the guy with the New Tech laden github.
> This is a tough argument to have constructively because it's really going to depend on our own experiences at our jobs and in recruiting.
It really isn't. I can tell you that personally I've already been contacted and hired a couple of times exclusively due to a side project I have.
> But lets just say that I would have to work full-time on a side project
You don't. You only need to have something to show for. You are the only one whose input matters and you are free to choose whatever you feel is best for you in terms of learning experience and portfolio. No one cares if you work on it for 14 hours a day or 15 minutes each month. What recruiters do care about is that you have something substantial to show for when they ask you if you have any experience in X.
> (..) but according to the grandparent comment, their skills are suspect because they haven't spent their afternoons writing dead end projects for fun.
Those skills are obviously suspect if they claim prowesses that they have no way to corroborate.
What? Do you believe people don't lie in job applications? Do you believe no one ever said in job interviews that they were very skilled at X although they never in their life had any contact with it?
I can also tell you personally that my side projects don't get me jobs, my experience and word of mouth does. So yes, this conversation is hard to have because we experience the landscape differently.
Why would someone have no way to corroborate their industry experience? I can show you thousands of lines of code I wrote on the job. Even with an NDA there are ways to show your achievements.
Anyway, I am not saying side projects don't get peoppe jobs, that was never my argument. My argument is that talented developers don't always have side projects all the time. Some of them are already highly skilled and work in challenging enough environments that they continue to learn anyway. The grandparents argument was that anyone without side projects is suspect, that is demonstrably false.
A lot of companies want you to sign those horrible contracts where everything that you do in your free time automatically becomes company property.
In that case, I'd say "No I categorically do not do side projects because I do not want FAANG X to own them" is a perfectly reasonable answer.
If you somehow manage to avoid signing that clause, then suddenly your side projects become potential competition for your employer, so they might get you into awkward discussions with your manager, especially so if your side project turns out useful or valuable. So having your own side project might require a level of people skills that programmers highly dedicated to their craft will likely not have.
I know people who dread "their" side projects because it just feels like additional unpaid work to them. I also know people who keep their side projects a secret from their employer.
If you select for people with corporate side projects, you're likely selecting for future employees with bad people skills.
This is absolutely common. For various reasons, I know a bunch of chef's. Some don't mind cooking outside of work, but quite a few see cooking as work, and don't want to work outside of work…
I'd say you can and you should. Unless you're working in a Jira sweatshop, you have some slack in between tasks. To the extent you're hired as a professional and being expected to perform creative work, learning is part of the job description and it's fair to do some on employer time. Good companies recognize this explicitly, though I'm yet to be in one that would frown on people who don't just stick to solving tickets as fast as they possibly can.
I agree. Further since Software / IT industry is huge I would identify at least 2 categories for workers there. One mainly enterprisey CRUD peddlers, or just setting up and customizing large packaged software etc. They often work at large consultancies. For them this is just job that pays good. These folks don't even understand there is something called side/personal projects.
Second category who work on large custom build applications, likely enjoy good software craftsmanship. They got chance to be part of challenging projects. They think of getting even better jobs or just plan to write some personal projects which may even be useful at work.
Now when it comes to hiring I do not know if hiring folks / HR really identify these 2 categories. To me it seems every application is evaluated as software developer without analyzing context on what kind of work is done at what kind of companies.
I started working fulltime as a coder maybe 3 years ago. Before that I coded a lot on my free time, but since I started doing it fulltime at work, I did less on my spare time, and now it's basically no coding at all on my spare time.
I can understand that an employer wants someone who practices their work-related skills on their free time, but is it really that important?
If you want productive employees, isn't it even more important that they eat healthy, exercise and sleep well?
Just counting amount of hours/week spent on coding sounds like quantity over quality to me...
I’m not sure if you know many cooks/chefs but all the ones I know, literally the last thing they want to do after getting home is not spending time cooking.
Off topic: Are there more professional hunters than hunters than hunt for hobby? Curious how did you pick hunters profession to compare to software engineering.
> Do we ask lawyers what free cases they take over the weekend?
Lawyers have both continuing education and pro bono work expectations, both of which are frequently also bar membership requirements (with some common
exemptions, IIRC, for the pro bono requirement in jurisdictions where it generally applies.)
Of course, because they are binding requirements and because lawyers as a norm (and, when not working as regular employees of their direct client, usually a legal requirement) work for other lawyers, this is usually accommodated within working arrangements. But software developers don't have industrial guilds or self-regulation, so they don't have the same kind of power to get accommodation for the need for doing things outside of their current narrow job duties accommodated within most working arrangements. But that doesn't lessen the need for it.
> Doctors about the diagnoses they make for fun on Saturdays?
Doctors are much like lawyers, including both the binding nature of continuing professional education requirements and, and least broadly, the reasons why it gets accommodated in their working arrangements.
> Teachers about their open source lesson plans?
No, but, teachers also have mandatory continuing education requirements as licensing conditions outside of what they are immediately teaching. And they tend to have strong unions and legal requirements to point to to get these accommodated in their working arrangements.
Software developers have, as a whole, implicitly opted for immediate pay over other advantageous working conditions, including accommodations for continuing education, but it is no less relevant to their ability to develop and perform. Possibly moreso than the other fields; tooling and practices in software development evolving more rapidly than many other intellectual professions.
Teachers often work nights and weekends. They'll be doing anything from helping with extracurriculars, to looking after kids on excursions, to marking and writing reports, to for-profit tutoring, to planning lessons. A science teacher will stay up to date with what's happening in their speciality, and might have semi-related hobbies like birdwatching, or archaeology.
It's a little harder to pin down than side projects, but the activity is still there.
I've heard this analogy many times and it doesn't hold - it's absolutely true that lots of professions - including some of those mentioned - need to work outside hours to be at the top of their field.
My brother is a surgeon. And before that, a doctor.
And yes he worked all the hours in the day and still does and always has.
He has never stopped studying - he has constantly studied his whole school and working life.
Being really good at something takes hard work.
And also it makes total sense that employers seek out those people for whom it's more than just a job - because those people tend to have a higher level of expertise. You might not like that but the logic is reasonable.
I'd liken us more to craftspeople like a carpenter.
While I certainly don't think software developers should be expected to make software their freetime hobby with a menagerie of weekend sideprojects, this forum acts like it's an unfair demand on a carpenter that you see something they've built before you hire them.
I also can't say I expect much from a software developer who hasn't at least had interest in personal projects during some interval of their life. Like a carpenter who has never made something unless they were getting paid for it.
When I ask the question, I do it out of genuine curiosity. I like my potential coworkers (since that's kinda half the point of interviews-- see if he/she is a feasible coworker) to be easy to talk with.
I've had interviews where we talked about Tiger King.
Though I do agree, this is the minority. I feel that, especially in the cybersecurity world, it's an expectation that you should have several CVEs or public bug bounty writeups under your belt, things which oftentimes take tens of hours of time outside of work.
> When I ask the question, I do it out of genuine curiosity. I like my potential coworkers (since that's kinda half the point of interviews-- see if he/she is a feasible coworker) to be easy to talk with.
Don’t. You seem to be utterly blind to the enormous power imbalance in an interview setting. If you were to ask people what their sexual preferences were, or what their political opinions were, people would feel compelled to answer. Don’t behave as if you don’t have any power and are just talking informally; you’re not.
You have a huge amount of power in that relationship, and if you will be their boss after they are hired, this will continue to be true. Wield this power responsibly, don’t pretend you don’t have it.
It seems the creep is real. Yet with an aging body, a family to love, and a house to fix even getting a few uninterrupted hours with any consistency is ... a big ask.
I did all these things right up until I married and had a son. Now when I have a few hours to myself I just play a game, or get some extra hours of sleep.
Re. Doctors. I know my dentist actively does clinical research. His day job just involves seeing patients, doing root canals (in my case), but weekends are about research, he's published a bunch papers. His eyes light up every time I'm in the chair, and we have an enjoyable discussion about NumPy, R and the statistical techniques he's using, and the medical papers he's been reading (Well.. naturally with me unable to speak in the dentist's chair, he gets to do most of the talking.) I'm a lay person, so I cannot judge his skill level, but it's obvious he loves his job. His hospital obviously supports his work.
I've never seen it as an expectation that employers place on employees, but rather something that software developers place on themselves. The nature of the profession is that one person, by themselves, can create a great piece of software with enough time and effort. Or maybe people just want to get around to putting something into practice that they did a tutorial on a while ago. Or maybe they want to learn a new skill altogether. All these possibilities lay in front of the software developer, just a few clicks away, and it can make you feel like you have to do something.
When I did interviews and asked about side projects I’m looking for another topic related to craft to talk about. If you don’t have one fair enough, but in that case I would expect that for school stuff you can elaborate more than “we did a thing in Java”.
For questions about hobbies it’s the same. You need something to talk about to gauge fit into the team.
This is how I feel about writing. I write for work all day, every day: strategy documents, internal and public help articles, hundreds of long-form emails to customers, not to mention the critical commentary that goes in to design and spec reviews. I love to write, and there's a part of me that wishes I could write more for myself. But by the end of the week, I've got no energy for words, and the last thing I want to do is SIT and write.
> I really, really hate the expectancy of software developers to have side projects at home.
I feel exactly the same way, but there is an incredible amount of hostility to this website in this thread imo. I almost made a similar blog post to start my blog off this year (which I still haven't gotten around to doing), and I did a similar thing with a web domain I bought as a joke while drinking. After years of development, it was actually exhilarating to work on something that I have no deadlines for and can use as an outlet to explore technologies I never got to use but always wondered about. I get the same energy from this website.
I hate the expectancy of software devs to work on their own projects as a resume builder, but this site seems to be _specifically not about that_. On the contrary, it seems to me like the author is re-learning how approach something that they may have forgotten that they even like to do in a casual way, which I think is nice. In fact, when working on side projects I care about these days, I get annoyed by my friends constantly trying to figure out how I'm going to spin it as work experience.
I fully endorse this sentiment, but I've recently had an opposite experience.
At my previous job the anti-competitive clause was strong enough to include anything which uses the same skillset as your day job, even if it's a non-commercial side project. I originally thought it was fine, since I hadn't managed to find time and motivation to work on my dream project, anyway over the previous four years.
Five years in, however, I had an epiphany which meant I just couldn't ignore the urge to work on it and finally see it through. I ended up changing jobs largely to be allowed to work on it.
It's been difficult, finding time and motivation, especially since I will always prioritize spending time with my kids above any other activity. But I've managed to find time a bit, mainly in the evenings if I happen to have energy over.
Maybe in some places, but this is not universal across the US. Source: My entire social circle are lawyers. Most do almost no pro bono work. And the continuing education requirements are basically a joke.
One notable difference is that software developers are in the category of "builders" while the other professions you mentioned aren't generally accepted as such.
Many lawyers and doctors do work on the weekends and they have continuing education requirements. Your comment suggests you have no idea what lawyers and doctors do.
You missed the point - it's not about the work - many developers work weekends and continuously educate themselves.
I do plenty of coding activities in my spare time, my library is filled with technical books, some work related, others that I bought out of interest in a given technology - but I don't think there should be an expectation to have a published game, a large website making a few hundreds of bucks a week or a massively successful open sourced project.
Is it just me or have attitudes shifted dramatically on this? When I was a college student, I remember professor’s scaring us with stories of intellectual property disputes between companies and their workers over side project. Not to mention liability issues. But now every company wants to hear about your side project during interviews?
My side projects include servicing the car, restoring old appliances, general other repair work around the house... and also working on software that's often related to that stuff.
> The problem is when there is an expectation that as a developer you're somehow inferior if you don't code in your free time.
Insofar as diversity of experience matter, coding less and on a narrower array of projects does make you inferior. So, yeah, I’d expect developers who don’t code outside of work, all other things being equal, to be inferior to those who do.
I’m curious what, other than simple self-interest of those who don't code outside of work, would lead one to argue that that isn't the case.
Diversity of experience seems orthogonal to whether one codes outside of work. If I spend all day coding X widgets and then go home on the weekend and code more X widgets, I’m not gaining any diversity of experience. (I might be gaining depth of knowledge, which is oddly not valued in the way you’ve framed the issue.)
Additionally, doing things other than coding also provides diversity of experience which may be relevant and/or offer a wider perspective.
So, I don’t think you’ve really made your case here.
> Diversity of experience seems orthogonal to whether one codes outside of work.
It might be (I don't think it's practically orthogonal though it's obviously not strictly linked), I should have mentioned both quantity and diversity of experience (and, in fact, thought I had; I must have dropped part of intended edit.)
I can spend W + H time making X widgets, granting more quantity in the same scope or W making X widgets and H making Y (or Y0...Y∞) systems, for increased diversity with the same quantity in X.
> Insofar as diversity of experience matter, coding less and on a narrower array of projects does make you inferior.
That is not an absolute. Being a developer is not just about writing heaps of code.
Maybe the developer who volunteers at a local community centre is better at dealing with people. Sure, they might not code as much, but they might be better at teasing requirements out of BAs.
Or it could be as simple as the developer who does their work during the day, goes home, cooks a meal, plays with their kids/socialises with their friends comes in the next day rested and ready to focus on their work, instead of trying to thinking about that problem in their personal project.
Or it could be that the guy who codes 24/7 is a total rockstar. But maybe working on that pet ML project in Tensorflow at home isn't really helping you write that REST endpoint in ASP.net at work.
I design products for living so I do a lot of thinking. I plan things in my head. I could be swimming for an hour in the lake and thinking about how to solve this or that situation. Overall thinking takes more of my time then the actual coding which I normally do very fast.
Distracting one's mind from the immediate task can also be beneficial for the end result.
All this does not make me inferior. Rather the other way around. Luckily I've been my own boss for the last 20 years so I do not have to explain how I do things. I am only responsible for end results /time frame and overall cost.
Granted there are situations when loads of code needs to be written that does not require much thinking. For this I usually hire subcontractors. Sometimes do it myself but it does not come very often.
I’ll try. I’m self taught and spent years learning enough to convince an employer to pay me more than an entry level wage because I was career changing in midlife with a family to support and couldn’t afford to take a pay reduction to switch industries. Anyhow, I have for years spent 10s of hours a week studying to level up and still do. But my studying is and always has been entirely aimed and increasing my earnings.
So before I got that first job, I focused on learning general things to raise my ceiling, so I studied text books. OS, DS and Algos, Calculus, DB Implementation, and others.
Now that I have my job, I’ve focused on the areas that i am tasked with in my day job, like DB deep diving and Statistics and Linear Algebra.
I always felt that any side project I would focus on would impose too high an opportunity cost because I fealt I was learning better things.
I am still growing and will continue to grow as long as I’m in this field but my github has nothing noteworthy to show off.
That said, I believe your point is correct in the abstract, namely, that Devs who spend time outside of the office to level up will be better than those that don’t All Other Things Being The Same, I’m just saying that side coding projects isn’t the only instantiation of that activity
I interviewed someone earlier this year. Some line of questioning on engineering topics and someone led to the person saying something like, “but I don’t really know, it’s not like programming is my hobby and I do it on weekends, it’s my job.” That was so refreshing to hear and was one of the reasons I fought for them at decision time and they’ve been a fantastic employee ever since.
Does the phrase "screen time" require such a harsh response?
I get it. Computering has been my hobby and job for many years. I'd do it more if my body would cooperate. But it's cool if some folks just want to leave it behind when they clock out.
I just have other shit to do. I’d love to spend another couple hours a week doing random projects but there’s only so much time. Especially once you have kids.
I don’t think people complain about too much screen time at work, so much as they complain about too much screen time in general. It’s just that most of it happens at work.
Do we ask lawyers what free cases they take over the weekend?
Doctors about the diagnoses they make for fun on Saturdays?
Teachers about their open source lesson plans?
I'm sure many of the above DO these things.
Worst yet its often phrased in the interview as "do you have any hobbies?"
Yeah - I do, I spent the weekend figuring out how to replace parts on my car. Why wasn't I writing the next Linux? Because I get enough screen time at work.