Get your PhD in JavaScript

Posted: August 1, 2010 in Technology, Web
Tags: , , ,

JavaScript must be the most undervalued programming language ever. Considering that it powers almost all of the Web sites out there, “professional developers” are still taking it way too lightly, not bothering to thoroughly learn either the language or its most common execution environment i.e. the browser. At least outside the Bay Area, the general view seems to be that hard-core server hackers should focus on hard stuff and leave the trivial and unimportant HTML, CSS and JavaScript (JS) coding to some kind of a lowly group of front-end dudes.

Ironically, most of the Web startups I know are desperately trying to recruit, or even find, an all-around front-end hacker, that is, a software engineer with solid computer science (CS) background who excels in (X)HTML, CSS , JS and user interface/interaction design. However, because CS and JS have been mutually exclusive terms in the Finnish tech universities (“This thing called Web, is it already gone?”), there seems to be only a handful of true all-around front-end experts out there: in most of the cases the CS part is missing or the person doesn’t know/care about design or usability.

The modern Web apps can have 10,000s of lines of client code and very complex architectures. Combined with the need to launch often and iterate, this calls for very strong software engineering skills from the front-end programmer(s). On the other hand, if a startup need to hire a separate graphical designer, interaction designer and HTML/CSS/JS developer, this both slows down the team and ads costs.

I believe that the role of the front-end hacker will be even more central in the future. Programming, scaling and monitoring Web apps is becoming easier due to platforms such as Google App Engine and Amazon’s AWS, which means that apps need to compete with user experience, fast development process and client-side innovations. In addition, an all-round front-end hacker can basically build a Web startup by herself or at least be the only technical employee during the first critical months when the company is looking for the product-market fit and typically has little cash in the bank.

I urge people with strong CS background and hacker mentality to thoroughly learn/experiment with HTML, CSS and JS, taking the browser to its limits. Achieving superior user experience in terms of user interface design and implementation is a very hard problem that requires deep skills, but we absolutely need people like you to build the next generation of Web startups.

Comments
  1. Parag Shah says:

    Very relevant post. I started doing exactly what you are suggesting.

    In fact I am trying to take it a step ahead and have made an entire masters program for myself. I will be doing this program using open courseware and other material available in books and on the Internet.

    I am planning to document all my learning, and am hoping to use social learning / social credentials to actually create credentials for what I learn.

  2. urssur says:

    As soon as IE starts taking it seriously , or ie dies, people should start making cool things with js.

  3. mwilcox says:

    Excellent post. The client side was already complex because of cross browser difficulties. Now there is HTML3 CSS3, features detection and graceful degradation. You can’t leave this to someone who knows Photoshop and a little HTML; or an arrogant server dev who thinks he’s an expert because he puts GIFs into tables and uses a little JQuery.

    I was led to this recommendation by someone who read my article which was similar:
    http://clubajax.org/why-your-company-needs-a-front-end-developer/

  4. tbrander says:

    Excellent post, I have arrived at a similar conclusion. I am a sole dev and learning, started with GAE and Django then realized that I needed to know way more about presentation. Studied HTML?CSS but until getting JS did not really understand how to best put stuff together. Just ploughing throuth the “Definitive Guide”

  5. Parag, I’m sure you’re investing your energy in the right thing.

    Mike, your article is very insightful: +1 to your definition of what a front-end developers is.

    Tom, I’m involved in a couple of GAE (Google App Engine) projects as well and, if you fast-forward a couple of years, it’s quite obvious that achieving server-side scalability etc will get an order of magnitude easier than what it is today – the real battles will be fought on the client side.

  6. timomj says:

    You are so right. Times are changing, especially in new startup companies, from dinosaur back-ends to consumer benefit in front-ends.

  7. when I first read the title I thought of the Steve Yegge post where he outlines why Javascript is the Next Big Language (http://steve-yegge.blogspot.com/2007/02/next-big-language.html)
    And one of the follow-up posts where he describes where he is at in building a Rails clone in JS (http://steve-yegge.blogspot.com/2007/06/rhino-on-rails.html)

    He also seems to agree that good devs should know how to code using the new front end technologies (http://steve-yegge.blogspot.com/2006/09/bloggers-block-3-dreaming-in-browser.html)

  8. […] last post was about JavaScript hackers and the near-desperate search for them. The same applies to PMs: most startups would kill for a […]

Leave a comment