Learn HTML. But only if you want to.

In my penultimate post, there was a comment from Chris that I purposely didn’t include in the follow up:

It’s amazing how many ASP.NET "Web Developers" don’t know anything ,or very little anyway, about html and javascript.

My response to this is a little more involved to be included in a compendium. I know I said I was trying beligerence on for size but I want to backpedal. Yes, many web developers prefer to work in the designer and may not know HTML and Javascript inside and out. The point of the post was to encourage people to try MVC out. And to encourage them not to shy away from having to do a little more work yourself (vis-a-vis HTML and server-side controls).

But in my condescension, I worry that I may have scared people into thinking "Well, he’s a big, bad web developer with too much time on his hands. I don’t have the time or the wherewithal to learn both this framework and everything else needed to make it work." Furthermore, I keep getting a sense that people are afraid to ask questions because of some inate fear of being thought an idiot. I think it has to do with the way we throw around goofy terms as if they are common knowledge.

In Twitter one day, I threw out the idea that my bio for all future presentations will be: "Kyle is just a guy." It was after reading the one I submitted for a presentation and thinking, does anyone really care about what I’ve done in the last x years? And if they are, wouldn’t Google give them a better idea of who I am than I could when I’m in marketing mode?

Following that train of thought, I eventually got to thinking that these trumped-up bios are actually detrimental. After having that thought, I started reading between the lines of my bio: "Kyle is a guy with ten-odd years experience in a ton of different technologies so he is able to figure out all these high-falutin’ technologies like HTML and CSS at a glance and he’s willing to impart various pearls of wisdom to you because he doesn’t think you can do it on your own."

Well, here’s the thing: I *am* just a guy. I figure this &*%$ out the same way you do. By reading blogs, watching screencasts, and diving in. The difference may be that I ramble about it more than you might. And in those ramblings, you are reading more about my successes than my failures and roadblocks. So it may sound like I just decided to sit down one day and learn MVC and lo! out shat a blog post. (Sorry for the crassness. I’d edit it out but I’m killing myself laughing re-reading it.)

I learned MVC by reading blogs from the team that built it and by stumbling through Google and by building an app with it. I also have a cadre of people on IM or e-mail that are crazy-friendly about answering questions. Along the way, I was also fumbling through NHibernate, IoC, and architecture in general. It took (and is still taking) quite a while and I was "lucky" enough to be between contracts at the time so yes, I admittedly did have too much time on my hands at the time.

Despite my recent lapse, it doesn’t do any good to add to a person’s fear that they are being left behind with all these new-fangled frameworks. Taking the high road and saying "Learn HTML, you unwashed heathens" is not going to endear you to anyone, let alone the unwashed heathens (I’m kidding, back away from the comment button). A better way of saying it may be: "Yes, server-side controls likely won’t work the way you want them to in MVC. But I’ve had lots of success sticking with basic HTML and managing the view state myself. It’s not nearly as hard as I thought it would be."

Now, I’d probably spice that up a bit so that it didn’t read like it had been washed through an affirmative action machine. But at least it doesn’t raise feelings of "Ya, Baley’s off his porch if he thinks I’m going to learn MVC *and* Javascript just so he can add to his superiority complex." What you get along with unspoken feelings of animosity is people who will just silently tune you out.

Kyle the Ameliorated

