31

Help needed: New grad job going at a slow pace with nothing to do - Next steps?

Profile picture
Junior Engineer at JPMorgan Chasea year ago

Hey all, I’m a new grad who has been working at JPMorgan Chase for ~3 months, and I would really like some perspective on my experience so far. This essay question will be long, but the overall theme is that my growth feels stagnant and I’ve unfortunately grown to dread coming into work. I’d really appreciate any new perspectives or advice.

For reference, my current career goal is to grow to senior engineer at a startup/Big Tech company as quickly as possible (because a) I like working towards long-term goals and b) software engineering is lots of fun).

A quick timeline:

  • I joined JPMC in early August on a React + Spring Boot team

  • The first 4 weeks were solely dedicated to training and getting access to stuff

  • Thus, I’ve been with my team in full capacity for ~8 weeks now

A core problem is no one is really interested in how I’m spending my time or enabling me to be productive, even with me trying to upwardly manage. For instance:

  • On my first day, I had to actively ask my manager and TL for my first task, but they had no immediate plan for me or the other new joiner(s)

  • During my first couple weeks, I (nicely) bugged my TL for work so I can get my hands wet and start learning the codebase, to no avail

  • Recently, I had a full week of no tasks assigned to me, and no one minded (I had stopped bothering asking for work)

I’ve considered the following:

  1. Self-assigning myself work

    1. This won’t work because a) I don’t think that’s allowed and b) I’m not yet onboarded enough to be independently productive
  2. Asking to pair program

    1. I’ve mentioned this to two engineers, to no avail

    2. Everyone seems to be focused on getting their own JIRAs completed, and pair programming will inevitably slow them down

Also, because my TL is so busy, it’s hard to get immediate, synchronous help whenever I get blocked, which leads to me having much downtime. In fairness, I understand people are busy and can’t drop their work on a whim, and I should have taken the initiative to get help from other team members too (to not overwhelm my TL).

In any case, the handful of tasks I have been given have tended to be very menial in nature - the type you could better offload to ChatGPT. For instance, adding 1-line changes to business logic or writing unit tests for existing code (that I only partially understand). Most of the work hasn’t helped me develop a mental model of how the system works or learn the business domain.

Here are a few other traits about my team that I’d like to mention, to provide more context in debugging my situation:

  • My TL and manager spend most of the day pairing up to deal with production issues

  • My manager doesn’t have 1-on-1s with anyone (even new grads)

  • Everyone else on the team is busy, as if I’m the only engineer without much to do

  • The engineering culture often seems middling at best - unit tests are often written without asserts (solely to reach 80% coverage) and code often has buggy execution paths

The whole experience is unfortunately becoming really frustrating to me. For comparison, I worked on a React/TS + Firebase side project over the summer (it couldn’t have been more than 80-100 hours of work, tops) and I learned so much stuff really quickly - not merely in terms of code velocity, but other higher-level concepts like the tradeoffs of SQL vs NoSQL, data modeling, reading documentation, how to keep a codebase organized, etc. and I also gained much more confidence in my technical abilities. The experience I gained of building something has given me more context to understand how software engineering works. Also, it was tons of fun (like grinding in an RPG, but productive).

On the other hand, I’ve spent almost three months at my first real job and I’ve objectively learned very little. As a result, I’m finding it hard to be motivated to take extra initiative and apply myself when it seems like the environment I’m in has turned out to be so stagnant and slow-moving.

Beyond this, the other major problem is I don’t feel like I’m providing value to anyone (including myself) when I go into work. My only incentive has (unfortunately) become running down the clock so I can leave, which, coupled with the boredom from a lack of work and a 2+ hour round-trip commute, is incredibly draining. It’s really silly - my primary goal right now is to get good at software engineering, yet I’m currently doing the opposite!

I have considered starting a dialogue with my manager and bringing up (some) of these concerns, but there are a few problems. Mainly, I doubt my manager would provide the best insight:

  • He directly equates hours worked with productivity and suggests ambitious JPMC engineers should probably work 10-11+ hours early in career

  • He suggested using my downtime to do some kind of arbitrary training (unclear what he is referring to), instead of finding real work to learn from

  • He doesn’t seem to understand that the work I’ve been assigned is not very meaningful

  • He spends all his time coding and very little time managing

  • My manager (as part of JPMC for decades) seems to be in the siloed-off JPMC bubble where engineers join and stay for decades - so growth discussions would be centered around being the best JPMC employee, not the best software engineer in general

