What do we need to know?

I go through periods of self-doubt about my qualifications as a web developer. I have a sense I’m not alone in this. Our field is by nature a generalists’ field, where expertise involves synthesis of concepts and technologies, not complete mastery of a single, static topic. It’s hard to know how to tell if you’re good at your job.

This post on A List Apart resonated with me a lot. Liza Danger Gardner describes a situation we all have been in: someone talks about that new feature you never heard of and you have no idea what they are talking about. Web development being a profession that develops so fast and in so many directions at the same time sometimes makes it hard to follow along.

There’s no defined lesson plan or standardized test for the many branches of real-world applied web development, and the whole profession is a moving target. So if we can’t possibly know everything, all the time, what things do we need to know?

She then attempts to answer this question by answering the opposite question “What do we not need to know?” which is fine but doesn't exactly provide you with a list of things that are required. Probably this list is hard to create but I'm curious what you would put on it. What are the high level concepts in web development everyone should know about? Is it “How the DOM works” or is it “What Prototypes are in Javascript” or is it ...?

I'd love to hear what you think is “required knowledge” on Twitter (@martinklepsch) or elsewhere.