By Harry Spitzer
Photography: BRYAN DERBALLA
Published February 9, 2023
Between the time he’d debuted Node in 2009 and his return to the conference stage in 2018, it wasn’t just the platform that had evolved (thanks to his contributions, and those of hundreds of global open-source collaborators); Node had also transformed Dahl. He’d become a household name among the Hacker News and TechCrunch set. Now, Dahl had returned to Berlin to tear his former creation apart.
In this act, Dahl was joining a cadre of artists and inventors, like Willa Cather, who implored in the foreword of a reprint of her first novel for readers to consider the book a historical artifact of an early attempt, not a representation of her current artistic merits. Or the godfather of conceptual art, John Baldessari, who burned 100 of his early paintings and baked the ashes into cookies. Dahl, without the ability to cremate his digital creation, was, in effect, asking everyone in the room, and the half a million that would watch his talk online, to relegate Node to a pile of his “early work.”
“I think I’m mildly happy with it so far,” Dahl offered. He then quickly thanked the audience and walked off stage with three minutes left in his allotted time.
“I think I’m mildly happy with it so far.”ryan dahl, introducing deno in 2018
Dahl’s mother, a math professor at a San Diego community college, had always been a technophile. “Super early, we had a computer, and she got me a book on how to program BASIC. I was just very much exposed to computers at an earlier age than other folks,” says Dahl. Using his mom’s Apple IIc, Dahl mastered BASIC’s basics, before deciding he wanted to run the Linux operating system. He saved $300 from a job as a movie theater projectionist, and bought a used PC. The sparse early-’90s coding environment felt exciting, like a puzzle to solve. “It was a very hands-on learning experience where I knew nothing; there’s nobody there to tell you anything. It was just kind of actually physically smashing the keyboard until you got it to work,” he says.
Dahl preferred learning by doing, and found high school understimulating: “I barely graduated. It seemed stupid and pointless,” Dahl says, before adding, “I’m sure I was just an asshole 17-year-old back then.” But in Dahl’s senior year of high school, a new peer-to-peer file-sharing application came out that let users upload and download audio files. Napster only worked on the Windows operating system, and Dahl, instead of accepting this status quo, decided it deserved a home on his favorite operating system, Linux, as well. So he built one called gnap, compatible with Linux’s desktop environment, Gnome. The first Napster clone to arrive on the scene, gnap earned Dahl his first brush with viral success, and coverage on a proto-Hacker News tech blog called Slashdot. Here was a way that he could have real impact, Dahl thought.
After graduating (he squeaked by with a C average), and without the grades for a university, Dahl enrolled in math classes at his mother’s community college. In a more technical environment—one of his own choosing—he thrived. After two years of straight A’s, he transferred to the University of California San Diego, then continued on to a PhD in math at the University of Rochester in upstate New York. Three years in, Dahl experienced a familiar feeling, like the things that were being asked of him weren’t meaningful, or even particularly useful. “Math just didn’t feel necessarily connected to reality. There’s just all of these structures and abstractions. At some point you’re just like, ‘Yeah, I want to do something that is actually connected to reality.’” So Dahl dropped out. Within weeks, he and his girlfriend were on a one-way flight to Chile.
Seeking sunny and quaint conditions, they landed on the coast in Valparaíso. Unfortunately, they had arrived in June, winter in the Southern Hemisphere.
With only grad student savings, Dahl and his girlfriend booked a shared room in a hostel, a temporary solution, they reasoned, until they found jobs teaching English. If Dahl was looking for something real after years of academic abstractions, he’d found it. “There was no heat. There was mold everywhere. There was a mattress on the floor with some dirty bed sheets,” he remembers. “It was like, ‘What are we doing here? This is awful.’”
They lasted a few months before relocating to Buenos Aires. By then, skeptical of his teaching prospects given his questionable credentials (“I paid like $100 for some sketchy online English teacher certificate”), Dahl turned to Craigslist for work. One ad caught his eye, mostly because it had the word snowboarding in the title: a winter sports gear company needed help building their e-commerce site. The gig was not necessarily Dahl’s dream project, but, “I had no money. I was pretty eager to help him out.”
Even though it’d been years since he’d spent meaningful time coding, Dahl’s high school hacking gave him a solid foundation (his years studying math didn’t hurt, either). Building their site helped Dahl feel like he’d again found a tangible problem to solve. That contract turned into another, and then another through referrals. This was 2007. Dahl and his girlfriend were early digital nomads, taking on remote work as they moved around South America, and eventually to her home country of Germany. With each project, Dahl was exposed to new layers of the coding stack: “I started doing, basically, front-end development with this snowboarding website, and, kind of slowly, it became, ‘Okay, now I’m working on the framework itself, and now I’m thinking about the web server itself. Now I’m thinking about non-blocking I/O.’” Just like he had in high school with his Apple IIc, Dahl figured it out, using online resources and inventing solutions of his own.
One morning in the Cologne apartment he shared with his girlfriend, Dahl woke up to a life-changing email. A San Francisco-based cloud application management platform, Engine Yard, reached out via referral to offer Dahl a $60,000 contract to work on their support team, the most lucrative job he’d ever had. That was the moment Dahl stopped conceiving of software engineering just as a means of funding his itinerant lifestyle. This could be his lifestyle.
“When Chrome came out, it was just very clear. If I had not done this, somebody else would’ve discovered this.”ryan dahl
The “this” Dahl is referring to, of course, is Node.js. And thanks to his $60,000 from Engine Yard, Dahl had a little runway to build it—hacking it together in daily eight-hour coding sprints over six months in a WiFi-less Starbucks on the corner of Rudolfplatz in Cologne. “I think in a very real sense, I was thinking about the right stuff at the right time. I saw this and I was just like, ‘I must implement this now.’”
After toiling on his own in a coffee shop, there was something about seeing the live JSConf crowd’s response that made Dahl realize that, after years of vagabonding, he was ready for stability and community. In the weeks after his talk, a handful of San Francisco-based startups reached out. He accepted an offer from a cloud-hosting company called Joyent; their expertise seemed most aligned with his, and more important, they wanted him to develop Node in-house.
In the process of hiring Dahl, Joyent gained control of Node’s business interests, which, for an open-source project meant, “I gave them the website; I transferred the credentials to them. We changed all of the copyrights in the source code from copyright Ryan Dahl to copyright Joyent. I gave them the ability to apply for the trademark,” says Dahl. As for what he got out of this acqui-hire: “I got paid out very early and it super de-risked the situation for me.”
But Dahl quickly realized stability came at a price. Despite Node (and Dahl) becoming an increasingly big deal, Joyent wanted to keep overhead low. They wouldn’t allow Dahl to hire engineers to help keep pace with Node’s exploding popularity, seeing Node more as a nice-to-have marketing tool for their existing cloud project. In order to keep up, Dahl moved fast. Critical decisions that would intractably shape the platform had to be made without second-guessing. Bert Belder, an early Node collaborator who built Libuv, a Microsoft-compatible version of Node, remembers Dahl at that time being “a bit uncompromising. He had the tendency to sometimes very aggressively remove things from Node.” One of those things was Promises, a piece of software built to make asynchronous operations smoother. Dahl found its design inelegant. “The next day, an enormous amount of code was ripped out,” remembers Belder, “and everybody had to rewrite their Node.js software because, you know, now everything worked differently.”
Then there was the matter of his public profile. Dahl had always relished his anonymity. It allowed him to blog and tweet freely, to make the occasional programming screw-up, and subsequent fix, without backlash. But as Node’s profile rose, so did his. Already predisposed to irreverence, and with a degree of naivete about his newfound celebrity, Dahl was dismayed that when he wrote a blog post titled, “I hate almost all software,” a Hacker News thread about the post garnered hundreds of comments. Close friends like Isaac Schleuter, the mind behind NPM, could see the backlash coming: “I saw that go down and I was like, ‘Oh God, Ryan, what are you doing to yourself?’”
But what bothered Dahl more than any attack (and what he perhaps should’ve anticipated, given his own vocal critiques) was when users took Node itself to task. “I remember one post in particular called ‘Node.js a cancer.’ At the time, I was just like, ‘Oh no, I’ve made a mistake somewhere,’” says Dahl. “It affected me emotionally. I was just trying to make some technology, and I guess wasn’t super-prepared for this thing to be as big as it was. I didn’t want to be the face of it.’” So Dahl stopped posting and weighing in, and in late 2013, he deactivated his Twitter.
By early 2014, Dahl was ready for a change. After eight years, he’d just broken up with his girlfriend, and startup fatigue had set in. It was the strain of managing such a high-profile, complex project, but he also felt like he’d done what he’d set out to do. Node had made the impact he’d hoped for—and with most of the ongoing development happening in open-source communities, Dahl felt it no longer needed him. He felt ready to create something new. So Dahl put in his notice, booked a flight to New York City, and walked away from Node.
“There’s nothing more eye-opening than when you go back and look at your own code and you’re just like, ‘Oh my God, this is terrible.’”ryan dahl
At first, diving into Node felt like a homecoming, but soon Dahl was looking upon his creation with five years’ worth of new skills, insights and awareness of all the progress made in coding globally. “We quickly realized that there were all these problems with Node. Man, there’s nothing more eye-opening than when you go back and look at your own code and you’re just like, ‘Oh my God, this is terrible.’” Dahl couldn’t stand the thought of his name being attached to something he now saw as so…amateur, so flawed. He briefly entertained the idea of trying to fix the problems from within, but quickly concluded that the platform’s problems were too fundamental, and the open-source leadership too decentralized, to ever be able to resolve the issues. Instead, he decided to build something new that would clear his name and do what Node couldn’t. A few months later, in June 2018, having recently quit his job at Google, Dahl took the stage at JSConf EU in Berlin to introduce Deno.
When I speak with Dahl in late 2022, I notice another subtle way he’s distancing himself from his past. The name of his new company, pronounced during his 2018 JSConf presentation ‘DEH-NO,’ has shifted to the simpler, funner, arguably more elegant ‘DEE-NO.’ “It is the proper English pronunciation of those letters,” Dahl says, “and we liked the dinosaur association.”
Dahl is rewriting the way he works, too. He didn’t want to be in the same position he’d been in with Node, unable to hire as many engineers as he needed, so this time, he opted for funding in addition to open-sourcing, a decision that led him to Mike Vernal and Lauren Reeder, partners at Sequoia Capital, in January 2022. Vernal found Dahl endearing on an early phone call. “He felt a little bit like someone who is set up on a date they really didn’t want to go on. And so they’re like, ‘Okay, let’s finish this thing off and then let me get back to work,’” says Vernal. “You could tell he wanted to go back to building the thing that he wanted to build. And he was very transparent about that, which, in a weird way, I liked.”
Today Deno is based in New York City, has 15 full-time employees, and is in the process of hiring 10 more, mostly engineers. Sequoia led the company’s Series A, announced in June 2022. The platform has nearly 100,000 developers using it every week, it’s one of the top 50 projects on GitHub of all time and more and more enterprises, like Netlify and Slack, are using its enterprise offering, Deno Deploy, to build their web apps and websites. Becker credits some of the success to Dahl directly: “There are enough people who are convinced by him and who, just because of his involvement, are willing to dive right into Deno.”
Dahl hopes to do a push on Deno’s general release by summer of 2023 to bring in more individual users—the people Node currently serves. His urgency has only increased as competitors have debuted. But he sees others in the space as evidence that he’s on to something, an incentive for his team to stay focused. “Having a little competition on the performance side means that I can very much justify putting effort into that, and performance is what I would love to do day in and day out,” says Dahl.
“Having a little competition on the performance side means that I can very much justify putting effort into that, and performance is what I would love to do day in and day out.”ryan dahl
With Deno, Dahl isn’t so much trying to fix the status quo as build a new one. “When we launched Deno in 2018, Node was an industry standard that everybody in that conference room had used professionally for many years,” Dahl says. “I think a lot of those things, Node’s bugs and flaws, were just taken as a given. Like, ‘It just works this way.’ And I hope that hearing how it ought to have been done, and things that could be done better, was really an eye opener.”
He cares so much about doing web development differently because he sees it as the “medium of human information.” If he can make web development easier, Dahl says, “in particular on the server side, the area that I have ideas in and influence over, then we can make things faster. And I think sometimes making things faster does actually change the nature of what people can do. Faster means smoother online experiences, better real-time communications. Faster means more people interacting simultaneously online. There’s a vast opportunity to have a real impact.” Until then, he’ll keep refining. “Everything’s a work in progress,” he tells me toward the end of our call. He’s polite, but eager to get off Zoom and back to building what he hopes won’t be another important yet flawed early work, but instead, a truly great one.