I just came here to ask for some advice. I've just graduated from university and now started my first real programming job. Basically I will be working on the middle tier of a large application but was n't sure how I should start learning the system and I will need to familiarise myself quite quickly. I've been looking at the code and already feel a bit overwhelmed at the complexity.
I feel that I have a lot to learn i.e. the domain and terminology, understanding the large code base and on top of that learning new technologies which I have not covered in university.
What would the best approach be to trying to understand the system? I have done very little work in the middle tier and its using several technologies which I have never come across.
For example currently I'm not even sure how the data is brought into the system. I've done a little Spring jdbc but at no point do I see any queries being made, just code for setting up database connections in config files.
Usually I try to understand code by running it in a debugger and seeing what data is being passed through but the only way I can run the server is by running a script on a unix box so I can't really use a debugger can I? I've not run it yet.
I've already bought a Spring book but I'm still not sure how to tackle the system and where I should start. I looked at the endpoints but it never really helped. It is using soap but I don't even know what the content looks like.
My manager is currently on vacation so I've been told to look at the code for 2 weeks until he comes back.
Can anyone give advice on how they dealt with coming into a new team etc, there is almost no code documentation and the only manual I've been given is how to set up the project.
Also just wondering when I start writing code, how would I be able to look at the data contained within the objects in the system? I can't do a simple print line to check, yes I could do logging but it would be nice to see what the data used is.
In the past I have been able to verify and understand the system by looking at the UI, but now I think I will either have to make new tests or run existing ones to check if my code is correct.