Deno: What happened?When Ryan Dahl introduced Deno at JSConf EU 2018, it generated significant interest in the JavaScript community. As the creator of Node.js, Dahl presented a compelling vision: a new runtime that would address the common pain points developers face. Deno (a palindrome of "node") promised a fresh approach with new core APIs, ESM-only modules, familiar web APIs, independence from npm, and security by default. Who better to reimagine the JavaScript runtime than the person who helped shape its current landscape? Seven years later, Deno's market adoption remains limited. According to StackOverflow's 2024 Survey, only 1.9% of respondents use Deno compared to Node.js's 40.8% (Bun was not included in the survey). Google Trends data shows consistently low interest in Deno relative to Node.js. Let's examine why. Ambitious vision. Deno's approach was bold: build a JavaScript runtime from scratch, breaking away from traditional ideas about what a runtime should be. It offered an all-in-one development experience with built-in testing, linting, and formatting tools, removing the need for separate installations. Native TypeScript support eliminated the traditional build step. This complete solution seemed perfect for starting new projects. However, this ambition also meant that Deno was leaving behind the existing JavaScript ecosystem, creating a challenging migration path for current applications. In its early days, Deno lacked access to npm and familiar Node.js APIs, forcing developers interested in Deno to rewrite their applications almost from the ground up. While some developers embraced the change, most opted to stay with the established Node.js ecosystem. Monetization through hosting. In 2021, following venture capital investment, Deno unveiled its revenue strategy with Deno Deploy. The platform aimed to provide a complete JavaScript-based cloud service, with key-value storage, queues, cron jobs, and other essential infrastructure components. It was designed to be the ideal cloud platform for JavaScript developers. Despite its promise, Deno Deploy struggled to gain widespread adoption. While some notable companies successfully adopted the platform, including Netlify, Slack, and Deco.cx, along with Supabase for their edge functions, overall market adoption remained limited. Recent reports indicate that Deno Deploy's availability regions have decreased, even as they work to revitalize the service. Package registry innovation. March 2024 saw Deno's attempt to revolutionize package management with JSR. The registry introduced innovative features: strict package validation, anti-squatting measures, mandatory scoping, type-checking optimization, and direct TypeScript publishing capabilities. However, JSR faced similar adoption challenges. Its npm compatibility limitations, particularly with transitive dependencies, created significant obstacles, as ESLint's experience demonstrated. While Deno has established a governance board to guide JSR's development, community engagement and project momentum appear to have diminished. Strategic pivot. Recognition of these challenges led to a significant shift in Deno's strategy. The release of Deno v2.0 in 2024 marked a turning point, introducing comprehensive Node.js compatibility. The emergence of Bun, which prioritized Node.js compatibility from inception, likely influenced this decision. Meanwhile, Node.js itself evolved, incorporating modern features like fetch(), native TypeScript support, and a permissions system. Better doesn't always win. As an early adopter of both Deno and JSR, I believe they offer better solutions to many common development challenges. Their well-thought-out design and clean solutions could make JavaScript development much smoother. Yet the tech world often shows us that "good enough" solutions with large user bases tend to stick around, even when better alternatives come along. While Dahl has responded to concerns about Deno's future, and their $21 million Series A funding gives them time to try new approaches, one question remains: Can Deno become a real alternative to Node.js, or is Node.js simply good enough that most developers don't see a reason to switch? Key Takeaways
Stuff I've Enjoyed this Month📝 The hidden time bomb in the tax code that's fueling mass tech layoffs by Catherine Baab 🎬 Arrays, objects, ...now 'composites'? by Matt Pocock 📖 Momentum by Mamie Kanfer Stewart and Tai Tsao 📝 Kind of Rebeccapurple by Ondřej Konečný 🎧 The Telepathy Tapes by Ky Dickens 🎬 Windsurf AI tutorial for beginners by Volo Builds 📝 Peeking Behind The Code — IRS Just Open-Sourced Direct File by Andrew Leahey 🎬 Don't waste your money: Which AI upgrade is actually worth it? by Enovair What I'm Working On🏠 Real Estate: It's summer and that means it's time for air conditioning units to fail. I've already had one fail and need to be fixed for $450. Half of my properties have new ACs so hopefully they'll be okay. I'll need to cross my fingers for the others. Follow my Instagram for real estate photos. 🎬 YouTube: I was on Visual Studio Code Live to discuss my strategies for AI-assisted programming. I had a bunch of technical issues but I think we still got some good content out of it. 📝 Blog: I wrote A person-based approach to AI-assisted software development, which I explain how I'm currently using AI tools to implement non-trivial changes. 💻 Open Source:
💻 ESLint:
Coaching for Tech Leads and Staff+ EngineersIf you're a tech lead or staff+ engineer, chances are your manager has no experience in your role. While they may be well-intentioned, they may not know how to help you grow in such a challenging position. That's where working with me can help. As a former tech lead and principal engineer at multiple companies, I learned firsthand the ins and outs of these roles. I work with my clients one-on-one to develop their leadership, communication, organization, and problem-solving skills to succeed in the upper ranks of the individual contributor track.
|
A once-per-month newsletter discussing topics important to senior-level software engineers, with a particular focus on frontend technology and leadership.
Getting Buy-In You’re a tech lead with an idea for a large project, one that would make your life easier. But to make it happen, you'll need help. The project requires additional developers and possibly some cross-team collaboration. That means getting it on the roadmap and securing resources. Whether this is your first proposal or not, there’s a clear path you can follow to get your project approved. Start by clearly defining the problem. To build a strong case for your project, you need to...
Agents and MCP Last month, Visual Studio Code officially launched agent mode. While similar features existed in VS Code forks like Cursor and Windsurf, this release put agents into the hands of the wider developer community. The result? A surge of interest in agents, and in MCP, as developers began experimenting at scale. It may be the most important milestone since GitHub Copilot first arrived, marking a real leap forward in how we build software. So, what is an AI agent? It's a program...
Thoughts on Getting Stuff Done One of this newsletter's main themes is the importance of the non-coding side of software engineering. Sure, knowing how to program gets you through the door with an entry-level job, but that skill alone only takes you so far—maybe to senior software engineer. Beyond that, you need to grow in areas like leadership, communication, and negotiation. CTOs and chief architects don’t spend their days buried in code; they get there by proving they can do one thing...