How I Ship Projects at Big Tech Companies
Practical advice on delivering and "shipping" projects in large tech organizations by focusing on early deployment, leadership alignment, and proactive problem-solving.
-
Shipping as a Social Construct:
Shipping isn’t merely deploying code or making a feature live; it’s about ensuring that the key decision-makers and stakeholders within the organization recognize a project as "shipped" based on their expectations and approval. -
Deploy Early and Often:
Instead of postponing deployments out of fear, push changes—especially the scariest ones—as early as possible. As the engineer with the most end-to-end context, you’re best positioned to handle risky changes; delaying them only shifts uncertainty onto others. -
Build Leadership Trust:
Cultivate relationships and communication channels with your leadership team. Their trust is essential for allocating resources, securing necessary sign-offs, and ultimately declaring a project as shipped. -
Anticipate Problems and Create Fallback Plans:
A significant portion of shipping involves foreseeing potential issues (performance regressions, integration conflicts, edge-case failures) and drafting rollback or mitigation strategies well before launch. -
Scale Back Implementation Near Launch:
As you approach the shipping deadline, reduce new feature work and focus on stability. Freeing bandwidth allows you to respond swiftly to last-minute bugs, operational incidents, or stakeholder concerns. -
Constantly Evaluate Ship-Readiness:
Regularly ask yourself, "Could I ship right this second?" This mindset encourages continuous validation, early testing, and iterative feedback loops, minimizing surprises as deadlines approach. -
Navigate Interpersonal Dynamics:
Software engineering is as much a people business as it is a technical one. Aligning cross-functional teams, ensuring documentation clarity, and proactively resolving misunderstandings are crucial to maintaining momentum toward ship day.
The full post is available here.