I was moved to a new project yesterday (I know it's a little early to judge). Anyway, I have zero clues about what is happening. The manager is very uncooperative which might be because his boss pushed me onto him because I had great reviews for my work, but that was a different technology all together.

The new project deals with really low level work (interacting with arm processors and stuff using C, and other APIs). I've always worked on high level languages like C++, often ignoring how the code interacts with lower layered stuff.

I've been (temporarily) assigned to review old code bases and list out the best implementation of a module for putting into our code library (just analysis). Now the problem I'm facing here is simple; I got no idea whats happening. I've been analyzing the code since yesterday and unlike usual where I start making a rough model by now, I can't even figure out where to start.

I've been going through tutorials, but I can't seem to link both things together.

My manager is not helpful, he doesn't want me to be part of his team. And I get why. I just don't know how to do my job. I don't want to leave it for the fear of not getting anything good nearby (to my home).

  • Don't be so hard on yourself. You're diving into a new project. It takes time to learn your way around any code base. This is especially true where you are expected to troubleshoot stuff that might not be 100% wonderful. And, ask the manager's boss for advice on how to work with this manager.
    – O. Jones
    Mar 4 '20 at 1:43

If you know C++, then you won't have much trouble with C. You are more likely to have trouble with the "low level" stuff.

Is there any documentation? Is the code commented? If yes, that helps you. If not, that can be used to mitigate any criticism.

Is there anyone, on your new team or elsewhere, who you can talk with about the code structure?

The first thing that I do on any new C or C++ project is to run the code base through DoxyGen. For C++ that will give you class diagrams & inheritance. For C, it will give you function call trees, which will help with understanding of the code structure. It will also allow you to explore the code by clicking on functions, variables & data types to see where they are declared & used.

You have only been with the new boss for a very short time. Give him the benefit of the doubt. Perhaps he isn't against you; perhaps he just didn't have time for you, or some other reason. In any case, making a reasonable job of your first task and continuing to do so ought to bring him round to seeing you in a better light, just as your old boss did.

  • Thanks for the reply, downloading doxygen now. Hope it works out. You're right I'm more confused by the APIs in use, been going through all the tutorials.
    – Bhoot
    Mar 3 '20 at 10:47
  • 1
    SourceTrail might also be useful Mar 3 '20 at 11:29
  1. It is day 1. It is very early to judge.
  2. Go get a Udemy course/book on this topic. Tutorials are usually piecemeal. You want a more fundamental understanding.
  3. Spend a proportional (I spent several weeks or so when I joined a project where I did not know the stack, but it is also my sole project is ) amount of time on that course/book.
  4. Relax. The first day usually leaves you somewhat lost.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .