A bit of background:
I am one of the two software developers in my company and we are currently working with C++ on embedded machines. My co-worker is working with C since a lot of time and now my boss wanted to improve development using C++. After a traineeship spent in doing web applications my boss asked me to work with these machines without knowing anything of the machine itself.
When i was assumed my boss knew that i only had done things in C++ at school and that i hadn't done anything more personally, but that i wanted to know more about how to develop software on embedded machines.
The source of my problems:
So, as i said, i started fresh like a rose developing software for machines i have never seen before. These have very complex program built in a very complex way that sometimes lacks of the capatibilies of OOP and C++ (since everything was built in C before (which i don't know and my boss knew that)) and i am having lots of difficulties understading how it works, why something was built in a certain way, what kind of idea is behind something etc. etc. etc.
I can't ask the Senior since he did things in C and is not programming this new machine (or anyway he's doing it with C and doesn't want to learn C++) and he is anyway too busy.
However, despite all of these problems i got a grip of the situation and at least started to know how to do some little things, and for my boss this was going ok... until now.
The actual problem:
Now after a month, because of company difficulties i am asked to use the functions of the Architect and not the ones i was doing on my own. He is the man behind the scenes that wrote all the OS of the machine and i cannot contact him since he left the company and can help me just when he is called for "consulence".
The problem is.. that i cannot know what a function does and behave, because the function behaviour is closed into *.a files. When i asked through one of the rare mails i could sent the answer was "the name of the function and the parameters should make things clear, anyway you have lots of documentation".
Actually... this documentation lacks of information (it is like 30% complete to get the idea). And anyway it explains generally what a function does assuming that i know how the OS works, what is the purpose of a certain idea or other random things that i could neither imagine.
I am having a lot of issues in my mind, which one is to leave this company and look for web development (which really caught my interest), but before getting use to strange ideas i just want to ask:
Is it common to work as a developer without having the possility to know vital things in the project?
Actually i am understanding a little here and there. But i am really asked to solve a giant puzzle without knowing how the final figure will look like. Since this is my first job i don't really know what do, maybe this is common in the companies and i am only getting discouraged.