Archive for the ‘Technology’ Category

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.