Hacker News new | ask | show | jobs
by slysf 3176 days ago
There's a lot of great advice here which can be broken down into two categories: specialist vs generalist. A really important thing to figure out is what kind of developer you are. Which sounds better: a. Constantly being challenged to learn new things, a rapid paced environment where lots of change and challenge are introduced b. Organized environment where work is split up by expertise, groups have a narrow focus where they become experts in their domain and iterate to perfection

Obviously you should have a nice balance of both, but I've found many company cultures to lean more one way or another, and the advice on this post seems to divide similarly. If you like option A I'd recommend getting a good overview of a variety of languages, data stores, and tools/frameworks so you can at least have an idea of which one you'd learn more of for a given problem. If you like option B I'd do a deep dive into algorithms and CS fundamentals with one language (C, Java, etc) and target companies that work with that language. They're also more likely to have a well defined intern/junior dev role than the fast paced shops, but a slower pace of learning/advancement.