You’ve just started in a project and now you have to understand the business and get familiar with the codebase. How many days would be necessary to be confident enough to start contributing effectively with the team? Either you receive a totally new machine or you just noticed that you’re not familiar with the tech stack and need to set up the whole environment, face some errors, eventually you gonna get the app running and then start working on something. If you’re not lucky enough that someone else has been done a decent application setup, this story might be for you.
How about start contributing right at the beginning? Is the language version specified? How about dependencies? What things and commands did you need to type in order to get everything running? Do your best to get the basic of the application running. To do so, put every step you followed on the README and that will be your first commit!
Since you already updated the repository README, you already contributed a lot with the team and the project. Definitely the new members will follow the same steps, but now it won’t hurt as much. It’s possible to inspire people to improve the setup and convert README words into executable scripts. Moreover, some older team mate might not have noticed that she needs to install all that stuff.
There are many tools out there that will help you with the application environment abstraction, like creating a virtual machine (e.g.: Vagrant) or we can make use of containers (e.g.: Docker). The important thing is make your application be agnostic of environment/machine, so you can build it anywhere, anytime.
Once all required commands and processes mapped on the README, it’s time to move from all required steps exposed to be hidden instead. As developers, we’re the users of our code as well, so in the end we don’t want to know all details about how to build the application, so one command should set everything up.
For example a “setup” command will set a specific version of the language, install databases and dependent libraries.
I love when people ask questions, contribute with new ideas and so on. But it is common at the beginning for people that didn’t have much context about the previous choices to give too many suggestions or complaints. So be mindful with this approach being a new team mate. Try to understand the motivations, listen more and gradually push your changes and expose your ideas.
Do you have any experience that you want to share? I would love to read it. This article explains the way I dealt on previous projects and I expect that it can came in handy for you.
Hacker Noon is how hackers start their afternoons. We’re a part of the @AMIfamily. We are now accepting submissions and happy to discuss advertising &sponsorship opportunities.
To learn more, read our about page, like/message us on Facebook, or simply, tweet/DM @HackerNoon.
If you enjoyed this story, we recommend reading our latest tech stories and trending tech stories. Until next time, don’t take the realities of the world for granted!