This entry was posted in ASP.NET MVC, Conscientious Coding. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • Kyle Baley

    Sorry, I’m really screwing up my terminology with this one. I meant belligerence. You’re right, irreverence is a good teaching mechanism in moderation. Belittling people’s abilities with pithy comments meant to solicit appreciative nods from your peers is not.

    We can talk more about it this weekend. This may actually be a good topic to bring up at the conference.

  • http://graysmatter.codivation.com Justice~!

    > Irreverence has its place, in examples, in asides, in sidebars. But not as a teaching methodology.

    Can you clarify what you mean by this? I may be misreading the “irreverence” but I have found great results from teaching people using humor as a backbone for it. It helps people to remember the messages better.

    I…I modelled that after…after watching *YOU* present…


  • Kyle Baley

    Oh bother, I’ve messed up the message. I didn’t mean to absolve developers of their responsibility to learn the technologies required to do their jobs, even though the title of the post suggests exactly that.

    I was hoping for something along the lines of what Nathan said. Using an appropriate message to ensure that people *do* learn the technology they are supposed to.

    I love “frothing rage and hardline indignation” as much as the next guy and maybe that does spur people into thinking “yeah, he’s right! I suck!” But I don’t do angry very well, except to 9-year-old girls who like to test their boundaries by slapping daddy in the head with just that little bit of extra power that pushes it into disrespectful territory.

    Developers are a sarcastic bunch, I find. And it tends to increase with the amount we learn. It’s funny to your peers to throw out a pithy “I guess you aren’t a *real* developer then if you don’t know X” to someone who is asking a genuine question about a new technology.

    We forget that we were young whelps trying to feel our way through as well. Not just a particular framework, but learning in general. Learning in and of itself is a skill to be honed and if you’re feeling overwhelmed trying to keep up with WCF, WPF, Silverlight, SharePoint, and MVC, imagine adding to that, the nagging feeling that you don’t know the underlying technology that powers these. A snide “Don’t talk to me until you have the fundamentals” is not, in my opinion, the way to go.

    A lot of this is very relevant to me as I wade my way through potential topics in a user group that is requesting a presentation on source control and connecting websites to a database. Irreverence has its place, in examples, in asides, in sidebars. But not as a teaching methodology.

  • Jon Rowett

    in my experience there is a huge, painful, smack-your-head-against-the-wall difference in the quality of work produced by web developers who *know* and *like* the web, and drag-n-drop server control jockeys. i for one am disappointed by the cowardly U-turn this post represents, and would like to see more frothing rage and hardline indignation in future posts.


    jon rowett

  • http://www.thefreakparade.com Nathan

    I really enjoyed this post. I particularly enjoy that you are human enough to take a few steps back and examine the conversation you are having from a thoughtful perspective – it isn’t “backing down” at all, it is considering your audience and evolving your message appropriately, which is pretty unique in geekland, at least in my experience. Often enough bloggers *do* appear to speak from atop a white horse, even through we’re all just trying to connect up all the sparking, flailing wires in as elegant a way as possible. Humility is both difficult and extrodinarily valuable, and has a much higher chance of tempting someone to take the plunge into the unkown. Now, irreverance is also a top notch talent, and your mix of irreverence and humility in appropriate amounts makes this particular blog a joy to read, at least for me.

  • http://panteravb.com Chris

    “I don’t have the time or the wherewithal to learn both this framework and everything else needed to make it work”

    The individuals uttering statements like this ARE heathens! :)

  • http://graysmatter.codivation.com Justice~!


    Screw that noise. Do you know there are developers out there who:

    a) tell me they don’t know the difference between HTTP GET and HTTP POST
    b) follow that statement up by trying to say it’s been a long time since “they’ve dealt with GET or POST”
    c) follow *that* one up by telling me theyve worked in nothing but web dev for the last 8 years?!

    BE A MAN

  • http://www.helephant.com Helen

    Maybe you should change your headline to be “Learn HTML but only if you need to build cool stuff in a browser”. :)

  • http://www.helephant.com Helen

    Even with my server controls comment from your last post, I think there’s something to be said for web developers understanding the important technologies that power the web. You can do ASP.NET without learning everything about html, css and javascript but it’ll really limit what’s possible to get out of the browser.

    Maybe it’s a not really an issue. I know that most of what I learnt just kind of seeped into my head as I was building things and debugging problems without me ever really explicitly trying to become a web developer. Maybe ASP.NET is just a good gateway drug for programmers to dip their toes into the world of web without having to learn everything at once.

  • Kyle Baley


    I will agree on the conclusion: Reduced bugs is something everyone can agree on. The route you took to get there is a little generalized. In my experience, heavy reliance on server controls, especially when they need to interact, does *not* lead to less code nor does it lead to fewer bugs.

    I like your closing remarks though. In the end, all I can say is that I’ve tried it and I like it.

  • John

    My problem with all of this is that I come from the original ASP days, where I had no choice but to do all of the hard work myself with HTML and javascript. I did xmlhttp back in ’98 when it was IE only and “AJAX” hadn’t been coined yet. I celebrated the abstraction layer that is asp.net when it was released. You make the point that you can do anything in HTML and javascript that you can do with server controls, because server controls, when it comes down to it, are just javascript and html. Reverse that, and you have the same argument *for* server controls. If you can do everything with server controls you can do without, and by using server controls you increase reusability, decrease manual html and javascript writing, eliminate the need to manually track state, etc., then you have a very compelling reason for asp.net. After all, by having those things taken care of for you, there’s less code to write, and therefore fewer chances for bugs. Reduced bugs is something everyone can agree on.

    Having said this, I’m still looking into MVC because I don’t mind html and javascript. Besides, it’s best to know all possible frameworks so that you can choose the one that’s best for the situation you’re in.