I recently finished college and started working at a software company. They have a main application (consisting of over 2000, maybe 3000 source code files), written mainly in Java and Flex(Adobe Flash Player). It is a program intended to be used by some companies in the service sector to replace their human workforce with something that can be done easier via a computer (like tracking workers, assigning work to them and many more other things). This program was developed about 5 years ago and it is still updated (by fixing bugs and adding new features as new clients want to use this program).
Because I have worked in the past (an year ago) as an intern, my first assignment was to write an algorithm that handles some events automatically (which can also be handled manually by an operator that uses this application). Problem is, the code isn't documented, every source code file ranged from about 100 to over 2000 lines of code, and it is very annoying and hard to understand how to do some things (even when I know, as a pseudo code, what my algorithm looks like). Because of this I have to ask a colleague of my age who has worked for over an year here, and when he doesn't know, I have to ask a senior, which is pretty much occupied and doesn't have too much time to answer. Mainly I am stuck by looking into many source code files and trying to understand what it goes there and trying to find code I can use to make this algorithm.
I am pretty sad because of this, and was wondering if having a medium-sized application (a long-sized in my opinion may have 100k+ files or so) with no documented source code (no comments in files) (actually there are a few files, usually very long ones, who have about 5-8 lines of comment in total) is common in industry, and it is actually my duty to try to do reverse engineering on their code to understand how to do things. If so, what should I do to understand better this application, without annoying my colleagues a lot of times? I have tried to operate this application manually, but there are many events and things happening there I don't understand and I think an operator for a company that buys this program is trained to know how to use it. If not, should I try to avoid such workplaces in the future (and how do I know they follow this trend)?