
**Onboarding engineers is hard.**

You need to set up your development environment, build context, navigate the codebase, navigate the organization, understand the system, the product — and the list goes on.

I used to believe that the best way to onboard an engineer on day one is to make sure they:

1. Get their development environment set up
2. Make a pull request to the codebase
3. Merge and deploy to production

You get an immediate hit of dopamine and experience the end-to-end flow of shipping a feature or fixing a bug.

There is still a lot of value in this process, but it biases toward engineers who want to do engineering.

At a large company, where a new engineering hire is needed to solve a specialized problem, this is still the way to go.
At a small startup, where the product is the company, every engineer needs to be product-minded.

Rather than getting your development environment set up, get your user account set up.
Rather than making a pull request to the codebase, use the product.
Rather than deploying to production, find a bug in production.

**Get engineers to use the product before they dive into the code.**
