Nicholas C. Zakas

Nicholas C. Zakas

Web developer

Mountain View, California

Areas of Expertise:

  • JavaScript
  • HTML
  • CSS
  • Ajax
  • Comet
  • consulting
  • speaking
  • programming
  • writing
Nicholas C. Zakas is a Web Software Engineer who specializes in user interface design and implementation for Web applications using JavaScript, Dynamic HTML, CSS, XML, and XSLT. He is currently principal front end engineer for the Yahoo! homepage and is a contributor to the Yahoo! User Interface (YUI) library, having written the Cookie Utility, Profiler, and YUI Test.

Nicholas is the author of Professional JavaScript for Web Developers and a co-author on Professional Ajax, and has contributed to other books. He has also written several online articles for WebReference, Sitepoint, and the YUI Blog.

Nicholas regularly gives talks about Web development, JavaScript, and best practices. He has given talks at companies such as Yahoo!, LinkedIn, Google, and NASA, and conferences such as the Ajax Experience, the Rich Web Experience, and Velocity.

Through his writing and speaking, Nicholas seeks to teach others the valuable lessons he's learned while working on some of the most popular and demanding Web applications in the world.

For more information on Nicholas:

The Principles of Object-Oriented JavaScript The Principles of Object-Oriented JavaScript (No Starch)
by Nicholas C. Zakas
February 2014
Print: $24.95
Ebook: $19.95

The Problem with Native JavaScript APIs The Problem with Native JavaScript APIs
by Nicholas C. Zakas
July 2012
Ebook: $0.00

Maintainable JavaScript Maintainable JavaScript
by Nicholas C. Zakas
May 2012
Print: $34.99
Ebook: $27.99

High Performance JavaScript High Performance JavaScript
by Nicholas C. Zakas
March 2010
Print: $34.99
Ebook: $27.99

Nicholas C. blogs at:

A framework for thinking about work

April 15 2014

Your product owner comes to you with a request, and suddenly your stomach is tied in knots. There’s something about the request that doesn’t sit right. You blurt out, “well, that’s a lot of work,” because it’s the only thing that comes to mind. “Well, it’s really important,” comes the… read more

I have Lyme disease

April 02 2014

As best I can recall, it all started around 15 years ago. I was finishing up my sophomore year at college and had just taken my last final exam. The following Monday I would be heading into the hospital for some diagnostic tests related to persistent and as-yet-undiagnosed digestive issues.… read more

Announcing Understanding ECMAScript 6

March 26 2014

For almost two years, I’ve been keeping notes on the side about ECMAScript 6 features. Some of those notes have made it into blog posts while others have languished on my hard drive waiting to be used for something. My intent was to compile all of these notes into a… read more

Leanpub: One year later

March 18 2014

At the beginning of last year, I released my first self-published ebook, The Principles of Object-Oriented Programming in JavaScript. I decided to go this route for a few reasons, not the least of which being I didn’t really know how much time I’ve have to commit to its writing, so… read more

Accessing Google Spreadsheets from Node.js

March 04 2014

I’ve recently been working on a project involving Google Spreadsheets. My goal was to store data in the spreadsheet using a form and then read the data from that spreadsheet using a Node.js application. Having no experience with Google web services, I ended up digging through a lot of documentation… read more

Now shipping: Principles of Object-Oriented JavaScript

February 25 2014

I’m very proud to announce that Principles of Object-Oriented JavaScript is now shipping! For frequent readers, this book is the print version of my self-published ebook, The Principles of Object-Oriented Programming in JavaScript, which I published at the beginning of 2013. Birth of an ebook The whole process began after… read more

Maintainable Node.js JavaScript: Avoid process.exit()

February 04 2014

I’ve spent the last few months digging into Node.js, and as usual, I’ve been keeping tabs on patterns and problems that I’ve come across. One problematic pattern that recently came up in a code review was the use of process.exit(). I’ve ended up finding several examples of this, and I’m… read more

Private instance members with weakmaps in JavaScript

January 21 2014

Last week I came across an article[1] by Nick Fitzgerald in which he described an approach for creating private instance members for JavaScript types using ECMAScript 6 weakmaps. To be completely honest, I’ve never been a big proponent of weakmaps – I thought there was a loss of fuss about… read more

How to be a mentor

January 07 2014

Mentorship tends to be a hot topic at any company that cares about its employees. I’ve experienced a variety of mentorship approaches in my career and learned one important lesson: very few people are taught how to be mentors. There are no good guides, no classes, and typically little organizational… read more

Webcast: The Best of Fluent: Maintainable JavaScript
April 24, 2013
Join us for an exclusive presentation by Nicholas Zakas from Fluent Conference 2012. Maintainable JavaScript tackles the difficult problem of writing code as part of a large team. When you're writing code that only you will change, there aren't ...

Webcast: The Best of Velocity - JS Timers, Power Consumption, and Performance
September 07, 2012
This talk explores the browser UI thread and how timers influence it. You'll learn how timers actually work, why they behave the way they do, and whether you're using them in the most efficient manner possible. Learn how timers affect power consumption...

"If you know Zakas, then you know this is a quality pick-up even before reading it."
--Louis Lazaris, Impressive Webs

"After just the first chapter, I was amazed at all the things I had learned, and I think many other developers would feel the same after reading this book. Very highly recommended."
--Brandon Ching, Usenix ;login:

"In short words this book is a must read..."
--Mostafa Farghaly,

"Overall, High Performance Javascript is a great little 200 page book. If you have been programming JavaScript and/or Ajax and want to learn more about speeding up your code and also learning the best way to program then this book would make a great read."
--Daniel Coe,

"...a guide recommended for any programmer's collection."
--Diane Donovan, The Bookwatch: The Computer Shelf

"...a bloody brilliant book, and not owning it should be reason enough for ostracication from the frontend community."
--Jacob Waller, krwaller