Ask HN: Knowing a bit about everything or everything about a bit?
I found this to be terrifying yet exhilarating. The short timelines of these projects (averaged six weeks) coupled with the "tech spike" nature of the work gave me countless opportunities to experiment with different technologies and approaches to problem solving. While the architecture and code weren't often the best, they served their purpose well as demos.
What constantly nagged at me however was the outlook that I'd always only gain surface-level knowledge of the things I work with; by the time the implementation was working, it was time to move on to something else. This eventually caused me to move to an engineering role in a product company where I'd get the chance to specialise in an area I was passionate about.
Fast-forward to now, where I've spent almost a year in the same codebase working to solve problems in the same domain. I've picked up an immense about of knowledge on Go, REST APIs, and good engineering practices, but I can't kick the feeling that having such a narrow focus is detrimental to my learning.
I'm sure I'm not the only person who's felt this way, and I get there are tradeoffs with both approaches. Has anyone managed to strike a balance? Are there good reasons to favour one over the other?