Hacker News new | ask | show | jobs
by nikolasn 1632 days ago
> Are you asking about technologies or are you asking about knowledge?

I was trying to get at both. On the technology side, I was wondering if it is wise to focus on a particular technology/language consistently over a long period of time to compound my knowledge, or learn a new and promising framework/language every so often. For example, I assume Java and C++ will have a high likelihood of being relevant my entire career and so it could be valuable to become an “expert” in the language. However, Go and Rust seem promising going forward and could introduce me to new ways of programming. As I write this I get the feeling the answer is not so black and white as I make it out to be. Some combination of both seems like the right approach.

On the knowledge side, I was mainly wondering what are specific concepts that would be relevant years down the road. I was thinking if I could grasp these fundamental concepts well, then it could provide a solid foundation for any type of field I would like to work in. I realize it is was a very vague question and probably should have been more specific (I’m mainly interested in backend development). Nonetheless I found your answer very insightful, thanks.

1 comments

Ah I see. Concept-wise, see some stuff I listed above (formal methods, models of computation, optimization, statistics & ML, etc.). Pretty much any programming technologies you like right now are backed by interesting academic research (even OOP) and conceptual topics that I would consider worthwhile to learn for the long-term, but it might take some digging for you to find them, especially with older research. IMHO you (should) want to learn the concepts & techniques you'd need to create the technologies you use, and those are timeless. It might not be as "fun" as hot new topics, and there's obviously a lot to learn, but that's science.

Technology-wise, I think the real answer to your question is to narrow the scope of the question down to the next 5-15 years rather than the next 50, in which case I doubt you'll see things like Rust/Python/Linux/etc. becoming irrelevant in that timeframe. There's also GPU and FPGA programming which would probably also stay relevant for quite a while, though it won't necessarily ever have as huge of a job market as something like React. It's important to care about the next 5-15 years though after all—that's part of your life too.