23

How to achieve career longevity?

Profile picture
Senior Software Engineer at Taro Communitya year ago

I've had 5+ friends leave Meta or quit software engineering altogether after E6. Either the responsibilities and stress were too much or what they were being asked to work on wasn't really aligned with their core interests. Business needs are always changing, so it can be a common occurrence to take a lot of ownership over a project you don't have personal interest in.

It's important to be adaptable, but I think intrinsic motivation can be hard to sustain if the people, project, or priorities are in flux.

For the older crowd, what really typifies career longevity in a software engineering?

4.1K
5

Discussion

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

    L6+ (i.e. Staff+) at Big Tech is just really stressful, and Meta is one of the more stressful companies out there unfortunately. I know a couple Meta E6s who left to become L5, purposefully down-leveling themselves. In general, I know many engineers who purposefully stayed at L5. The amount of impact necessary to sustain L6 and above is just staggering, and it's unfortunately not completely in your control.

    For the older crowd, what really typifies career longevity in a software engineering?

    I don't think I qualify for "the older crowd" yet, but for me, it's a mix of:

    1. Working with people who aren't jerks and are warm and supportive
    2. Not settling for mediocre engineering managers (of which there are many)
    3. Fiercely protecting work-life balance and setting strict boundaries between the 2
    4. Not caring as much about level and total compensation
    5. Putting in the meta-effort to find something you genuinely love and working on that
    6. Be extremely selective about the teams you go to in general
    7. Understand that careers are long and don't be in a "rush" to accomplish anything - Learn how to be patient and chill

    I have seen engineers fail time and time again at these. It's ironic as if you mess up at #4 in particular (i.e. you obsess over title and money), the other points tend to break as well and you weirdly end up with pretty bad career growth.

    I'm really not a career gamer (e.g. when I went to Meta, I literally didn't interview at any other companies to get competing offers). I've never super-consciously thought about level or title; I just sort of naively went to places where I thought the people there were cool and I could build cool stuff. And when I wasn't able to build enough cool stuff at work, I would build cool stuff outside of work (i.e. my side projects). Despite all this, my career progression (and my compensation progression) has been faster than most (in 2021, my income was pretty close to being in the top 1% of California earners).

    I cover more of all this across these:

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

    One confounding variable here that may explain why so many people in tech quit early: they make a lot more money.

    Money gives you optionality, the ability to say "F you" (probably in nicer terms...) and just quit. So if you've been an E6 Staff Engineer for a while (5-10 years) at a top tech company, there's a good chance you never need to work again. This leads to tech employees quitting or exploring other career paths (angel investing, real estate, etc).

    Contrast this to other industries, where the employees have to put up with monotonous work or poor working conditions, simply because they need the paycheck.

  • 14
    Profile picture
    Senior Software Engineer [5A] at Uber
    a year ago

    I've been in engineering for more than a decade and I am still working on the exact same technology that I have since the beginning of my career (Android). I arguably have a pretty bad WLB but I'm still alive for whatever reason. I disagree with Alex about this point because there is no shortage of engineers willing to work twice as hard as you to kick your ass.

    I'll be very specific with the reasoning.

    At any rate, let's work backwards; what qualities would you need to have 10 years ago that would allow you to be relevant today?

    • Picking the right technology/language and sticking with it. I got very lucky on this one but it was also expected. Smartphones were widely becoming adopted and users couldn't live without it. So Android was a natural interest for me.

    You will find this knowledge will compound over time if you stick with it while everyone else is jumping in and out, desperate to catch up. That historical context will help you immensely.

    • Focus on the fundamentals. I never tried to learn every little component that Android offered. Just roughly how the OS and SDK work and its quirks. Over time, the biggest gotchas came out and they would come out repeatedly. A good example of this is Samsung: they always modify the OS and rewrite their system + bundled apps, creating large headaches and random crashes we can't diagnose. But it is our responsibility to deal with it.

    Technologies change but best practices rarely do.

    • Efficiency. Efficiency. Efficiency. Fail fast and focus on the code velocity. Optimize your workflow and have a good understanding of where you can shorten feedback cycles in any project or workflow. One of the most under-rated tools is being able to commit things to branch, push it up to a WIP commit, and write a note about what you did to save for future prosperity. Your knowledge will compound as well and you can share your code and findings with others in a way that doesn't involve blocking meetings in your calendar.
    • Be surrounded by people who you admire. It is easy to learn from people you like and want to learn from. Clone their methods and thinking and adopt them as your own. Nobody is smart enough to do everything from scratch. But you can copy the hard fought lessons and insights of your peers and avoid a lot of headache.
    • Always keep reading and applying new ideas. One idea I stole was from George Soros where he treated financial markets as a lab to test his ideas about the world. Each trade was a sample data he used to validate or invalidate his hypothesis. This all culminated in his theory of reflexivity of markets (a VERY useful idea that is directly related to feedback loops) which he used to break the Bank of England in an epic battle that levered his entire fund on a single trade. I use my work process and codebase as a lab to test my ideas of how code works, how it ought to work, why certain things came to be, and so on. Codebases and practices change and so should you.
  • 10
    Profile picture
    Senior Software Engineer [5A] at Uber
    a year ago

    Not sure about "fu money" is attainable as a Staff Engineer though without holding a lot of the stock and it compounding at 30% year over year (which cannot happen forever). There is only 1 engineer I know who is Staff+ who is in VC/Angel investing but that is only because he had a buyout in a previous job.

    IMHO FU money starts at $10M. Not even $3M is FU.

    • 1
      Profile picture
      E6 Tech Lead in Meta Integrity Team
      8 months ago

      I agree with with you @Edbert Chang!

      Startups offer a unique blend of innovation, flexibility, and the exhilaration of building something from the ground up. However, they often operate within a framework of financial uncertainty and resource constraints, which can make the prospect of long-term stability and substantial financial reward less certain compared to established corporations.

      In an era where living costs and inflation are on the rise, the allure of corporations becomes more pronounced. Corporations, with their established infrastructure, often offer more than just a stable paycheck. They provide comprehensive benefits, career advancement opportunities, and the security that comes from their established market presence and financial robustness. Especially with more family obligations and kids.

      For many individuals, especially those with families or long-term financial goals, the stability and benefits offered by corporations can outweigh the potential, yet less guaranteed, rewards of a startup exit. In essence, while startups may promise the dream of rapid growth and significant payouts, corporations offer the reality of steady growth, stability, and a structured path for personal and professional development. If companies like Meta are too much burn out Rahul and Alex could go to Microsoft or something laid back with work life balance instead. The salary will be twice lower, but they could work on the startups or do bunch of hobbies on the side.

      Hence, the decision to return to corporations, or similar entities, might not solely hinge on financial necessity but also on seeking a balance between innovation and stability, especially in unpredictable economic times.