Taro Logo
Profile picture

JPMorgan Chase Career Development Videos, Forum, and Q&A

Grow Your Tech Career at JPMorgan Chase

JPMorgan Chase & Co. is an American multinational investment bank and financial services holding company headquartered in New York City and incorporated in Delaware.

Should product-minded engineers learn UX design?

Junior Engineer at JPMorgan Chase profile pic
Junior Engineer at JPMorgan Chase

Questions:

  1. Is learning design a worthwhile investment as someone most interested in doing full-stack work at product-based startups?

  2. Might working in a small product-based startup be an effective way to pick up design skills while working as a SWE?

  3. How can engineers build more complex side projects without any design skills?

Regarding #3:

I’d argue that basic product design skills are critical for building any CRUD application. You can’t build something without defining what it’s going to do first. 

Literally - you can’t write code for a feature if you don’t know how the app will behave during a loading state, an error state, a complex edge case from a wonky user flow, etc.

You can wing the design and iteratively dogfood it to improve its UX - but that’s the same as doing UX design while having zero UX design skills. It’s the software engineering equivalent of writing spaghetti code - except you’re not even improving.

Personally, I find that UI libraries like or are most helpful for solving UI problems like designing a button or a modal. However, they can’t help you decide how a screen in an app should work, nor can they abstract away all design challenges for more custom use cases.

Also, any CRUD application built with poor design will inevitably feel like a crappy database client. 

The design problem applies to backend projects, too. Backends exist to service frontends, so you can’t build a backend without knowing what features the frontend needs - and you can’t do that, either, if you don’t design it first!

These are all challenges I’ve faced working on my own projects.

I suspect the best approach is really to just learn UX design and a design tool like Figma. However, that’d be a hefty investment given UX design is a separate field from SWE - especially if it’s just for a side project.

Also, building cool stuff as a semi-competent engineer is tons more fun (for me) than learning design from scratch!

What are your thoughts on my aforementioned questions?

Show more
38 Views
2 Comments

How can junior engineers safely use cloud providers like Google Cloud or AWS for side projects without risking running up large bills?

Junior Engineer at JPMorgan Chase profile pic
Junior Engineer at JPMorgan Chase

The question applies to everyone - but particularly to juniors with little experience using cloud services.

For instance, I once built a CRUD web app using Firebase. However, I was wary of providing payment info, given the numerous stories of people getting large bills from accidental overuse or DDoSing. Thus, I wasn’t able to use Cloud Functions, leading to me using Firebase antipatterns.

For instance:

  • Creating new user’s profile data in the frontend (instead of a Cloud Function)

  • Building a dedicated backend to securely make third-party API calls

  • Manually versioning my production data by downloading JSON (no backups available on free tier)

I even considered migrating my web app to Supabase, which doesn’t have this problem (and is also SQL-based), just so I could avoid doing silliness in my code.

More recently, I’d like to build a hacky side project needing a service from Azure (or AWS, or Google Cloud). I could build an MVP in a few hours on the weekend (in fact, I already did - now I just need to connect it to the service). However, I’m wary of providing payment information.
I understand the typical policy is to forgive accidental misusages.

However, I’d prefer to use these tools properly instead of relying on goodwill (which, as , isn’t always reliable).

After all, it would be atrocious marketing to punish small players when most of cloud providers’ revenue comes from large, established organizations operating at scale.

How might I approach this? I’d be interested to hear your thoughts - I know Taro runs on Firebase!

Show more
84 Views
6 Comments

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

Junior Engineer at JPMorgan Chase profile pic
Junior Engineer at JPMorgan Chase

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.

Show more
7.8K Views
5 Comments