Taro Logo

E5: Should I be full-stack (iOS + backend) or just stick with iOS?

Profile picture
Anonymous User at Taro Communitya year ago

I worked on backend for 10+ years and was a Tech Lead before switching to iOS for the last 10+ years. I was offered an E6 position at a Big Tech company, but I asked to be down-leveled to E5 due to imposter syndrome since I mostly worked at smaller startups and didn't know what to expect. When Leadership later found out that I have backend experience, they started pushing me to do backend. Is it easier to get to E6 doing only iOS or doing both iOS and backend? I'm much faster coding iOS than backend since I know the Xcode shortcuts, a lot has changed in backend over the past decade (e.g., AWS, Kubernetes, etc.), etc.



(1 comment)
  • 4
    Profile picture
    Robinhood, Meta, Course Hero, PayPal
    a year ago

    Is it easier to get to E6 doing only iOS or doing both iOS and backend?

    Since a lot of getting to Staff is filling in the gaps, it really depends on the needs of your team and organization. Here are some thoughts on both sides:

    Being Full-Stack

    • I have seen many engineers reach E6 at Meta doing this "code machine" style as it makes projects easier to spin up. Instead of needing 3 engineers across iOS, Android, and back-end, an effort would only need 2 in your scenario (i.e. just pair you with an Android engineer). This allows the team to try more things with less headcount.
    • Teams will often run into a lack of resources on a certain stack (I actually remember a time when my team at IG ads was really lacking back-end devs). By hybridizing, this allows you to act as a "swiss army knife" to cover these holes.
    • However, in order to get E6 credit, the code quality has to stay high. There's no point stretching you across iOS and back-end if code quality becomes poor on one or both of them - That will just incur thrash later on in the project. This is why this full-stack "code machine" path is often difficult, and most engineers can't achieve it.

    Staying iOS Only

    • In general, I recommend depth over breadth. I have mainly focused on Android and mobile overall for 9 years, and I feel like there's a ton of depth in this space. I'm sure you can find new things to get better at with iOS, especially on the infra side.
    • There's also a lot of work that can be done on the mobile client only - Not every change needs to be full-stack. I remember there was an extremely talented iOS engineer back at Instagram who was very good at prototyping iOS-only experiments quickly and got promoted to E6 all the way from E3 super fast. If you can do the same, you can add a lot of value by being an iOS-only "code machine".
    • If your team already has a healthy suite of back-end engineers, there's likely not a ton of value added by also doing back-end, especially if the team's iOS bench isn't as robust.

    I hope these thoughts are helpful for your situation. I recommend talking to your manager and surveying the team to see where the gaps are: From there, figure out the best path to uplift the team and tailor your behavior accordingly. That's what I would expect from a strong E6.