In April 2020, just a few weeks into the COVID-19 pandemic, George and I revisited a presentation we had given initially around 2010 at the Houston TechFest. At that time, everyone was suddenly working remotely, and we had just restarted the Virtual Brown Bag after a few years on pause. Every week, we were having conversations on topics that mattered to remote teams—and one of those was this presentation. We thought it would be fun and valuable to look back and see what lessons had stood the test of time.
Now, five years later, in 2025—fifteen years after the original talk—I’ve rewatched that video to see what still resonates and what’s evolved. The short version: almost everything we talked about still holds true.
Staying Informed
Back in 2010, we were figuring out how to stay aligned across continents and time zones. We had team members in Houston, New Orleans, Austin, Brazil, Austria, and India. Using a digital agile board is the norm. Tools differ, but the challenge is the same: keeping everyone in sync.
Regular touchpoints—daily scrums, async updates, or quick calls—remain essential. Remote work still requires deliberate effort to share context and ensure everyone stays connected to the project, the people, and the purpose.
Personality and Communication
Working across cultures taught us early on how tone, humor, and assumptions vary widely. That hasn’t changed. Empathy and self-awareness are still key.
In the 2020 video, we reflected on how easy it is to treat people as words on a screen. I’ve continued giving talks about the importance of conversation and collaboration in the years since. The message remains the same: communication is more than information exchange—it’s about connection. The more we humanize our digital interactions, the better our teams function.
Building Human Connection
One of my favorite memories from that 2010 project was building friendships beyond the work. We met at pubs, played guitar, and talked about life. In 2020, we recreated that spirit at Improving through virtual “Thirsty Thursdays,” online games, and casual chats. Today, in 2025, it’s still just as important.
Teams are using Teams (pun intended), Discord, and other similar tools. The format changes, but the need for human connection never does.
Pairing and Feedback
Pair programming remains one of the most effective ways to accelerate learning and unblock progress. In the 2020 discussion, we talked about the “just pair for 20 minutes” mindset—still my go-to approach.
Our philosophy around code reviews hasn’t changed either. I even posted a recent blog about an old talk I gave on this exact topic. Code reviews should be collaborative conversations, not blame sessions. Including junior developers in reviews helps identify unclear code and creates mentorship opportunities. Feedback, at its best, is still an act of empathy.
Integration and Contracts
Defining integration points before coding continues to be a cornerstone of effective teamwork. Whether it’s between front-end and back-end components or between microservices, clear contracts prevent chaos.
In 2010, we emphasized this. In 2020, we still did. In 2025, it’s second nature. Early alignment, shared understanding, and clearly defined boundaries make all the difference.
Sharing Knowledge
In the video, George mentioned using PlantUML for diagrams as code—something I fully agreed with at the time. These days, I mostly use Mermaid.js, which integrates beautifully with Obsidian, Cursor, and Windsurf. Even better, AI tools now help generate and maintain these diagrams automatically, keeping them versioned alongside our repositories.
That principle—treating diagrams and documentation as code—has only become more critical. It keeps human and AI collaborators aligned around a shared understanding of the system.
Techniques That Endure
Many of the techniques we practiced fifteen years ago still define healthy teams today:
- Feature branching.
- BDD and TDD remain powerful tools when applied thoughtfully.
- Scrum events (no longer called ceremonies since the 2020 Scrum Guide update) help teams stay focused on outcomes.
- Dependency management—whether through IoC containers or modern dependency graphs—is still critical.
The names and syntax may change, but good engineering habits endure.
Tools: Then, 2020, and Now
Our toolset has evolved with the times. In 2010, we relied on Skype, Dabbleboard, and Mercurial. By 2020, it was Slack, Teams, Miro, Docker, and GitHub. Now in 2025, some of those tools are dead, and new ones have arrived. Most importantly, ChatGPT blew us away, and AI-assisted coding environments like Cursor and Windsurf have entered the picture.
Personally, I’ve transitioned from Evernote to Obsidian for almost everything related to daily logs, meeting notes, and knowledge management. I’ve also moved from ReSharper and Visual Studio to JetBrains Rider, which has become my daily driver, paired with Cursor (and now experimenting with Windsurf). Pomodoro timers remain part of my routine, as does managing interruptions and protecting focus. Those habits have aged well.
What Hasn’t Changed
Fifteen years after our talk about working with distributed teams, the fundamentals are still the same:
- Communicate intentionally.
- Build human connection.
- Collaborate with empathy.
- Share knowledge openly.
- Focus on people first, then process, then tools.
The world has changed dramatically since that first project, but these principles still guide how I work and lead. Watching that old video reminded me how much has evolved—and how much still rings true.
(Originally recorded in 2020 as a conversation with George revisiting our 2010 talk on distributed teamwork. Fifteen years later, the lessons still stand. Full video available on YouTube.)






Leave a Reply