understanding a big codebase you have never worked.

  • First good step is to get the program running. Particularly good if you manage to set it in an IDE so you can use a debugger.

    Next would be to play around with the program. Does it give any print outs? Search for the printed text in the code to see where it comes from. What would it take for it to get there?

    Are there any configuration files? Try to find where the configuration is loaded in the code and see where the config parameters are used. How does different settings affect the program?

    Are there any API endpoints? Find where the endpoint is defined. Do you know how to call it? Figure out what you need to call it. Do you get any interesting response? Figure out why you got that response.

    Keep searching for clues like these about how the program works. See how the program behaves and work out why it behaved that way.

    Over time you might learn the anatomy of the code base. It will become easier and easier to navigate around the code.