- Version Control with GIT.
- Learning VIM (a very powerful text editor) Along with Command line orientation.
Many do not understand that the Web Browser is now a full fledged operating system. It has I/O handling, for the network and local storage. It supports the machine interface across many operating systems and machine types and it handles the presentation of data along with user interaction. It is fair to say the the browser is now the most cross platform operating system in existence today.
Web server based programming requires so much learning across so many domains to grasp, that I put the whole subject of HTML/CSS/JS at the bottom of my very long list of learning tasks. I got the basics but I figured that I could get away with just the basics, after all it was "just presentation". Well presentation counts!
On twitter someone (and I've tried to remember who so I can attribute) made the observation that if you do not know the layers of the programming model you are very likely to be working in the wrong one. Similar aims can be achieved in the database layer the layer just above the Database known as the ORM or even higher in the view or template layers or right in the browser using Javasript (this layer description is somewhat simplified).
The concept is really heating up as the mobile Web gains market. With new standards, since most mobile browsers use the same core (Webkit) very rich mobile apps can be almost entirely coded "in browser".