As a starting programmer with little industry-experience, I find it frustrating to learn a new project which is based on many technologies that I am not familiar with. The project I am working on has about 150 classes with 15000 lines of code, and with its extensive focus on socket and security programming which I have zero experience in, I am not sure where I should start.
With limited documentation and help at hands, self-study is my best resource in trying to understand this project as a whole. I often find myself spending way too much time learning insignificant features of the product while missing out the crucial classes that I should really be focusing on… The main reason why it takes so much time is that I often have to look into Java API reference every few minutes to understand a small code block… I am sure I will eventually learn it through trial-and-error, but I am sure that there are some useful advices and guidelines I can use 🙂
A few things come to mind:
I think, based on the size of the project you mentioned, that this can be a gentle introduction to production code for you. It might seem big now, but 15000 lines of code is on the smaller side of the projects you might eventually work on during the course of your career.
Remember also that this is necessarily going to be a learning experience for you. It’s one of your first projects in the industry, so it might take a little while to get used to things. Keep in mind that you’re not the first person to have to swim in library / framework soup in an unfamiliar code base.
Good luck!