- HTML/CSS: The web has grown and is still growing since the internet became the best thing since sliced bread. As a developer you will need knowledge of HTML & CSS to build simple and complex web (and these days mobile & desktop) apps. HTML/CSS are simply markup languages; they give structure and presentation to how content appears on browsers. HTML/CSS rarely change a lot, so learn once and keep improving at it.

- SQL: One of the most underrated yet extremely powerful languages invented. With SQL you are able to query structured data from relational databases like MySQL, Oracle, SQL Server etc. Even with ORMs (we had a debate on this last year), you'll find yourself wanting to write complex raw SQL statements that your ORM library can't do. And even with NoSQL databases that don't use SQL language, RDBMs are still very much alive and kicking.

- Git: This is one of the best things I have ever learnt as a developer. Git is like a media player for code with play, rewind, fast-forward, pause controls and much more. It's the best version control system out there, widely supported across multiple platforms and very mature. Before Git, my code was full of commented out sections, multiple filenames of the same file, and long hours spent trying to undo changes. Git is another learn once, keep improving language.

- Linux/Bash: Even if you are full-time windows user, try to learn the linux command line aka Bash. Once its inclusion in the GNU/Linux project of the early 90s, bash hasn't changed much, but it's extremely powerful. It's widely supported on most Linux distros which as a developer you can't avoid interfacing with on the server level. With bash, you can automate a lot of things like deployments, tests, build CLI tools etc. If you find a command you don't really understand, I would recommend this tool https://explainshell.com. Again, learn once, be happy your whole life.

- Regex: Regular expression is yet another skill any developer should learn. Regex can help you with validations and pattern matching for instance if you want to ensure users have entered valid email or phone number etc. You use regex pattern to enforce the rules. Even HTML5 supports regex as do all modern languages. It's complicated to get your head around, and involves a lot of trial and error but it's a big time life saver.So that's it for me. Notable mentions would be Vim or any equivalent text editor, DNS & IP addressing, data structures and algorithms, design patterns.