Backend (distributed systems) vs Low-Level Systems (C++)

Profile picture
Mid-Level Software Engineer [SDE 2] at Amazon2 months ago


Backend: Distributed Systems, scalable applications, fault tolerant systems, control plane applications, API development, uses higher-level languages like Java/Python.

Low-Level: Database Internals (Query Optimization, Transaction processing, Data/Storage engines), Compilers, GPUs, latency sensitive software, accelerators. Usually C/C++.

Which is better for long-term career growth and compensation?

1 Comment


(1 comment)
  • Profile picture
    Tech Lead/Manager at Meta, Pinterest, Kosei
    2 months ago

    Here is my (non-answer) to your question 😅

    The way you would answer "Which domain is better for long-term career growth and compensation" is to look at things like:

    • Projected # of job openings
    • Average compensation for these roles
    • Ability to transfer to other domains in the future

    In my opinion, these are the wrong questions to ask when deciding a career direction.

    Since you're on Taro, you're ambitious, career-oriented, and a fast learner. Your should aim to be in the top 10% of the field, not to be average. Any of the stats you find online will bias toward avg data points, things like:

    • "The average software engineer in the US makes $62K/year" -- this is not very motivating, I'd like to make much more money than this
    • "There will be 190,000 software job openings in the next 5 years" -- this stat is pretty useless for me

    Instead of trying to work backward from whether backend or low-level systems are better, work forward from promising situations.

    • Do you have mentorship from a database expert? Work with her and see where your career takes you.
    • Do you have an idea for a side project around GPUs? Pursue that and start finding collaborators on GitHub.

    The people will the most successful careers benefit from outlier events or people. A company, project, or relationship that becomes transformative for their careers. Focus your energy on putting yourself in that position rather than trying to big-brain which domain will be hotter in 5 years.