Ask HN: How did you break out from being a lone developer?
A software engineer with 15 years of experience seeks insights on transitioning from solo development to collaboration, facing challenges due to family commitments and slow community responses in open-source projects.
The author, a software engineer with over 15 years of experience, expresses challenges in collaborating outside of work. They note that while personal projects and self-learning are valuable, they lack external validation and the opportunity to tackle significant problems. The author has previously participated in open-source communities, finding that collaboration leads to greater problem-solving depth and faster project initiation compared to solo efforts. Despite receiving common advice to contribute to popular projects or collaborate with friends, they struggle to find time due to family commitments and the slow pace of community responses. The author seeks stories or insights from others who have transitioned from solo development to successful collaboration with others on enjoyable projects. They are interested in discovering better communities or projects and any unconventional tips that could facilitate this transition.
I only need about 5 hours of sleep per day and a 15 minute nap in the afternoon. If you talk me to death I can easily make time for additional naps.
I learned to program while traveling across Afghanistan on a year long military adventure. Most of programming actually occurs outside of work, so at this point I have an extra career’s worth of programming experience most long experienced developers don’t have.
The solution to finding the extra time is really about being in good physical heath and being obsessive about learning and/or building something original. That’s it. When you obsess about something you will continue to think about it while doing your job, showering, and jogging. You will choose jobs that don’t waste time with a bunch of stupid repetition even if that means less pay. With an obsessive focus you will produce what other people cannot. You will have a level of initiative that most people cannot dream of.
There are downsides to thinking and living like this. You will tend to be ultra focused on product delivery and produce superior quality work, a real 10x developer. Not wasting time on unnecessary bullshit is a huge incompatibility when most of your peers can only reproduce repeated patterns. It super harms career mobility because you are not at all interested with impressing people or justifying your existence. You will believe the quality of your work speaks for itself because it solves its stated goal directly with minimal code. Most people don’t think like that and find it repulsive.
People will also have trouble understanding you. Being obsessed about a subject most people don’t understand, even when those other people do it professionally, results in bizarre social results. Family won’t understand. You have to really go out of your way to find people who enjoy hobby work with a greater zeal than they put into their actual day job. Surprisingly, church has been a huge vector for encountering other people like this, but then this kind of learning/involvement are social encouraged by my church.
I got back into side projects involving programming, photography and art that I was doing totally on my own.
This year, collaborators found me. I was posting to Mastodon with and about my smart RSS reader and that got the interest of a person who is trying to develop his own pitch for a business idea. That's changed the direction of my "second brain". I also met a seamstress (IRL) who I'll be collaborating with to take advantage of on-demand fabric printing.
One answer to the problem of waiting for people is to have a few projects going. At most times I have 3 side projects that I've "committed" to but I am really making progress on 2 which I feel is OK. I think the most important management practice is
https://en.wikipedia.org/wiki/Kanban_(development)
which basically means you have to limit how many projects you are working on at a time. If you have 15 projects going you are probably going to get diverted in too many directions and not finish any one of them. If you have just 1 you have to stop working as soon as you need to get a reply. If you're just slightly under- or over-subscribed you can just work on project #2 when #1 is blocked on someone else. (e.g. slight under-subscription lets you provide a high SLA to customers/collaborators, if you're slightly over-subscribed on your own projects you're the only person who will get mad.)
An example: I never liked meetings with new people, but I knew I needed to talk to people in my industry about what I was building and about what their problems were.
So I set up "office hours". Zoom meetings where I talk to one or two people a week. Randomly, anyone in my industry who wants to talk to me can book a slot using Calendly.
I promote this occasionally on LinkedIn and on my website, and it's led to many interesting conversations and collaborations.
Same with making videos, giving presentations, putting yourself out there and telling people what you're working on.
Generally, do (some of) the things you don't want to do.
I read about digital gardening / digital puttering[0] several years back and that resinated with me a bit. I don't necessarily need major projects in my free time; that would feel like a burden on top of my job. What I do instead is have some relatively simple stuff I can putter around with. Add a feature here, refactor some code there, etc. It's not going to change the world, but they are things I find useful or interesting, even if they aren't a big deal.
I ran across an interview[1] with James Thomson (developer of PCalc) a while back. If I remember it correctly, it seems like PCalc started out like, and still serves as his digital garden, even though he does make money off it. He needed a project to learn on, so picked the humble calculator as the idea. Then just kept going. Any time Apple released a new technology, he'd use PCalc as his test bed to learn it. Even when he wanted to learn 3D graphics, he ended up making an About screen for PCalc (as it's own app), that was basically a little 3D playground (a bit like the easter egg from Excel 97[2], but with more).
That would be my advice. If you just have a few hours here and there, and are already making an impact at through work, don't let the FOMO eat you up, just tend to your garden. Maybe it will turn into something others will use, maybe not, but don't stress about making that a goal.
[0] https://maggieappleton.com/garden-history
What works for me is paid classes. Doesn't have to be in person but should have at least a Discord. The overpriced ones are also dead community, often someone buying something in the heat of the moment and not committing to it. The modestly priced ones are good. You meet people of your skill level and interests and it comes with a mentor. It doesn't have to be tech, go on and learn something outside your comfort zone.
One solution I was mulling is joining a team on a kaggle competition?