I was having a conversation yesterday with another developer who has had a long career in web development. We reminisced about crazy old browsers and the hacks we used to deal with them. I found myself thinking about how different it is for a new developer today, in comparison to what I needed to learn when I got started.

I started to teach myself web development before the launch of Internet Explorer 3 - the first commercial browser to have CSS support. I can also remember seeing my first image rollover and wondering what sort of magic was this that could create such an effect! The landscape was much simpler, I learned HTML and built webpages. I learned some (frankly terrible) JavaScript and added image rollovers and pop-up windows. There really wasn't much to learn, and far fewer decisions to make in terms of how to implement a site.

The industry is growing up. We have new technologies, we can create amazing applications right here in the browser. We also have discussions on process, and best practice. We have created tools that make development faster and more accurate and all of this is good. However it makes for a confusing place to start when researching any subject is likely to give you compelling arguments as to why you should try any one of four or five approaches. It can be hard even as an experienced developer to work out what is best in any situation, never mind for the beginner.

I feel fortunate that I started when I did because there was nothing to distract me from the core technologies that any developer needs to understand. If you are starting out as a front-end developer now then my best advice would be to learn HTML, CSS and JavaScript. Learn how to do things robustly in modern browsers. Anything else is a distraction from that core knowledge. Even worse, I frequently see people who are clinging to some outdated tool or framework simply because they learned that tool as a replacement for this core knowledge. Changing to something else would really mean starting again.

Over the course of my career, accepted best practice has changed many times. JavaScript frameworks have fallen in and out of favour. Our understanding of accessibility and the devices we need to support has changed. However I still write HTML, and the knowledge gained even in the early part of my career still stands me in good stead today.

Don't let yourself be distracted. Seek out high quality, modern tutorials and learn your core languages. Put yourself in a place where you are able to assess the usefulness and quality of tools, methods, frameworks and libraries. Use those tools lightly, always with an eye for whether they are still the best approach as you begin a new project, and your core knowledge will enable you to keep up to date and fresh in what you recommend and use.