

Ask HN: What should I learn? - skynetv2

I am a professional with 15+ yrs experience. Unfortunately or fortunately, its not all sw dev exp. I dabbled in management, sw development, sys admin and pretty much anything that came along. I am also stuck in a very niche domain that deals with distributed systems. I know distributed systems are all the rage but I have no system sw dev experience. my sw dev exp is also very minimal.<p>I find myself unable to get jobs anywhere in the current tech world. I am not a hardcore developer, I have no firm grasp on any one language, I have no large scale projects as proof of my expertise. I know I am really good with programing if I were in a programing position. So I want to build some new skills and also develop a portfolio.<p>I find myself being pulled in different directions and keep dabbling with Ruby, Python, Go, Rust, Julia, JS and whatnot. I am a Linux guy, been using it for over 20 yrs.<p>I like systems dev, dist. systems, networks etc. What language should I focus on? What are some projects I can start contributing to in the dist systems space. Thank you for your time. I have C, C++ and Python experience. Most in Python, then C, then C++.
======
eah13
If you know Python, it's an amazing language. Ruby and Javascript are
incredibly useful for web dev, but like angersock said, the key is to build
projects. Period. If Python's the language you feel most comfortable in, get
going with it and don't switch until after a project is complete.

I'd suggest Flask as a starting point if you're looking for web framework
experience. Twisted might be more your style if you're looking at highly
concurrent networking projects.

'Distributed systems' is a little broad almost- are there any software
projects in particular in that space that you're interested in and could
develop expertise in? If so, I'd focus there.

------
arisAlexis
Pick a language and put a project in github as a showcase of what you can do

------
adam419
Java/Ruby/JS forget everything else.

------
angersock
Build a project. Then build another project. Then build another project.

Stop shopping around languages until you've actually made something, even if
it's with older tools.

