8

I am a M[31] "senior" software engineer with about 6yrs experience working in the financial sector. I say senior but I dont think I am really at that level yet. Most of my experience is in data engineering (Python, SQL, cloud etc) but I recently took a position as a senior engineer doing full stack work juggling multiple frameworks (django, Node.js, Laravel PHP). Django I knew some of coming in but nothing of Node or PHP. I have been at this job for 3 months now.

When I am working with my co-workers and they are explaining code it seems to me that they are irritated and or disappointed with my current skillset and level of understanding. It takes me longer to understand things than I think they were hoping and this is really demoralizing.

I mentioned this to my manager saying I feel overwhelmed and I am trying my best to get up to speed with our codebases. I also mentioned that I feel like my team is basically saying "how do you not get this code yet?" and "I thought you would already know this." My manager has said he will discuss with the team to see where they are at with my progress and their thoughts on me.

I have been getting frustrated answers from the team when I say I still don't understand a process fully yet and need more time.

How would you handle this situation?

3
  • It looks like harassment to me, which you can easily counter: "how do you not get this code yet?", "Well I simply don't. Yet!" and "I thought you would already know this.", "No I don't. Yet!".
    – Dominique
    Commented Feb 14, 2023 at 8:26
  • 1
    "how do you not get this code yet?" - presumably because it's so badly documented that nobody coming in from outside will have any idea what any of it does.
    – Simon B
    Commented Feb 14, 2023 at 11:14
  • I think they except you to be senior, which means solving problems. Don't worry about code just focus on the problem. Also don't get hangup on thousands of lines, choose a start point where the issue is then drill down. Eventually you'll find software engineering it's about the data mainly, which you already know.
    – estinamir
    Commented Feb 16, 2023 at 1:47

4 Answers 4

7

3 months is a very short time but it is long enough for the coworkers to expect that you have some level of facility with the tools and projects. What that level is and whether or not it's realistic depends on the specifics.

Whatever those are, the key problem IMHO is that you need find a way to ask for help from your colleagues. I am guessing that it's a relatively small team in a high-pressure environment and that there is no provision for actual onboarding (aside from HR trivialities)?

The reality is that it's NOT practical to sit down by yourself and reverse-engineer their stack, workflow, and business process. Nor is it practical to onboard yourself by having brief hallway encounters where you ask deep questions and get ad-hoc answers from the top of their heads. I know this. I've tried. It CAN be done, but it ALWAYS takes time (A LOT of time).

You need to spend DAYS with them, in 1-on-1 sessions, to onboard. You also need to strategically research your own gap-areas by yourself and arrange to temporarily stay out of those areas until you're up-to-speed.

Doing this requires humility on your part. It's hard to ask for help and serious time and effort from others. Depending on how hierarchical the org is (and finance is typically very hierarchical) you may need to coordinate this with managers.

On their side, they need to realize that their assumptions about what "a senior" knows doesn't match with reality. Everyone has gaps. Everyone who is an expert in any topic started as a newb. There are many paths from newb to expert, but all the short paths require help and cooperation from others.

6

Generally when you're temporarily out of your depth it pays to do the extra work to get ahead of things. Assuming the job is important to you.

Bringing your shortcomings to your superiors attention as a senior is a bad look and ideally is avoided as much as possible, as is conflict or other issues with your colleagues. Most jobs will have you doing something new, so you factor that in to your workload at the start and soldier through the first few months focusing on building your knowledge base until you settle in.

4
  • Wasn't he simply misplaced, though?
    – LoremIpsum
    Commented Feb 14, 2023 at 1:16
  • @LoremIpsum OP was hired as full stack. The specific techs would have been outlined before placement. If not then thats a fail on both sides.
    – Kilisi
    Commented Feb 14, 2023 at 1:57
  • The job description was pretty vague. Honestly full stack was not mentioned at all in the interview process.
    – foxRun28
    Commented Feb 14, 2023 at 2:02
  • 9
    Then both sides failed, your choices are either make the best of it or job search (or both)
    – Kilisi
    Commented Feb 14, 2023 at 2:07
3

I see a few red flags here. The problem is, I can tell you what my expectations are when I hear this, but I have no idea what their expectations were. So it might be totally wrong. Or not. In absence of the others, you are the only one in the position to judge that.

