Onboarding to a new project is difficult, whether you’re transitioning from an existing project or this is your first. Every project contains an intricate set of variables, processes, and tools to make it successful, and it’s your job to learn all of them by yesterday.
Project onboarding is already difficult, but the addition of time constraints makes the task seem even more daunting. I encountered this problem as I transitioned onto my current project. My background was primarily in web development, and my new project consisted of two native mobile applications (iOS and Android) which communicated with a wearable device using Bluetooth. These applications had been in development for a few years, and some major feature work was approaching. This meant that my onboarding period would be shorter than I originally expected.
Even with the added time constraints, I was able to quickly and successfully onboard to this project by following four essential steps (and having a great team).
1. Get the Project Set Up
Don’t put this off or do it halfway. Get your entire application working on your machine—in a development mode, so you can see your changes as you make them. If there’s a suite of end-to-end tests, run those and make sure your project is set up correctly. This will be a part of your normal workflow while working on this project, so it helps to get all of it figured out right away.
If you’re lucky, you might have the opportunity to work with someone like Joe, who makes project onboarding faster with excellent tooling.
Unfortunately, we’re not always this lucky. Having the ability to set up the project in less than 10 minutes makes the onboarding process that much easier. If you ever get the chance, working on this type of automation is a great use of your time to help others with their onboarding experience.
2. Actually Read the Manual
This one might seem obvious, but people (including myself) tend to skip this step. When you’re starting a new project with plenty of unfamiliar technologies, the best way to find information is to just Read the Frickin’ Manual.
For the project I mentioned earlier, both of the mobile apps heavily used the reactive programming paradigm. This meant using RxJava for the Android app and ReactiveCocoa for the iOS app.
Knowing nothing about reactive programming, I decided to just read the manual. I spent an entire day reading and taking notes on RxJava documentation.
Was it fun? That’s debatable. Do I believe it helped me learn the material quickly? Absolutely.
3. Seek First to Understand
This tip is selfishly stolen from The 7 Habits of Highly Effective People, but I feel that it applies here rather well. When starting a new project, it’s typical to feel anxious and/or excited about contributing something to the project. You may feel a need to prove to your coworkers/clients that you’re capable—that you are a valued member of the team.
There will be plenty of time for this later. For now, it’s important to focus and understand the project before trying to make meaningful contributions.
(I highly recommend reading The 7 Habits of Highly Effective People. If you need a bit more convincing, Rachael wrote a post on why the 7 habits still resonate today that would be worth your time to read.)
4. Look for the Pain Points
After spending a bit of time understanding a new project, you’ve probably found some areas that could use improvement. This fresh perspective is a unique quality that you bring to the team. The things you took for granted on your previous project might be serious bottlenecks on your new project.
Some of the common places to look for pain points on a project include:
- Project backlog
- Continuous integration
For each of these areas, consider whether the project has issues that the team has overlooked. These are great areas for you to focus on during onboarding. When you work on problems in these areas, you can acquire a better understanding of certain aspects of the project while resolving the pain points that other team members have overlooked.
These are some of the things that helped make my most recent onboarding a success. What are some of the ways you have made transitioning to a new project easier?