Web development - HTML, CSS and Javascript - is not hard, but it's a different mindset from PC programming. Your program's state can't live in global variables: it has to fit inside the HTTP interface. Unfortunately circa-2003 ASP.NET was a leaky abstraction over HTTP.<p>One misconception common among non-web developers is that web development involves low-level Javascript coding, that you have to constantly worry about cross-browser problems, and that all server interaction goes via <form> and POST. This was true a decade ago, but we have really good frameworks now.