Microsoft Office's Epic Codebase Migration: From Source Depot to Git

2025-06-12
Microsoft Office's Epic Codebase Migration: From Source Depot to Git

This article recounts the epic journey of the Microsoft Office team migrating their massive codebase from the outdated Source Depot to Git. The migration was fraught with challenges, including building a 'parallel universe' to synchronize codebases, proving functional equivalence between the two systems, and coordinating communication with over 4,000 engineers. The author details each stage, from overcoming the differences between Source Depot and Git's branching models, building a Virtual File System to optimize performance, and training engineers in Git. The successful migration significantly improved developer efficiency and code quality, offering valuable lessons for large-scale technical migrations.

Read more
Development

My First 'No Pay, No Work' Moment at 17

2025-04-10
My First 'No Pay, No Work' Moment at 17

In 2013, at 17, I worked for a tiny 7-person company building complex web forms for a Mexican renewable energy project. The project involved intricate business rules, multi-stage applications, and heavy calculations. I used PHP DSL, jQuery, and JavaScript, gaining experience with metaprogramming, early debugging tools like Firebug, and PhoneGap cross-platform app development. However, due to client payment delays, I ultimately left, learning a crucial career lesson: no pay, no work.

Read more

From Curiosity to Code: A Software Engineer's 30th Birthday Reflection

2025-04-06
From Curiosity to Code: A Software Engineer's 30th Birthday Reflection

On his 30th birthday, the author reflects on his 12-year journey from a curious kid who loved breaking computers to a software engineer. This first installment of a multi-part series details his path: from experimenting with command lines and learning to program via online forums, to building (and repeatedly breaking) Linux systems, and finally creating Neopets shops using HTML and CSS. He highlights the importance of curiosity, exploration, the role of online communities in learning, and the effectiveness of gamified learning.

Read more
Development