Thoughts on Getting Stuff DoneOne 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 really well: get stuff done Getting stuff done takes many forms. Sometimes, it means writing code. Other times, it’s meeting with customers to understand their needs or coordinating efforts across teams. As you move up the individual contributor track, a smaller percentage of your work involves actually coding. There are countless ways to get things done beyond just programming. The uncertainty around AI in software engineering is understandable. Every week, new large language models (LLMs) seem to improve their coding abilities. Now, you can ask an LLM to create an application from scratch and it works, no human intervention needed. Naturally, that raises concerns about the future of the profession. Are software engineers just waiting to be replaced? Technology keeps evolving, and it almost always makes our job as software engineers easier. Early in my career, no one wrote tests because there weren’t many testing frameworks available. In 2008, I created one of the first JavaScript testing frameworks. Later, in 2013, I introduced ESLint. These tools helped reduce errors and boosted developer productivity. Modern code editors and IDEs, with their shortcuts and built-in enhancers, are another example. LLMs are just the next generation of tools to improve our productivity. Use them to get stuff done rather than fear them. LLMs will inevitably replace some software engineers. There’s a whole group of developers who struggle to get their code working. These engineers have found jobs in the past because companies needed more people to meet their coding demands. Unfortunately, LLMs have already proven to be better at writing workable code, putting those engineers at risk of being replaced. The software engineers who won’t be replaced are the ones who focus on delivering results. Create value for your company, ship products, and delight customers. No matter how technology evolves, this remains the path to success for software engineers. Key Takeaways
Stuff I've Enjoyed this Month📝 Reproducibility vs. Provenance: Trusting the JavaScript Supply Chain by Darcy Clarke 🎬 A 10x Faster TypeScript by Microsoft Developer 📖 What Got You Here Won't Get You There by Marshall Goldsmith and Mark Reiter 📝 Human-readable date formatting with vanilla JavaScript by Henry Desroches 🎬 Large language models deeply explained by 3Blue1Brown 📝 Rust and JavaScript plugins by Marvin Hagemeister 🎬 RAG vs. Fine Tuning by IBM Technology What I'm Working On🏠 Real Estate: I had a couple of unwelcome surprises when I returned from visiting my parents in Arizona. I got two violation notices, one for each of two rental properties, from the city regarding something my tenants had done (mostly leaving trash out too long). Both demanded it be taken care of within seven days. Only problem is that it was 21 days after the letter was sent. Most frustrating is that one of them only got sent to me instead of my property manager, which further delayed things. I got it squared away. Just another fun episode from the life of a landlord. Follow my Instagram for real estate photos. 💻 Open Source:
💻 ESLint: The two things I've been spending time on are:
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.
Thoughts on AI-First Development I spent the past month diving into Copilot Edits, testing whether I could go fully AI-first on my personal projects. Instead of jumping in and coding right away when I had an idea, I let Copilot take the first pass by following my instructions. What sets Copilot Edits apart from earlier versions is its ability to make changes across multiple files—not just suggest edits in a single one. Could this actually save me time and effort? Spoiler: yes, and in a big...
Thoughts on People Skills roles that require more interaction with our colleagues and customers. It’s at that point where a software engineering role shifts from primarily code-based to primarily people-based, and all of a sudden, it’s a different job. Previously, transitioning to a people-focused role took over five years and typically involved several promotions. However, with the advent of AI in software engineering, this timeline is shortening significantly. Companies once hired mediocre...
Thoughts on Debuggability In the early days of web browsers, there were no developer tools. From Netscape to Internet Explorer, and the first version of Firefox, if something wasn’t aligning properly or your JavaScript wasn’t behaving as expected, there was little you could do. The browser provided no additional information. Everything changed with the arrival of Firebug, the first real developer tool for web applications. As a Firefox plugin, it exposed the inner workings of a web browser to...