2025 Retrospective

What I learned and did in 2025

2025 marks the 20th year of my career as a software engineer, and there were many changes and accomplishments to reflect on this year. I've done these posts for the past several years, and I often revisit them to identify trends and themes that are consistent throughout. If 2024 was about entering a new and more complex landscape, then 2025 was about finding my footing within it and extending my reach beyond it.

Working on performance in public

One of the more surreal aspects of 2025 was how much of my performance work happened in public.

I spoke internationally for the first time at PerfNow in Amsterdam, which is the premier event for web performance professionals and was an absolute career highlight for me. It's one thing to work on performance inside an organization, but it's another to stand in front of a room full of experts and articulate why the work matters. I also spoke at the PerformanceObserver Meetup, contributed a guest article to Planet Performance, and was selected as an expert for Google's Web Performance Helpdesk.

I've been grinding and advocating for performance for several years now, and it was nice to see this pay off with some awesome opportunities. It felt good to connect with people and share my knowledge so others can adopt some of the practices I've used in their own work.

Front-end at government scale

Working as a contractor in the federal government this year was a wild ride. Many of the things that happened earlier in the year with DOGE and job eliminations had a direct impact on my work and my team. As a result, I got bounced around to several projects throughout the year and got really good at quickly onboarding to new codebases and acclimating to new teams. A critical part of this was identifying frequently changed files and hotspots in the code, which was an analysis technique I learned from Your Code as a Crime Scene.

Most of the projects I was involved with this year involved working on the front-end at a system level. In one project, I was the tech lead of a small team who acted as the glue layer between three different product teams to keep the UIs of their respective products consistent with one another. Two of the products were brand new, and we architected the front-end from the ground up.

Watching other teams adopt the components my team produced and style them was a signal that the architecture was working. The project was a technical success.

After that project, I briefly was able to join the US Web Design System (USWDS) team, where I worked on converting HTML snippet-style components into web components. USWDS was one of the few technology projects in the federal space that I was familiar with prior to working in government. Being part of USWDS felt like a continuation of the work I've been doing for years.

It involved performance, accessibility, and consistency at a scale where small decisions ripple outward to millions of users. There is a lot that goes into building a system that operates at this scale, especially when it's as mature as USWDS.

While there, I developed the components themselves in addition to building out a robust testing pipeline that included accessibility, performance, and visual regression tests to make sure we kept the quality high with each release. Although I was only able to work on USWDS for a short amount of time, it was the most rewarding project of my career.

Examining the big picture

Hitting the 20-year mark in my career made me evaluate my accomplishments and the industry at large. AI was disruptive and pervasive this year, but I've been through other changes of this magnitude that fundamentally change how we build things, such as the migration to the cloud and the proliferation of mobile devices. I'm not concerned about becoming obsolete due to new technology, but it did make me think about how I can best contribute to the future of the industry.

I spent time thinking more intentionally about how I want my work to fit into my life over the long term. I started working with a career coach to help me organize my thoughts, and one thing that came out of my work with her was a principle that stuck with me:

I am most happy in my career when I am building software that does the greatest good for the greatest number of people.

This principle has been a key driver for my career, but I've never explicitly stated it like this until now. This enjoyment is compounded when it's combined with specialties that require deep technical expertise. Doing web performance or design system work both fit into this theme, and that's why I love working on them.

Teaching, again and again

Teaching and mentoring continued to be a theme for me. At my employer, I helped others with their own continuing education goals and presented five internal training sessions throughout the year on a variety of topics.

Externally, speaking and writing filled a similar role. Each talk or article sharpened my understanding of what resonates when discussing performance, AI, and front-end architecture with different audiences. I also started my own LLC with the hopes of producing digital courses soon.

Part of my teaching for the year involved teaching myself, as I also picked up Go and OpenAPI due to a project need. As with Python a few years ago, learning a new language changed how I think, even when I'm not using it directly.

Looking ahead

As I head into 2026, I want to be more intentional about how I approach projects and how I can align it with my newly articulated guiding principle of doing the greatest good for the greatest number of people. I'm incredibly excited to see what else I learn by working with the career coach, as the work with her has already given me some great insights.

I'm still deeply interested in performance, front-end architecture, and AI, but I want to keep building things that last longer than any single project and contribute to spaces where the work affects real people at a meaningful scale.