4

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.

4
  • Great question!
    – ChrisFNZ
    Nov 5, 2019 at 22:48
  • 1
    How long have you been with the company? I would not expect anybody to be proficient in a professional code base until at least 6 months in.
    – nvoigt
    Nov 6, 2019 at 6:18
  • 2
    "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. Nov 6, 2019 at 7:14
  • @JoeStrazzere Ive started 6 months ago, and by losing work-life balance I mean working 9-5, then getting home and doing 7-11 to get more done
    – eYe
    Nov 7, 2019 at 23:40

4 Answers 4

9

The best way to find out if you are fulfilling the expectations of your role is to ask your manager.

Arrange some time for a one on one with them, let them know in advance that you'd like feedback about how you're settling into the role (so that they don't get put on the spot, and have time to think about relevant feedback before talking to you), and then listen to what they have to say.

Note that I said "how you're settling in" instead of something like "is there anything I'm doing wrong". I deliberately chose neutral language. Your manager quite possibly thinks you're great, don't set a negative tone when you don't need to.

1
  • 1
    Love that last paragraph. Such great advice
    – Mike
    Nov 7, 2019 at 9:17
4

Before I dive into this I want to say something I consider very important:

  • It is extremely normal to have doubt about your "performance" when you're starting a new position, especially when you're thrust into a senior-level role where your "peers" are people who have years of experience/expertise with the company.

With that being said... stop being so hard on yourself. I know it isn't that easy, but no matter how experienced you are or what point you're at in your career it takes time to ramp up when you start with a new company. That's especially true when it comes to software development because of the massive differences there can be from company to company or even team to team when it comes to environment, standards, languages, etc.

The important thing (IMO) is that you keep a positive attitude, demonstrate that you're working hard, and do your best to influence the things you can based on your experience. For example, another posted mentioned things like contributing to coding standards, mentoring junior programmers, security, etc. Those are things that are universal and don't require expertise with a process/application to be involved in and provide input.

I would also say that if the company doesn't have documented development standards that could be a good place for you to take initiative and document them. See if you can sit down with your peers and the solution architect and document their standards (don't hesitate to make suggestions). Not only will it help you familiarize yourself with their environment/expectations, but it will provide a benefit to any future new/junior developers who come on board when they start to ramp up.

Besides that: just keep at it. Try to understand the process and the requirements and then dig into the functional side of the code. Over time you'll gain the experience you need and you'll find you aren't asking as many questions until the day comes when you realize that people are coming to you for answers.

As a final note: communication is important. I wouldn't go to your supervisor/s and express that you're feeling insecure about your performance, but it is completely ok to ask for feedback and make sure they know that you care about being a valuable member of the team and that you are constantly striving to improve yourself.

2

You may be suffering a form of "Imposter syndrome". It can be quite common in IT in my experience.

See https://hbr.org/2008/05/overcoming-imposter-syndrome to better understand this.

As a Senior Dev, I'd expect some of the following:

  • A hollistic understanding of the technology stack and recommendations on how to improve it (simplification, improving performance, security, availabiltiy etc)
  • Contribution towards coding standards
  • A good understanding of DevOps and CI/CD. (Not just git or Jenkins)
  • To coach and mentor other Devs
  • To contribute towards practices
  • Continuous improvement
  • More structured approach to improve workflows and reduce knowledge risk (e.g. Jira, Confluence etc)
  • Open up a dialog with your peers to elicit their feedback and take active steps to consider and follow up on constructive criticism
1

We may be in alignment there to some degree, because I also sometimes have doubts about the quality of my work. This is despite continuous positive feedback and being hired after my testing period in various companies without ever needing to interview other than salary negotiation.

A possible solution for you is to schedule regular meetings with your superior to get some feedback on the work you are doing. This can be e.g. once a month. It seems right now you are on a bit of an island and you are right - independent work is likely expected from someone in your position. However this does not mean that you are doing a bad job so far.

In addition you should try to evaluate your work based on facts alone, if possible. Currently you are likely to evaluate based on your perception. But you can look at hard data.

  • How well did you increase your usefulness over an extended period of time - were you able to solve more issues now than in the beginning?
  • Are you being assigned tasks? If so - is there a lot in the backlog or are you accomplishing them on time? If not - has your rate of success improved over time?

In any case, it is important to get a non-distorted perspective on the matter.

You must log in to answer this question.

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