The larger a company is, the more choices there can be for teams to join. In a small company, you could meet your teammates during the hiring process. However, in large companies hiring for generalist software engineers, you may not get the feel for the team before you join. The team matching process has a large variance across the industry, from companies interviewing for a specific role in a team to joining an org within a company to joining potentially any team with an open role across the whole company.
Being able to talk to manager and team members before joining the company is great. However, if that choice is not present, it is important to understand that internal transfers are commonplace in most companies. The inertia of staying in a team which is not the right fit is suboptimal when there are many opportunities internal and external.
Play to your strength and excitement
Specialization in particular technical stack or a preference for a specific problem space are both useful. Let’s just assume certain things. Let’s assume that in a job, when we are there working, we do want to give it 100%. We have a limited amount of time and want to feel a sense of autonomy, mastery and purpose. The biggest leaps of my career came when I was so engrossed in my work that it stopped feeling like work. Being interested in your end result are also very important. If you really want to be close to the end users, you may not do as well in a systems team far removed from users.
Align with business needs
Think a bit higher level, new projects can be exciting. But is this new project congruent with the company’s vision? What would take it to fund a project? Sustaining a team of engineers, PMs, support and others is a multi million dollars per year venture. Does the output that the team produce justify that venture? Challenge your EM and PM to understand this. Ideally, you want the value your team produce to far outweigh the costs. This makes it a sustainable beyond quarters, and halves and gives the opportunity to contribute at higher and higher levels. Finding the intersection between the company’s pressing needs and your skills and interests is key to finding the right fit.
Team dynamics
Joining a team can be like joining a new family. You have to see them almost everyday, work together, trust each other, help and push the common goal while everyone having individual career plans. The dynamics of the team will have a big impact your quality of life.
When do people begin work and what time do they leave work. Check if aligns with your view of life work balance. If you want the team to engage outside of work, you may be disappointed if everyone in the team takes it as a job and do not socialize outside.
How a team handles disagreements and conflict is key to how well a team works together. A subset of members of the team should be able to reach decisions without always relying on the EM, PM, or more senior.
The distribution of seniority across the team will have impact on your goals. If you are early in your career, you want some more senior members in the team for support. If you want to mentor engineers, you do not want a situation where everyone else is at least as senior as you.
Besides levelling, it’s useful to find out when there have been promotions in the team. This is an indicator of how the organization views the place of the team and that there is a track record of people growing in their roles.
Team Responsibilities
- What are quarterly vs yearly goals for the team? What are the challenges to achieving those goals?
- What has the team working on for the last 6 to 12 months? Has the team been meeting it’s goals?
- What are the key challenges the team faces?
- Are there any low hanging fruit? Is there work that noone wants to touch?
- What does on-call responsibiliteis look like for the time? Are their runbooks for common outages? Are there post mortems for most recent outages?
- How does a feature go from idea to general availability? How does the team iterate on a shipped feature?
- What percentage of the team’s work is new projects vs maintenance work vs paying back tech debt?
- How much flexibility is there to get involved in different streams of work, in terms of technology and projects?
Team positioning in broader org
- How long has the team been around, and what is the expected longevity of the team?
- Explain the distribution of responsibilites between this team and the broder org, including but not limited to the upstream and downstream teams.
- Does the work the team is doing align with the priorties that the company has? Otherwise, how does leadership perceive the work the team is engaged in?
- Are their architecture diagrams that shows the systems the team owns and their dependencies?
Team Culture
- Is the team adequately staffed to meet it’s goals? If not, what is the hiring strategy?
- How is the team distribution by seniority and tenure at the company?
- Does the team support remote work?
- What hours and time zones does the team operate in?
- Does the team have an onboarding process? What are aspects of onboarding to this team that new hires usually struggle with?
- How does the team communicate? Is there an expectation to be always available for syncronous communication (e.g. meetings/chat)?
- Does the team engage in social activites outside of work?
- When was the last time someone left the team? Could more context be shared?
Career Goals
- Ooh find examples for company cultures (tie in opinion with some research) e.g. Basecamp primarily does all communication async
- What’s your style of management
- How long you have been a manager
- Can the manager articulate a vision for where the team’s product is going, and how that strategically fits into the company/org’s larger goals?
team evolution (last 6 months 12 months, when people joined and left, how long team around, how has it changed over past and how might it change)
your own career goals - User impact of team, how to have high impact * Are their opportunities to get mentored and/or mentor others in the team? Are there other opportunities to grow in the people and communication axes?
- How explicitly does the manager think about career advancement for his or her reports?
- How do they foresee you fitting in? What kind of seniority? leadership opportunities? of course, managers can and do lie in these, but i’ve found that just sensing how prepared they are is a strong signal 1 a manager that doesn’t really think about their reports’ career advancement won’t be prepared to answer the question mostly i’m sensing for whether managers are aware and into the “meta” aspects of management
- A skill I would like to improve is to be a better mentor. What are my opportunities to get training?
- Pair program with mentor
- If I want to be promo in timeframe, what’s my path
- What are the ways in which a new person joining the team can have a high impact?
Vs Expectations - Expectations 30-60-90 day
- Find the best intersection between my skills/interests and what is important for the company and get involved.
- That they are strategically minded and looking out for their team and their reports (Recognition is really important and it should not be only a subsection of the team giving demos. Maybe this is hard to pick when selecting a team)