Ask HN: What side project improved your skills the most?
What would be a good idea to create as an intermediate programmer that would really broaden the experience Something that interests you, but you have no clue how to implement. Forces you to start from square one and possibly pick up radical new ways of perceiving software. Also serves as a major confidence boost once you get it halfway working. In my case it was a synthesizer. "How do I make sound from numbers?" sent me down a rabbit hole that forced me to grapple with DSP math, bit fucking, and manual memory management: stuff you never encounter doing the usual CRUD nonsense. And most importantly, it was fun. If your project feels like work, drop it. I will never waste my free time messing with webdev, architecture, testing, etc because those things are boring and suck and I'm not being paid to care. That is really great suggestion and example! Thanks The ones which I was motivated to work on the most, that kept me going and learning. What you should build depends on what you want to learn. I built a full-stack app to learn server-client, a B2B application forced me to learn DevOps. Now I'm back to algorithms and Go by working on https://cuelang.org What would you like to learn? Well personally I want to learn Go but I'm also asking in general to get an idea what worked for others. I work mostly in server-side apps with Python and I thought trying Go is a good idea. Highly recommend Go, especially for that realm. Building something else that already exists can provide a good roadmap and reference for how things are / can be done. You could build a server, but I'd personally find something like https://nats.io (messaging) https://fission.io (serverless) or https://redis.io (cache) more interesting. You might also look at the Kubernetes ecosystem. Building a tool or service that can interact with the API can lead to new opportunities (people hiring specifically for operator experience). I work on a code generation tool (https://github.com/hofstadter-io/hof) and https://github.com/cuelang/cue Go's source is also pretty interesting and full of great things (https://github.com/golang/go). Here are some of the internals pulled out: https://github.com/rogpeppe/go-internal Those are great ideas. I'm definitely going to check them. Thanks a lot