Onboarding: everyone has done it. While there are commonalities across different fields, the day-one to month-one experience can vary widely from person to person, even within the same company. Unfortunately, too often onboarding at a software startup isn’t as amazing as a new developer envision with the red tape, hours spent just “getting set up,” and more.
At Propeller, we want people to enjoy their onboarding and get set up to succeed from the beginning, which is why we have people start before they start.
Starting a new job can be scary, regardless of your role. We make a huge effort to get people feeling like part of the team before day one. New Propellerites are invited to Demo Days, our twice-monthly company-wide show and tell, and to come hang out for Friday drinks, sports games, and comedy clubs.
When it comes to that big first day:
Don’t start at 9:00am on Monday
Who’s ready then? The last thing you want is for new hires to walk into the office when their team is doing the post-weekend catch-up. New Propellerites start on Tuesdays at 10:00am. They get a big welcome, an office tour, and a hand with laptop setup.
Get clear on goals
This is true for the role itself and for one-, three-, and six-month milestones. (See photo on left for an example.)
Propeller starts thinking about these goals even before we begin hiring for a role. What does this role need to achieve? It’s also really important to give a sense of accomplishment early on. We ask engineers to commit some code in their first week, and make sure they get plenty of support to do so.
Little things go a long way
After your new dev has signed on the dotted line, it’s important to clue them in on the language, infrastructure, and company in-jokes, and generally make them feel welcome in the office.
Small stuff like balloons, swag, and a meeting with the founders do wonders.
To speed up learning and show we care, we:
- Run an infrastructure workshop to see how everything is plugged together and how their work fits in.
- Loop people in on inside jokes, references, and nicknames with our crowdsourced intranet page.
- Make sure new starters get plenty of time with Francis and Rory, our co-founders, to understand where we’ve come from; the successes and mistakes we’ve made; and where we’re headed.
- Set up their desk, grab some swag, and plan a team lunch.
Set developers up for success—get them coding on day one
It typically takes a dev days to get situated enough to start contributing to their new team and company. They have to get access to the code repository, download it, set up the application, configure it, etc.
Even if everything goes to plan, so-called admin work like this can feel frustrating and waste valuable coding time. Sometimes it can take as many as three days to set up a single app. (For reference, Propeller uses five major apps for our Platform.)
We need to get new developers launched ASAP. To do that, we built a command-line interface (CLI) tool, which is a way of interacting with a computer program where the user issues commands in lines of text. Propeller’s CLI tool uses well-known industry tech like AWS CLI, PostgreSQL, Docker, and Node.js to get them automatically set up to start learning and coding in real time.
“A tool like this would have saved me hours of Googling for errors I encountered when setting up my dev machine—and saved the team from my dumb questions,” said Krzysztof Mycek, a developer at Propeller, who created this onboarding tool. “It would have made me less stressed about proving in the first few days that I could do my new job well.”
Package dev tech together and make install automatic
The onboarding tool only takes a few minutes to set up. It uses Docker, so it works on every computer system (OSx, Linux, Windows). And when you have all your developers using the same setup, you can make those “Hmm, weird. . .” moments between teammates a thing of the past.
The CLI tool takes care of downloading and sets up the various applications forming the Propeller Platform. It requires minimal user interaction, doing following by itself:
- Downloads databases and docker images
- Restores databases to your local environment
- Starts docker containers
- Configures applications
- Does a few tricks to glue it all up
Later on in a dev’s tenure, they can use it to create new applications, manage deployments, and help in the debugging process.
And, if a developer is tasked with creating a new Propeller app? They don’t need to spend time investigating what the frameworks are. They can simply run a command and create a new app from our templates with its own infrastructure and continuous integration already set up, and jump right into coding.