HN2new | past | comments | ask | show | jobs | submitlogin

I'd recommend to learn several languages that are pretty different from each other. E.g. java, golang and javascript. Learn enough to be proficient in each - enough so you are fully comfortable in the ecosystem and could happily start a new project from scratch and do it all in that language + ecosystem without much help or stumbling blocks.

Benefits: learning multiple languages makes you better in each by opening your mind to new approaches or reinforcing higer-level understanding... Plus you won't become wedded to a specific language or "scared" of touching something new you've not done before. You'll see more similarities than differences, and although you may never actually get to code in java/golang/javascript professionally the experience of learning and coding in the different languages is really powerful in my experience.

Other than that, I am personally a fan of "full stack" development. Learn a little bit about everything so you can hit the ground running on whatever project you land on - web development, databases, mobile device, backend developer, continuous integration, containers, serverles etc etc. Play around with all of these and you'll learn a lot about designing systems and what really matters. Again - you'll see many similarities across all of these apparently different areas of expertise, all of which will be to your benefit.

With respect, ignore comments about learning the tools - tools change rapidly and you might not get to use your particular favourite tool/ide/editor/source control system/operating system/hardware on your next proejct, so just make sure you stay flexible.

Good luck - you're in for a really fun ride.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: