8 - Pre-Onboarding

Authors: Stefano Ivancich

Pre-onboarding consists mainly in the verification of your CV and team matching.

Background Check

After passing the interviews, companies will rely on an external background check agency (e.g. Hireright, Accurate, etc.) to verify the authenticity of what you put in the CV.

You will have to insert information from former employers on a portal, and you will have to provide official documentation on everything written in the CV (preferably in English): degree certificate, scholarships, old employment contracts, old payslips, citizenship (residence permit), etc.

There will also be a criminal check in which you will have to provide criminal records and pending charges, so keep in mind to have these documents at hand. In Italy they usually ask for “casellario giudiziale” and “carichi pendenti”.

Some of these, such as the confirmation that you are a university student, or your English grade average, or criminal record may take weeks to retrieve.

It may also happen that they send an email or call your former employers; they won’t ask anything in depth, usually it is something along the lines of “Is it true that NAME worked as a ROLE from mm/yyyy to mm/yyyy for your company?”.

If something in your CV is true but it cannot be proved quickly and easily with , do not put it on your CV. Even if you get away with it, in the future (e.g. layoff times), they may do a background check on current employees to find grounds for dismissal. Usually investment banks do annual background checks on all employees.

Team matching

Depending on the company, some companies create a job post to fill a position in a specific team, other companies hire a lot and then find a team where to place the new hire.

In the second case usually 2 things can happen:

  • the recruiter gives you a list of possible teams you can choose from
  • you will be (probably) put in a rank list, where various teams that need new engineers will look for. If your rank is low, due to cv experience or interview performance, in some companies can happen that you will have to wait a lot of time before some team reaches you out (for example in Google also several months), and probably you will end up working with the less interesting and more toxic teams because many people quit from them and they constantly need new employees.

A trick to avoid this is to know somebody before joining the company that needs you in their team or in a team they know and ask them to try to choose you.

In any case you have a chance to talk with the team, the following are a list of possible questions you can ask to find the team you like more and to avoid finishing in a bad team.

Nature of the Work

  • Is the work code user facing or internal?
  • Is the work analytics focused or product focused?
  • What is the tech “stack”? What languages / frameworks do they use?
  • How challenging is the work?
  • What is the hardest aspect of the work? (Design, Debugging, Building Great UI, Tricky Algorithms?)
  • What impact does it have on customers?
  • What impact does it have on the company?

Nature of the Team

  • What are the teams operations and dynamics like?
  • When was the team created? Has it been around for years or was it just created?
  • How big is the team? 5 people working closely together is different than 50!
  • Remote work?
  • Are there senior engineers on the team that would enjoy mentoring you?
  • What is the team’s “on call” like, if they have one?
  • Do they do a good job of executing projects?
  • Do they have sprints?
  • Do they have a manager? If they do, do you like the manager?
  • Is there a PM, how do decisions get made, etc

Is the Manager good?:

  • Ask to engineers on a team:
    • How has the manager been able to grow you? How clear is their advice?
    • Is the team more on the stable or trashy side?
    • What has the team struggled with historically?
    • What has the manager done to uphold work / life balance (WLB) and minimize burnout?
  • Ask Directly to manager:
    • How do you prioritize tasks and projects within your team? Can you walk me through your process for making those decisions?
    • How do you handle conflicts or disagreements among team members? Can you provide an example of a time when you successfully resolved a conflict within your team?
    • How do you ensure that your team members are growing and developing in their roles? Do you have a process for providing feedback and setting goals with team members?
    • How do you measure the success of your team and your individual team members? What metrics do you use?
    • How do you balance the needs of your team with the needs of the company? Can you provide an example of a time when you had to make a difficult decision that balanced those competing interests?
    • How do you stay up-to-date with new technologies and industry developments? Do you encourage your team members to do the same?
    • How do you foster a culture of collaboration and communication within your team? Can you provide an example of a successful collaboration within your team?
    • How do you handle failure or setbacks within your team? Can you provide an example of a time when your team faced a setback and how you supported your team through it?
    • How do you ensure that your team is delivering high-quality work on time? Do you have a process for reviewing and testing code?
    • How do you prioritize work-life balance for your team members? Do you encourage them to take breaks and disconnect from work outside of working hours?