6 things to know before you start working on a new codebase for junior developers
As a junior developer, working on a new project and a new codebase is always daunting. Before you can create any new feature or fix any bug, make sure you know these 6 things:
How to access the code
This typically means checking out the repository. It could be a git clone or something else.
Should you have a copy on your local machine or is your team working with remote servers?
Is there a preferred IDE that deals with this or will you use your own?
How to run the code
Which commands do you need to run to set up your environment?
Are there packages and utilities you need to install?
How will you see the output when it runs?
Do you access it through your terminal, a browser, an emulator?
How to read the logs
Where would you need to look to read the logs and errors for this program?
This might be your terminal, a log file, the browser console or maybe something else.
Logs might be in different places for different parts of the application.
How would you add a log?
Is there a recommended debugging tool?
How to run the tests
If there are automated tests, Where can you find them?
How do you run the whole test suite? Can you run only specific tests?
How to submit a change
Do code changes go through code reviews? Who needs to review changes?
Do you need to create a new branch for your changes? How do you submit a pull request?
What programme is used for code reviews?
How do you update a pull request once you get feedback?
How do you push it?
How to access help and documentation
Is there a README or an internal wiki about this codebase and product?
Is there an internal channel where people ask for help
Are there some people in your team who know more about this code and can answer questions?
How can you access past code changes? Sometimes reading the discussion that happened when a certain line was added can shed a lot of light on why things are written the way they are.