I’ve recently joined a very large organization as a senior software developer in the US. This is my first senior position and my first company of such scale. I am very excited and overwhelmed at the same time.
The product I am working with is very complicated and distributed. There is no technical/design documentation available so I have to work my way through code and schedule meetings with senior members.
As usual, the right people are busy chasing fires and I always feel bad for distracting them and sometimes making little sense due to lack of knowledge of the product. Most of the time I get away with my own investigations and produce bug fixes, however, complexity of tasks grows and many issues I have to deal with are more serious and require time and understanding.
Sometimes I conclude I am wasting time and ask for help and then feel like the expectation for a senior dev was to be more independent (I criticize myself).
My manager is great and I feel supported, however, I have this constant pressure that I most likely create myself for being “senior” and having to figure things out faster. I work with some brilliant people that had been with the company for years and while on the same band as me can fly through tasks like butter. This stresses me out as I feel like I am always falling behind.
I try to investigate and dig into things in my own time but then I start losing any work-life balance. Things I feel like I am able to accomplish easily is be a decent mentor to the Junior members, perform code reviews and give suggestions, solve general problems and I truly enjoy that part. However, there is always this feeling of not living up to expectations that I cannot conquer.
Is there anything I should be doing differently or am I expected to put in more time since I am new? The worst thing I can imagine is just not be fulfilling the seniority expectation and I cannot really tell if I am.
Apologies for a lot of writing but I tend to have hard time putting my thoughts in only a few words.
There is no technical/design documentation available so I have to work my way through code
" - if your programming language is supported by Doxygen, then use it. It will generate things like call hierarchies and function call trees. It's that first thing that I do with any new code base. If Doxygen does not support your languages, look for a similar tool that does. Wikipedia:Programming languages supported by Doxygen include C,] C++, C#, D, Fortran, IDL, Java, Objective-C, Perl, PHP, Python, Tcl and VHDL. Other languages can be supported with additional code.