I don’t mean to criticize - my manager is actually a cool, friendly dude.

Plus, not everything is bad about my experience. There are several green flags:

  • Most of the other engineers seem to like their work

  • There appears to be some camaraderie in the team culture

  • My manager seems flexible and understanding regarding people’s schedules

  • My TL/manager have given very positive feedback on the code quality of my (few) contributions so far

  • During my placement conversation, it sounded like there’s tons of work/scope available

Nonetheless, it still feels like I’m in a no-win state where my options are:

  1. Stay until the tech market improves

    1. It feels really bad to intend on spending a minimum 1-1.5+ years working at a job where I’m learning very little and accomplishing almost nothing. It seems like it would hurt my career growth (and continue to be a really taxing, sucky experience).

    2. It seems like the only two things I’m getting out of this right now are a) income and b) resume continuity.

  2. Switch jobs

    1. It feels almost as bad to want to look for a new job after ~3 months, given JPMC’s tech side is so large and reasonably well-known.

    2. Also, job searching as a junior in this current market would be very RNG-heavy, and I don’t want to have a short stint on my resume if I can avoid it.

  3. Switch teams

    1. Internal mobility isn’t an actionable option because the program managers want us to spend at least 12 months in our first role.

    2. Also, to switch, you’d need to both find another team via internal networking and have your current manager sign off on the transfer.

  4. Quit

    1. The large amount of downtime means I have to spend significant parts of the day running down the clock by simply sitting in my chair and doing literally nothing - which turns out to be far more mentally grueling than one might expect.

    2. The WLB on my in-person days is poor because I have a 2.5 hour round-trip commute, so I have little energy to do anything useful in my free time.

    3. I’ve tried to use my downtime to read books (like Designing Data-Intensive Applications), but this doesn’t remotely replace doing actual work.

    4. I have no expenses so I could quit, though that isn’t the best option. I only mention it because staying at my job comes at the cost of continually enduring this.

What does the Taro community think of my situation? I’d appreciate any and all suggestions on how to fix this.

8K
5

Discussion

