Hacker News new | ask | show | jobs
by gregjor 1961 days ago
I wouldn't think in terms of "stacks" since those come and go, and you find different sets of tools in different application domains. I would focus on some fundamentals that are common and/or core.

Relational databases and SQL. Learn the relational model.

C, a core skill that teaches things common to many languages and tools. I would learn C first, and then C++, but some people suggest going right to C++. If you reasonably master C++ then Java and C# are pretty easy to pick up.

Unix/Linux. System admins and people who can set up and keep servers running are always in demand. Programmers who can use the Unix tools get a productivity boost.

Lisp or Scheme. Learn another way to think about programming.

If you want to get into web development it helps (a lot) to understand the HTTP protocol, DNS, web application security, HTML, CSS, Javascript.

If you want to get into machine learning that's a different world with its own tools and fundamental skills to learn.