Software engineers seem unique among professionals that you’re expected to maintain a hobbyist body of work that’s also your professional calling card.
I don’t even mean in that sense though, I just don’t understand having a skill like that and not using it for fun.
For what it’s worth, the best salespeople I know have almost no purely home life and are taking calls and making deals all hours of the day.
That's not the right conclusion to make. There are lots of developers who code in their spare time, but don't make their code public on Github.
I have had several side projects, but I am not inclined to share my code on Github. Either because I intend to make money off them, or because I don't have time to manage an open source project. Part of it is also caused by "imposter syndrome", where I don't have time to make the code good enough for public view.
You have over 200 public repos, which means you have a different view. But that doesn't mean that your coworkers don't do things on their spare time.
To be honest, I feel this attitude is beginning to spread to potential employers. Now we are expected to publish and be rated on our public repos, and it will just lead to lots of burned out developers in a few years that feel pressured to publish OSS and practice leetcode.
For me, I like coding, just like I like eating and I like socializing. The fact that I eat and socialize at work doesn't mean I try to avoid eating and socializing outside of work. Similarly the fact that I use a computer at work and or code at work doesn't mean I try to avoid using a computer and or code outside of work.
My working on whatever my company wants me to work on is not the same as me pursuing a hobby even if they overlap in the activities required to do both.
Also, some people just really enjoy it.
In my case, when I started in this industry 10 years ago I found most of my joy in coding, as time passed by I engaged into different hobbies that brought more joy to my life and ended up allocating more time on them than coding.
It's surprising (and awesome!) to me how much open source repos have become a part of many people's CV/resumé.
This is also possible because of competition. I am a student. All my peers grind much more Leetcode than me. So I put at least some code on GitHub and add that to resume. Not necessarily useful for others, but experiments I did etc.. included.
Because most people (myself included, 16 yrs professional experience) don't want to do unpaid work outside of work hours. How do you not understand that?
I also have a lot of hobbies that scratch the same itch, like making music. In fact, making music feels like more of a whole brain workout than programming, so I’d much rather spend more of my limited time on Earth doing that than writing more code.
These people are also good at politics. There is a reason bill gates is rich and rms isn't.
Love does not mean spending every waking hour on something.
I love my spouse, yet I need to socialize with other people, as well as alone time.
A full-time programming job fills up maybe 200% of the time I want to spend on that in a year.
I love my job. A lot. I also love my wife, my kids, my friends, my community, and a wide variety of time intensive hobbies.
No word of a lie, a few years ago a 'crypto' person told me that all the code I was working exceptionally hard at was a complete waste of time. Blockchain technology would solve everything. I just had to wait. And I am still waiting!
I have a lot to show for the work I have done since that conversation with buttons I have put online getting clicked millions of times with nobody personally thanking me. It is 'silent majority' code. No idea where the 'crypto' person got, I stick to my own lane and I don't need to rubber-neck.
Although it is good to share one's work so nobody else has to reinvent the wheel, if I have a better solution and I have developed it in the context of dedication to the day job, then that software gives a commercial advantage to my employer. Even if the core of the idea is mine and that I developed it in my own time, I 'bat' for my employer, and, if it is in their interests to keep the repo private, then I will.
There is also the matter of peer review. My colleagues are too busy to spend time on my pet projects.
The 'crypto' person has one of those LinkedIn profiles where they have more than the maximum amount of connections, with all kinds of grand job titles and the rest of it. I am just a programmer and I do not need a job title. I don't even need LinkedIn and I do not spend time inventing a grander version of myself online.
For code samples I can share the code that I worked on, albeit removing any business logic that is not mine to share. In my niche, with recruiters that know me, this 'just show me the code' works fine.
What if everyone worked like me? There would be no fine repos to plunder!!! Well, there are a few pull requests I have put into public repos and the majority of the population cannot say that. Plus, if I spend two decades silently writing code, then, one day, post a repo, it is going to be good.
To be honest the code I was writing two years ago makes me cringe with shame at how naive it is, so I doubt that my efforts from before that would have been for the wider public good, even if they did fix a business problem at the time. I have sometimes had to get working code rather than beautifully refactored code, then onto the next project.
Over half my coworkers including some very talented developers have no public repos. As someone with almost 200 that always blows my mind.
How do you work in software for years and not find some little hole you want to fill. That’s not a judgment call, that’s an honest question on my part. I want to understand.