1

Deciding Between a Career in Backend or Mobile Engineering: A New Graduate's Dilemma

Profile picture
Entry-Level Software Engineer at Taro Community6 months ago

I'm a 2023 new graduate working at a mid-sized software company that operates remotely. The company has a rotation program for new graduates, and my first rotation was with the backend team. After six months, I moved to the mobile team, and in another three months, I must decide whether to stay with the mobile team or return to the backend team.

Both teams have positive cultures, work-life balance, teammates, and managers. However, it seems the mobile team's manager faces more pressure from the leadership. The work I've done on both teams has been interesting, although the mobile projects were more challenging. This has forced me to think more about structure and patterns when writing code. It's clear the mobile team needs more engineers, while the backend team receives a steady influx of new graduates each year.

There were noticeable differences in the onboarding processes of each team. In the backend team, my tasks were intentionally organized, starting with simple tasks like deleting a few lines of code and gradually moving to small projects with pre-written design documents.

The mobile team gave me a series of official tutorials for the first two months. The tasks varied greatly in difficulty—some incredibly challenging and others relatively easy. I understand the difference, as the backend teams have more experience with new graduates, while the mobile team typically hires experienced engineers directly.

My decision pivots on whether I should pursue a career as a backend or mobile engineer. I am grateful for the rotation opportunity my company has provided, but I'm unsure about the next steps. What factors should I consider when making this decision? What kind of question should I ask my managers or help I can get from them for making a better decision?

119
2

Discussion

(2 comments)
  • 1
    Profile picture
    Founding ML Engineer @ Lancey (YC S22)
    6 months ago

    My 2 cents: as a new grad the "safer" option is one with more opportunity. and imo if you feel indifferent go with the safer option. If you're a backend engineer (I think, please correct if im wrong) its much easier to go to android compared to the other way (android to backend engineer).

    I say that because android is effectively a specialization of SWE -- like its a specialization of frontend SWE. Typically the bar for entry in specialized roles is going to be much higher and is generally something like (3yrs of SWE out of which 1-2 is mobile dev). You can always build mobile projects to get that experience. It's obviously possible to get back to backend from mobile but it's in my opinion tougher and as a SWE it's not ideal to have to switch around tech stacks. and if you've got 3 YoE of android a HM will favor someone who has 3 yrs of backend exp w/ springboot over someone with mobile experience.

    As a new grad in this market, staying where there are more jobs will be the safer bet. I'm sure the pool of jobs for mobile dev is much smaller than the pool of jobs for backend which is going to limit your opportunities/teams to strictly companies that have a mobile platform. Stuff like B2B SaaS will not be an option.

    This is based on my experience specializing in ML, I've never done android so take this with a grain of salt 😅

  • 1
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    6 months ago

    From what you've told me, the mobile team seems like the obvious choice:

    1. More pressure from leadership presumably means that the work is higher impact
    2. You have found the work to be more challenging, pushing you to develop deeper technical skills like architecture/system design earlier (great for junior engineers)
    3. Mobile team is lacking engineers, which means more scope for you

    This team will almost certainly be more stressful compared to the backend team, but it seems way better for growth. These kinds of teams are the ones earlier-in-career engineers should optimize for.

    That being said, the main thing to figure out is your personal enjoyment. If you naturally dislike mobile development, pivot out of it by all means. But if you find it fun, I think you should continue doing it.

    Sai is right that backend has more roles (backend is probably the biggest engineer group as it's so vast and due to general system design principles), but there's also more competition. Mobile has less roles but there's also less competition (especially on Android). I think it mostly balances out, and you should optimize for passion + the opportunities right in front of you.

    Mobile is also extremely powerful as it's easy to share and improve at in your spare time due to side projects: [Taro Top 10] Building Impressive Side Projects