(5 comments)
  • 23
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    a year ago

    First thing's first: Your team sucks. And it sucks a lot. You need to leave.

    However, there's some nuance around when and how to do that. I actually went through something very similar at PayPal (I spent most of my time there playing foosball and spinning my wheels), so I have very real-life experience here. You are 100% right that doing nothing for hours on end is surprisingly hard - The novelty of being paid tens of thousands of $$$ to do it wears off fast.

    Anyways, here are my thoughts:

    Do Side Projects!

    This was the main cure to my boredom at PayPal, and I had so much fun doing it! It will be harder on your in-person days (maybe you can just scope out new side project features on those days, prepping for the coding back home), but on remote days, it should be pretty easy. You mentioned that you had a side project where you had a ton of fun, so you're already familiar with the side project vibe (and dopamine hits).

    Here's our playlist around side projects: [Taro Top 10] Building Impressive Side Projects

    Look Passively

    It's true that only having a 3-month stint looks bad, but it's not like you'll get an offer tomorrow (especially in this economy). At best, it will take you 2-3 months to get the offer, and even after that, you can push the start date out like 1 month, giving you at least 6 months at JPMC.

    I think you should spend 15-30 minutes per day on average just applying to jobs and see what happens. Here's our job search playlist: [Taro Top 10] Finding A Tech Job

    Create Your Own Scope

    This is not likely to work, but you might as well try. Instead of asking your EM/TL for tasks to work on (this is a high-cognitive load question, so of course they will be lazy and give you nothing), just find the tasks yourself and ask for permission. This is advice I give to a ton of junior/mid-level engineers looking for scope; there is almost always a backlog (especially at a huge company like JPMC) of tasks that the more senior engineers are ignoring/procrastinating. It's usually in the realm of tech debt, covering stuff like:

    • Fixing internal tools
    • Fixing bugs
    • Adding more automated testing coverage
    • Adding more logging
    • Refactoring, usually simpler ones like clear-cut migrations

    Find those tasks, go to the engineer who owns it, and say that you will do it unless they explicitly say no. It's a win-win as their backlog gets cleared (they get credit for "leading" you), and you actually get to write some clean code and have some impact.

    It's probably a bit too advanced, but I recommend this playlist too: [Taro Top 10] How To Create Scope As An Engineer

  • 11
    Profile picture
    Tech Lead/Manager at Meta, Pinterest, Kosei
    a year ago

    I'm leaning toward #1 since:

    1. 3 months is not a long time on the job so far
    2. You will get some latent 'brand recognition' since JPMC is so well-known (as you said). That will be helpful for future opportunities.
    3. You won't qualify for mid-level roles now, but if the market improves and you stick around for 1-1.5 years, you could. And that would lead to a large comp bump.

    A few other things to consider:

    • How much confidence do you have in your ability to find other engineers for side projects, or your own ability to learn? Can you turn the fact that you don't have much to do into a strength, and use the extra time to build something cool. See the side project masterclass.
    • You could try a few more techniques when it comes to onboarding and adding value to the team. See the onboarding masterclass.
  • 10
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    a year ago

    Regarding passively searching: how do I decide which types of companies to apply for, given tech is scarcely hiring? For instance, would applying to other banks be worthwhile, given that JPMC is probably the “best” one? It seems like my problem is more team-specific than it is company-specific, but I also wouldn’t want to risk moving to an O&G or consulting company.

    Don't decide, just apply to everything. The market sucks, so it's not like candidates have the ability to choose anyways, especially those earlier in career. Big Tech, scale-ups, startups, mid-sized companies - Doesn't matter, apply to them all and see where you can find traction.

    • Also, I’m curious - what’s the idea behind stretching out my tenure at JPMC (in the case I accepted another offer)? If I spent 2-3 years at the second job, wouldn’t that “undo” the damage of a short stint?

    The undoing part is mostly correct. However, most of the stretching out won't be a choice on your end. Going from applying -> recruiter call -> technical phone screen -> onsite -> offer extended -> negotiation -> start will naturally take a long time, especially in a bad market.

    Also, having a break in between jobs is nice. I regret not having bigger breaks in between roles.

    • Over the coming months, do you have any actionable suggestions for building a network and getting references (bonus: any suggestions on leveraging Taro to build said network)? IME, career fairs and references have proven far more effective than cold applying (especially since last year).

    Of course career fairs and referrals will be better than cold applying (especially the former as it should be in-person): Succeeding in tech is all about the relationships you have. I'm glad that you recognized this early (I personally took way too long). Here are my recommendations:

    1. Sign up for Taro Networking - Attach a friendly note and describe how you can help so more people reach out to you. You can find it here: https://www.jointaro.com/networking/
    2. Go through our networking masterclass - Here it is: [Masterclass] How To Build Deep Relationships Quickly In Tech
    3. Check out our referrals discussion - This will help give you the proper mindset around networking, particularly with jobs: "How to get referrals?"
    • What do you consider the biggest failures and red flags from my team, based on my recount? I’d be curious to know, so I can better vet teams in the future.

    Check this out: [Masterclass] How To Choose A Good Company And Team As A Software Engineer

    There are many linked resources in the description of that masterclass - Go through those too. Those resources will link other resources, so you can even keep going. Traverse that graph of resources until you feel at least semi-confident you can identify a sucky team.

  • 9
    Profile picture
    a year ago

    I have been exactly in your situation when I worked at a Fintech firm back in India. Some of the similarities we had:

    • Manager does a lot of coding
    • There is no mentor/ teammate assigned to you for helping or pair programming with task
    • No one expects any output from you in the sprint and are just busy doing their own work

    I worked at this company for around a year and half and nothing good came out of it.

    If your manager is doing coding most of the time, trust me that’s a very bad sign. A manager is supposed to spend most of their time doing managerial work and help you connect with teammates and ensuring that you get the right help to complete your tasks within that sprint, which includes ensuring that you are assigned tasks as well.

    If you are new to the team and especially a new grad, a weekly 1:1 or atleast biweekly 1:1 with your manager and TL is crucial. If that’s not happening, not a good sign again.

    • The repercussions of all this scenarios lead you to not learning in the long run. Teams like this keeps software engineer like this as a back up. Whenever they are faced with a hard pressing deadline project, they start bombarding you with task with no proper onboarding. If you are unable to finish tasks, you ultimately get managed out. I am really not trying to scare you here, but having worked exactly in a team like does more harm than good.

    If I were in your shoes again, I would start doing the below steps:

    1. If your goal is big tech/ startup, start applying to mid sized/ small companies first. The reason is, it would ensure that you are nullifying your failure rate fast and by the time you are applying to big tech/ companies you are already well seasoned with the interview patterns and your weaknesses. If you have a commute, start utilizing your commute time to apply to jobs. Use AI tools like Simplified.com to fasten it up.
    2. These days in interviews, they are expecting a candidate to know every detailed aspect of the project, even a new grad. If you are going to office, try to do some water cooler chats with some teammates and start asking them deep questions about projects.
    3. For ex: why are we using this tech stack? Why this database? Why SQL vs noSQL ? How does our functionality work exactly ? Is it scalable ? How can we make it scalable ? See the stories on board which seem easy/ less story points even though not assigned to you. Start debugging on your own and see where you are stuck. Whenever the teammate who completed it raises a Pull request, try to have a casual conversation with them about understanding and thinking about it a certain way. Tell them they did an excellent job and start asking questions about how they did it the way they did. Trust me, people always love to talk about their work. This is how you build relations with teammates by paying attention to their work and asking good questions. Although, there is a fine line between asking questions and meddling with their work. I would try not to step on their shoes too much. In general, start having a conversation with your teammates about the project more in common hours.
    4. If it’s an existing project, what are the painpoints that team is currrently facing in terms of technicality ? I would pay really good attention to what teammates are saying and take good notes. These things come extremely handy for hiring manager interviews and behavioral interviews where they check your technical depth of project.
    5. I understand you are extremely tired after your day job, but I would really suggest you start doing 1 leetcode problem a day atleast and utilize weekends to start brushing DS and Algo concepts.
    6. Start utilizing your weekends to actively give mock interviews and address your weaknesses.
    7. I agree market in general is really bad right now, especially for new grads and mid level engineers. It’s not entirely impossible though. I have been in market since last 3 months and managed to get something even being on a visa. If you put enough time and dedication, you will get through it.
    8. Some final thoughts, I would not work in a company/ team like this for more than 4-5 months. I agree with Rahul, having reputed name like JPMC might start fetching you calls. Also, it takes up almost 2-3 months minimum to land a job offer once you start preparing. Utilize the free time you get at JPMC learning about teams tech stack and build small projects around that tech stack. This will help you answer questions in interview about tech stack.

    Good luck to you and hope you find what you are looking for!

  • 7
    Profile picture
    Junior Engineer [OP]
    JPMorgan Chase
    a year ago

    Thank you for the detailed response! And thanks to Rahul for his input as well. I’m glad you agree my experience is objectively not great.

    I have a few more followup questions:

    1. Regarding passively searching: how do I decide which types of companies to apply for, given tech is scarcely hiring? For instance, would applying to other banks be worthwhile, given that JPMC is probably the “best” one? It seems like my problem is more team-specific than it is company-specific, but I also wouldn’t want to risk moving to an O&G or consulting company.

    2. Also, I’m curious - what’s the idea behind stretching out my tenure at JPMC (in the case I accepted another offer)? If I spent 2-3 years at the second job, wouldn’t that “undo” the damage of a short stint?

    3. Over the coming months, do you have any actionable suggestions for building a network and getting references (bonus: any suggestions on leveraging Taro to build said network)? IME, career fairs and references have proven far more effective than cold applying (especially since last year). 

    4. What do you consider the biggest failures and red flags from my team, based on my recount? I’d be curious to know, so I can better vet teams in the future.