About Me

I started working on web applications in 2000 and instantly fell in love. Since that time, I've focused on front-end technology such as HTML, CSS, and JavaScript, digging in and learning all of the skills and tricks necessary to make performant, beautiful, and maintainable front-ends.

Career

While I've worked at many companies, many know me from my nearly five years at Yahoo, where I was the front-end tech lead for the Yahoo homepage. At that time, the Yahoo homepage was the third-most visited web page in the world, and a lot of my approach to web development arose from my experience during that time. At one point I was responsible for keeping 22 developers in four countries productive and aligned while we pushed out a total rewrite of a very high-traffic page. During that time, I also worked on My Yahoo and contributed to the Yahoo User Interface (YUI) library, a now-defunct JavaScript library that was quite popular during its reign.

Later, I joined Box to help the company scale its aging front-end architecture. Developers were having a lot of trouble writing maintainable code and were scared to touch old code for fear of breaking something unrelated. As part of the cleanup effort, I led a team that created T3, a small JavaScript application framework aimed to enforce better coding structures and loose coupling in the code base. We saw great improvements when we introduced T3 into the codebase and ended up with better quality code that was more easily testable and less fragile.

Writing

I'm the author of Maintainable JavaScript, Professional JavaScript for Web Developers and High Performance JavaScript, a co-author on Professional Ajax, and a contributor to Even Faster Web Sites. I have also written several online articles for A List Apart, WebReference, Sitepoint, and the YUI Blog.

Speaking

I regularly gives talks about web development, JavaScript, and best practices. I've given talks at companies such as Yahoo!, LinkedIn, Google, Netflix, NASA, and PayPal, and conferences such as the Ajax Experience, the Rich Web Experience, and Velocity.

Standards Involvement

I have been vocal with standards bodies about what he believes. I'm listed in the acknowledgments section of HTML5 for my work on defining the behavior of empty string URLs in HTML (set of changes to HTML5) that were made in response to the problems outlined in his post, Empty image src can destroy your site. I followed up with browser vendors to ensure that the behavior was changed to match the spec.

I am listed in the acknowledgments section of CSS Media Queries Level 4 for the inclusion of his proposal for a way to detect if a browser has JavaScript enabled using media queries.

I was also invited to participate in a roundtable discussion hosted at Google around the ECMAScript Internationization effort. He was invited based on feedback provided to individual group members, and argued (unsuccessfully) for a more sane API design. I still hopes that his feedback and recommendations didn’t fall on deaf ears.

I'm also listed in the acknowledgments section of the Selectors API, but have no idea why.

Interests

  • JavaScript
  • Web application performance
  • Web accessibility
  • Software architecture
  • Test-driven development
  • Development best practices

What Others Say

“…there are a lot of people who are really awesome JavaScript developers but few, in my opinion, who have the experience in a large-scale environment. Nicholas has that, as the principal front-end engineer for Yahoo! and that’s knowledge worth nabbing. And if you’ve watched his presentations, you know he can teach.” – Rey Bango

“[I imagined] that I was at university and that Douglas Crockford was the insanely popular genius professor that showed up late for lectures, and then either spoke too fast or else mumbled a lot, and then locked himself in his office refusing to answer the door during office hours while he worked on his Next Big Thing that would make everyone oooh and aaah and validate his brilliance. Meanwhile, in that same imaginary university, Nicholas Zakas was the graduate student that served as the TA to that class–and he happened to be equally brilliant and super-accessible and willing to take the time out to explain it all in a way that was thorough and comprehensible.” – Rob Friesel Jr.

Employment

I generally don’t respond to correspondence from recruiters, especially if they’re also asking me if I know anyone else to fill a particular role. If your company is interested in me, I expect to hear from someone other than a recruiter: the hiring manager, the director of engineering, the CTO, or the CEO. Even then, please be sure you know who I am and what I do before contacting me. There’s a lot of information on this site, use it wisely!

More information