Anybody changing jobs working for a new company needs some time to get used to their way of doing things. And in case of software development, their core business. Likely, they aren't developing software for the fun of it, but because the software is a tool for their core business. Software developers switch jobs and land in companies with different core businesses, and need to learn about those. No matter how good of a software developer you are, if you switch from developing a scheduling software for warehouse worker shifts to developing a software about insurance comparison and rates, you will be new to all this. It takes many months to get accustomed to a companies core business, that is normal and expected.

When I hear "senior X", I take that to mean that there are roughly 3 levels of "X": "junior X", who need help with their own jobs, "normal X" (often without any prefix, just "X") who can do their own job just fine without any help, and "senior X", who are so good and experienced at their job, that not only can they do their own without problems, they also have the capacity to help a few juniors with theirs at the same time.

To be honest, most people I know are barely at the "X" level at 6 years experience. Sure, they don't make any foolish beginner mistakes any more and they know how to get help from documentation and Stack Overflow when needed, and they do a "good job". Solid. But they are still a long way from being so efficient and knowledgeable that they could do a solid job and teach others.

So what likely happened was that the team said "hey boss, this is just too much work, we cannot possibly complete all of it in the timeframe you are looking for. We need more developers." And the boss decided to bring in more developers, because they did want to get it all done. And they hired a "senior full stack engineer". However, whoever hired you thought that not knowing most of that "full stack" tools they use was good enough.

However, knowing your tools is a big part of being a "senior". Without knowing your tools, there is no telling whether you actually are (or would be) a senior.

So the team, who had been told a senior would come and help them, get a person that is in no position to "do their own job and help others". The new hire needs help doing their own job. Not because of the unknown core business, that is understandable, but because of their non existant knowledge of the tools used. In the above terms, they got the equivalent of a junior.

There is not really anything they can do about it.

There is not really anything you can do about it.

The best way is to sit down with your boss, both you and the team, either in seperate sessions or combined, and explain the expectations. Then consolidate them into a working thing.

If you were hired with the expectation that you need time to learn the tools they use, that is something the team needs to know. They can probably accept that. Since you already have the experience, you will go from junior to normal to senior in maybe a year or two, not in ten years like a normal junior. But the team needs to adjust to the fact that they did not get what was ordered and that right now they have a junior that needs help.

If you were hired by mistake, because the person doing the hiring just didn't know how to do their job and check whether you knew the tools, then that is a big problem, because if they don't have the budget to hire two people and they need a senior now, they may have to let you go. That is on the person hiring you and not your fault, but the fallout will still hit you, not them.

Take the meetings, see what unfolds. But it might be time to look for another job, that is actually tailored to your specific strengths, to the things you already know and are becoming a "senior" in. Or, if you want to switch technologies, look for a non-senior role, where the expectations are set that you need to learn those new things. It is your responsibility to find out if a job is just that, just as much as it is theirs to find out whether you fit their requirements.

3
  • Usually I like to read your answers, but this one just draws the life out of me. Too many words, too little "content" for my taste today. Maybe you can make it shorter / to the point somehow? :)
    – virolino
    Commented Feb 14, 2023 at 10:23
  • I'd say "junior X" needs watching, "normal" X will do the job or be clever enough to ask for help, and "senior X" will do the job no matter how difficult.
    – gnasher729
    Commented Feb 14, 2023 at 12:05
  • 2
    @gnasher729 That may or may not be the same definition. In my experience, teaching others is an amazing tool to learn things yourself you never thought to ask about. Because someone else will ask and you will have to have an answer. More details on that here.
    – nvoigt
    Commented Feb 14, 2023 at 12:35
0

Have you tried asking them for advice on what additional skills they think you should focus on, or which parts of the code would be most useful for you to study?

You may well find out that the feelings of inadequacy are your and that they fully understand that it takes time for you to come up to speed on the product and the tools it is built from. If they actually are disappointed, getting them involved in guiding you is better than trying to struggle through it on your own.

While there are bad managers out there, I have found that it is usually helpful, not harmful, to as this same kind of "how am I doing, and am I missing anything obvious" question. Remember, they want you to succeed; bringing someone else in is a pain.

If it was easy, they wouldn't need people like us... and it wouldn't be half as rewarding when the solution comes together.

You must log in to answer this question.

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