How to ramp up at work?
January 23, 2024
When switching jobs or teams, encountering entirely new tasks, unfamiliar code, understanding unexplored business logic, and building relationships with new colleagues are common challenges. Drawing from experience in two distinct software development teams, the author emphasizes the importance of rapid team integration and quick productivity. This article summarizes key insights and helpful approaches for those joining a new team.
Career Cold Start Algorithm
Career Cold Start Algorithm is a method shared online by Meta's CTO, Andrew Bosworth, a few years ago, and he applies it whenever joining a new team. The method involves three simple steps:
- Spend 25 minutes with team members, asking any questions you need clarification on. Ensure understanding of anything unclear or any unfamiliar terms.
- Dedicate 3 minutes to understand the most significant challenges the team is currently facing.
- Invest the final 2 minutes in asking for recommendations on people you should connect with, noting down all suggested names.
Once you have the list from step three, repeat these three steps for each person until no new names are recommended.
These steps serve specific purposes. Step one provides an overview of the team, gradually building a comprehensive understanding by engaging with different team members.
Step two reveals the current challenges the team is tackling, offering opportunities for you to contribute. Addressing these challenges establishes a positive reputation and builds trust among team members.
Step three, apart from providing different perspectives and insights into the organization, allows you to gauge the influence of individuals within the team.
Beyond understanding the new team, the crucial aspect is the process of asking questions, demonstrating respect for the team. Rather than proposing immediate solutions upon joining, taking the time to understand the team's context makes existing team members feel respected—a frequently overlooked but essential element.
Rapid Onboarding Techniques
In addition to the mentioned method, another valuable approach comes from Dave Anderson, Engineering Director at Amazon. He divides onboarding into three aspects: Product, Partners, and Systems.
Product
- Identify the primary customers of the product. Understand the revenue distribution among different customers.
- Recognize the product's features, highlighting the most critical ones. Identify the functionalities most frequently used.
- Understand the key product metrics the team prioritizes and why.
Partners
- Identify team members and their qualifications. Determine who you will collaborate with most frequently.
- Explore internal collaborators within the company. Understand the business reasons for collaborating with them. Prioritize these different collaborators based on their importance.
- Are there external partners? Who are they, and what are their roles?
Systems
- Understand how the company and team systems are interconnected.
- Identify the core technologies used in the company and team systems.
- Recognize the different states of these systems.
While many gradually learn the ropes through their business tasks, Dave Anderson's perspective emphasizes the need to proactively clarify these questions, accelerating the onboarding process.
Winning Respect and Trust in the Team
Proactively Identify Areas to Contribute
Many articles highlight the significance of proactively asking your supervisor or colleagues about challenging yet essential tasks and volunteering to take them on. These tasks could involve technical issues or team collaboration problems. Remember, after completion, it's crucial to sync your progress with the team. Regular updates are essential for building a positive image within the team. Failing to communicate your contributions might lead others to overlook your efforts. Therefore, in addition to proactive questioning and helping, remember to proactively communicate your achievements.
Diligently Produce High-Quality Work
In a review by an AWS engineer, he mentions that willingly tackling challenging tasks and delivering high-quality results can earn the trust of other team members. Since you've recently joined and are unfamiliar with the business, the team likely won't entrust you with critical tasks initially. Although the projects you initially receive might not be the most exciting, delivering high-quality work is essential to gradually gain the trust of other team members. A response from a former Meta Senior Engineering Manager also emphasizes showcasing your technical depth early in tasks, ensuring your pull requests consistently meet high standards, which can accelerate the trust-building process.
Rapid Learning in a New Team
Ask Many Questions but Do Your Homework First
Joining a new team inevitably involves unfamiliarity with many aspects. Therefore, during this phase, ask as many questions as possible, especially within the first month. People generally understand that you're still getting acquainted during this period. However, as you spend more time with the team, expectations shift towards assuming you're already familiar with the team's business.
While you need to ask many questions initially, ensure you've done your homework before asking. Before posing questions, clarify the following points. Here's a template to guide you:
- What goal do I aim to achieve? What difficulties may arise in the process of achieving this goal?
- What methods have I tried in addressing the difficulties? What information have I researched?
- Since the attempted methods and researched information haven't resolved the issues, do you have any suggestions?
After asking questions, make sure to take notes. Avoid asking the same question again in the future. Asking repeated questions may give the impression that you're not attentive or have forgotten what was asked before. Consistently asking repeated questions may lead others to believe you're wasting their time, negatively impacting your reputation within the team.
Don't Just Work on Projects; Understand the Details Behind Them
When working on assigned tasks, don't merely complete them; take the time to understand the tools in use and the relevant business logic. This understanding significantly aids in speeding up the onboarding process. Former Twitch Engineer Theo recommends reviewing past pull requests, especially the discussions within them. This knowledge reveals the "why" behind certain decisions, providing a clearer understanding of the development process for different features.
Find a Mentor
In addition to your immediate supervisor, finding a mentor outside your direct reporting structure can be beneficial. A post by an Amazon engineer mentions that finding a mentor can involve exploring other people's profiles within the company network, scheduling bi-weekly 1:1 sessions, discussing any work-related concerns, and addressing long-term career development.
Document Your Learning
After joining a new team, document your projects and the learning process. Keeping a record not only deepens your understanding but also proves helpful when discussing promotions with your supervisor. Even in the context of future job changes, these records can significantly contribute to your resume or behavioral interviews.
References
Here are some helpful articles I came across during my research on this topic: