{"id":12184,"date":"2016-03-31T18:37:26","date_gmt":"2016-03-31T15:37:26","guid":{"rendered":"https:\/\/mozaicworks.com\/?p=9088"},"modified":"2016-03-31T18:37:26","modified_gmt":"2016-03-31T15:37:26","slug":"how-to-quickly-become-productive-when-joining-a-project","status":"publish","type":"post","link":"https:\/\/mozaicworks.com\/blog\/how-to-quickly-become-productive-when-joining-a-project","title":{"rendered":"Joining a team? 5 techniques to start & a developer story"},"content":{"rendered":"

Making a new developer\u00a0productive as quickly as possible is most of the times challenging for the product team. I’ve\u00a0heard stories about new on-boarding team members needing up to several weeks, or even months, until they feel comfortable or knowledgeable enough about the project and the code. This shouldn’t be the norm. Situations like these are detrimental to the project, wasting valuable time and resources that could be otherwise used to streamline those great features into production. And we all know it: there’s no place like production!<\/p>\n

Recently, I found myself in the shoes of the new team member by joining \u00a0the Eventrix product team at MozaicLabs<\/a>. Just like you, I felt the need to make myself productive as soon as possible, in order to deliver value to the project.<\/p>\n

In this article, I will share with you more about my own experience, as well as tools and techniques that can be used to achieve productivity.<\/p>\n

Easy project setup<\/h1>\n

First things first. When a new developer joins the project, one of the first things they need is to set up their development environment. And I’m not talking just about the IDE. It’s also about getting the source code, configuring the development environment variables, initializing and populating the database, deploying the artifact locally, etc., you get the idea.<\/p>\n

What is the most common thing you hear when facing all of that? “Yeah, it’s going to take at least a few days, if not the whole week!”. Here is your first problem: not being able to get up and running on your first day on the job.<\/p>\n

First step to quickly become productive when joining a team is automation. <\/strong>Computers are very good at executing the repeatable steps that we, humans, dread to do manually. And they do it faster, too! So write a few scripts, one for each complex task like the ones described in the paragraph above. The new team member will only need to execute those scripts on the local machine, go grab a cup of coffee while that’s running, and have the development environment all ready after a few minutes when the scripts are done.<\/p>\n

To avoid those scripts becoming a huge mess themselves, it might help if everyone on the team was using the same kind of operating system, IDE, database management tool, etc. That way, the scripts wouldn’t break on subtle variations of the running system, and they wouldn’t need too much maintenance. Plus, the development environment consistency is useful when you need help from a colleague who won’t stumble because you’re using a different Linux flavor, or a different kind of IDE.<\/p>\n

A\u00a0high-level overview<\/h1>\n

The next thing on your list should be asking for a high-level overview presentation of the project from someone who has more knowledge about it. Typically, this person can be the architect, the technical team leader, or a senior developer.<\/p>\n

During this session, your teammate can explain the following to you:<\/p>\n