I started out thinking that this would be a guide to help someone break into the field of Web Development, but I think much of what is here can also be used by existing web developers to further hone their skills. This is also a good carry on from my previous post about Keeping Your Web Development Skills Current.
Rather than focusing on how to stay current, here are the key skills to possess to be a successful Web Developer, Part one.
Hypertext Markup Language, simply referred to as HTML is the core to displaying text and laying out content on a page, whether it is simple text, links, images, form elements, videos, etc. Just as you would markup your text in a word processor document, HTML enables you to add limited formatting to your text (bold, italic, headers/titles, lists etc.).
Having a solid understanding of HTML is important as you will be working directly with this markup when creating any page for a website.
In the early days for web development, we only had HTML to format our text and to layout our pages, often resorting to breaking the page out into tables, rows and columns. Tables were (and still are) great for displaying tabulated data, but for laying out complex page designs, they were a mess, unwieldy and often prone to errors – back then it would not be uncommon to have nested tables within table cells.
Thankfully along came CSS (Cascading Style Sheets) to help up separate out our content (HTML) from formatting and styling. CSS allows us to simplify the page markup, using classes and styles referenced, ideally, from a separate file and apply specific styles from the CSS sheet to each element on a page.
CSS not only allows you to stylize your content (font, font size, weight/bold, italic, etc) but it also allows us to control the layout of our page. Gone is the practice of using tables, now we can create (in our HTML markup) regions on the page and with CSS control where it will appear and how it will react to different dynamic content.
Most importantly, especially recently, CSS allows us to tell a website how it is to react to different screen & windows sizes so the site works seamlessly across devices from the desktop to your mobile phone.
Structured Query Language (SQL) is the language used for storing, retrieving and manipulating data in a relation database management system (RDBMS), there are also NoSQL databases but that is a topic for another time.
Some developers are not fans of SQL and its syntax and so ORM’s (Object-relational Mapping) have been created help bridge the divide between programming (especially Object Oriented Programming) and the data, effectively giving the programmer a familiar syntax to the data that they need.
However, one downside to ORM’s is often inefficiencies, especially when working with large datasets. Having a sound understanding of the key elements of SQL will help you decide when and where an ORM can be efficiently used and when (especially with more complex data) they should be avoided.