Blog

You can find my latest AI engineering articles on Substack, leadership on LeadDev, or browse my topic guides and personal blog posts below.

Personal Blog

Journey Through The JavaScript MVC Jungle

When writing a web application from scratch, it’s easy to feel like we can get by simply by relying on a DOM manipulation library (like jQuery) and a handful of utility pl...

Improved Developer Tooling and Yeoman

Did you guys enjoy Paul Irish’s talk at Google I/O?In case you missed it, yesterday we announced Yeoman - a project we’ve been working on to greatly help improve dev...

JavaScript Style Guides And Beautifiers

Today we're going to explore JavaScript style guides, specifically: their importance, style guides worth reviewing and tools that can assist in automated code beautification...

Big news! I'm joining Google.

Some exciting news to share today! I'm joining Google as a Developer Programs Engineer on the Chrome team.I'll be lucky to join an incredibly talented team of developers...

Short Musings On JavaScript MV* Tech Stacks

Lately, there have been a number of developers getting in touch to discuss the tech stacks for their web applications. In this short post, I'd like to focus on the JavaScrip...

Polyfilling The HTML5 Gaps With JavaScript

We all want to use the hot new features being implemented in modern browsers right away, but there's a small problem holding us back: how can we use these great new capabili...

The Smashing Guide To Moving The Web Forward

In this article I’d like to talk about how you can help give back to the Web and a new project that seeks to make this process easier: MoveTheWebForward.org. If you’...

Substack

LeadDev

Managing the chaos of context switching

It's time to examine the good, the bad, and the very ugly elements of context switching. Even better, we'll take a look at some strategies for managing it.

What makes an effective software engineer?

Being a good software engineer is not necessarily the same as being an effective one. Here, Google's Addy Osmani identifies the ten key traits of effective software engineers.