Hacker News new | past | comments | ask | show | jobs | submit login

A lot of programming languages are also very different. In addition to standard languages like Java, Javascript, and Python, I've also done work with Erlang, Prolog, and XSLT. Those require very different mental models from a typical procedural mindset.

At the same time, learning even very radically different programming languages isn't really that big of a deal. It takes a few months at most to get reasonably productive.

Even still, it's nice to know that some of the investment in technical knowledge has paid off. I'm not just thinking of programming languages either, but platforms, protocols, frameworks, architectures, etc. Here are some examples of technical knowledge that I think is wise to invest in and can be useful for many years:

- Unix (command line and systems programming)

- Relational databases/SQL

- Internet application and network architecture

- the actor model for concurrency

- MVC

- text editors like Emacs and Vi

- discrete mathematics

- distributed version control

- UML (specifically sequence diagrams)

- tools for creating visualizations from text (graphviz, plantUML, etc.)

These are things that I have been able to take from job to job, and have been useful regardless of the programming language, framework, or platform we are using.




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

Search: