Ben Coe is joining Google

My introduction to JavaScript and web-programming

Benjamin Coe
4 min readMar 2, 2019

I was fortunate, in that I came of age as a programmer around the time the Internet began its exponential growth, and — despite its small-town charm — Fergus, Ontario’s High School had forward looking computer classes.

Through the introduction at school, I fell in love with programming. I began saving up to purchase discount textbooks at RadioShack. Two such books were JavaScript For Dummies a Quick Reference and HTML 4 Unleashed.

HTML 4 Unleashed

For a beginner programmer, it was awesome to learn that a web-browser could be your entire development environment. There was already, in the late 90s, very exciting things happening in CSS, HTML, and JavaScript.

I went to University, and the curriculum concentrated on Java, C, and algorithms, touching only a small amount on Internet-technologies. This was also the height of the browser-wars, poor compatibility between browsers made writing JavaScript frustrating.

I put down web-technologies for a few years…

Reintroduction to JavaScript

After graduation, I had the good fortune of getting a job at FreshBooks in Toronto. At that time (2009) FreshBooks was a 35-person startup; the environment was fast moving and exciting… I found myself getting a crash course in the current state of JavaScript and web-development.

I had two great mentors, Ben Vinegar (who wrote the book on third-party JavaScript) and Mark Story (who provided a great open-source role model, through his work on CakePHP). I was shown that JavaScript could be used to create rich, interactive, frontend experiences — if one was careful to use a subset of the language, and test across a variety of browsers.

I found myself with a renewed excitement for the JavaScript language:

  • it was the first time I’d become proficient in a language with first-class functions, and found the paradigm very powerful.
  • I found the event-driven approach to JavaScript in the web-browser, while initially hard to wrap my head around, really fun.

While at jQuery Conference 2010 with Mark Story, I mentioned how much I was loving writing JavaScript, and how I wished I could use it for backend development as well. Mark said something along the lines of, “You’re in luck Ben! there’s this new project called Node.js, that lets you do just that”.

Installing Node.js immediately, I was stoked! (as we say here in California).

Joining npm, Inc

During the years 2010–2014, I built the startup Attachments.me (which leveraged some of the front-end JavaScript skills I’d picked up at FreshBooks) with fellow Canadian Jesse Miller.

When possible at work, and at home, I continued to become more involved in the Node.js and npm community: I published some of my first modules; and gradually learned more about contributing to other projects on GitHub.

Shortly after Attachments.me was acquired by Yesware, I read news that npm, Inc had raised a seed round. I saw this as a huge personal opportunity:

  • I’d been using Node.js for several years now, was passionate about it, and knew I could bring this passion to npm, Inc.
  • I was really enjoying learning to contribute to open-source, and it felt like an amazing opportunity to work for a company central to the JavaScript open-source community.
  • Having just experienced running my own startup Attachments.me, I thought I could bring valuable experience to the early stages of npm, Inc.

With high hopes, I put my resume in to npm, Inc … a month later I found myself their third employee, hired to help operationalize the npm registry. I was ecstatic.

In my five years at npm, Inc, I achieved everything I was hoping to:

  • I lead development on, or product-managed, several of npm’s paid product lines —helping the company grow from 5 to 60 employees.
  • I became much more involved in open-source: writing nyc, to add test coverage to the npm CLI; adopting the yargs project, while writing operational tooling; and writing the standard-version tool/conventional-commits spec to help better manage npm Enterprise releases.
  • I grew to care even more about Node.js, JavaScript, and the communities surrounding these technologies.

Why I’m joining Google

The open-source work I’m most proud of at npm, Inc grew out of real-world needs — Google uses nyc, yargs, and other JavaScript projects that I helped create, and I’m excited to continue moving these projects forward, within the constraints of helping to deliver delightful products to Google’s massive user-base.

I’m also excited to continue getting more involved with Node.js, and committees like TC39; helping to shape the future of the language that put me on the path to such a creative and rewarding career. I feel that the resources of Google, and their existing involvement in these committees, will help me with this goal.

I will be taking on the role of Developer Programs Engineer, on Justin Beckwith’s team for Google Cloud, and couldn’t be more excited.

— Ben (github.com/bcoe, twitter.com/BenjaminCoe).

--

--

Benjamin Coe

Ben works on the open-source libraries yargs, nyc, and c8, and is a core collaborator on Node.js. He works on the client libraries team at Google.