What should a developer know before building a public web site?
Let's say you got a new intern, who's a third-year CS student. He has firm knowledge of the basics, has some experience with C/Java from the courses he took and a lot of desire to learn more.
What would you teach him in order to become a good web developer?
Based on the answers here, I'm updating the list:
- HTML/CSS and the importance of writing semantic markup
- Basics of Git/Subversion (whatever you use)
- The language we use (Ruby, Python, PHP, C#, whatever)
- Databases: SQL, No-SQL (either quick introduction or more in-depth, in case it is being used in our company)
- Introduction the web framework we use (Rails, Django, ASP.NET MVC...)
- MVC - what/why/who
- HTTP Protocol and RESTful web services - how to consume them and how to create one
- Security (XSS, CSRF, SQL Injection, etc.)
- Importance of web standards, cross-browser compatability
What's on your list?
This is a community wiki questions, so you're more than welcome to edit and add your stuff to the list.