64

Is it possible to do well at a SWE job working less than 40 hours a week?

Profile picture
Entry-Level Software Engineer [SEP] at JPMorgan Chase2 years ago

Sometimes I feel like I didn't get 40 hours "worth" of productivity after a week, and it didn't make sense to physically spend 40 hours working that week. Is it possible to succeed as a software engineer working less than the traditional 40 hours? I imagine it requires being able to get the work done faster - What are some techniques to do that?

8.3K
2

Discussion

(2 comments)
  • 93
    Profile picture
    Robinhood, Meta, Course Hero, PayPal
    2 years ago

    The answer is "yes", but there's many caveats here. The 2 broad axes are:

    1. Company
    2. Your own skills

    I was able to work a little less than 40 hours a week at Meta after covid hit and still do well, and I mostly worked a good amount less than 40 hours a week back at Robinhood as a tech lead and also did well. I'll break that down more below, primarily in the skills section. The caveat with the skills is that they're more applicable for senior engineers, but I think the overall mentality is still relevant at any level.

    Company

    • Some companies equate work with raw hours spent, and this is very much the case at more traditional, older companies. The most extreme manifestation of this is making a software engineer hourly instead of truly salaried, which was the case back when I was at PayPal as an SE1: I filled out a timecard every 2 weeks stating that I worked 80 hours. It is very hard to work less than 40 hours at these companies, and unfortunately, a lot of companies are like this.
    • This means that in order to work less than 40 hours a week, you either need a company that explicitly doesn't expect that of you (these are the more "chill" companies that heavily prioritize WLB) or a company that's more modern and values impact over raw hours spent.
    • For the more "chill" companies, the failure mode is that they move really slow and simply don't have enough work for you to do 40 hours a week. This leads to poor personal growth for you.
    • For the companies that prioritize impact, they often times just expect so much of it that you need to work 40+ hours a week anyways. This is the case for most engineers at Meta I feel.

    Skills

    • Prioritization: If you work at a high-performance tech company, you're going to always have a million things on your plate. It's very easy to feel pressured to do all of them ASAP, and this is often the case for earlier-in-career engineers. I made this mistake myself during my career, especially at Meta. When I went to Robinhood, I had a much more relaxed mentality as I wanted better WLB. I always had a bunch of ideas on projects I could work on, but I would aggressively only do around 40% of them, prioritizing ones that were urgent + high-impact.
    • Working through others: This is the next core pillar I relied on to work less hours, and this is a staple of every tech lead. By taking the time to mentor other engineers, you can start scaling yourself and handing off pieces of your work to others. The more your mentees trust you, the more eager they are to take things off your plate - This is why I invested so much of my time getting better at mentorship across my career.
    • "Overshooting" your level: You want to be in a place where even if you only give 80% effort, you are still solidly meeting expectations at your level. There are so many ways you won't be able to function at 100% for a while: Health issues, personal problems, and much more. So if you're gunning for a promotion, try to get there without overworking. This means that when you get promoted, you have probably "overshot" a little bit - You are already functioning at 10-25% above this level. If you need to get promoted by working 40-50 hour weeks every week, that's not a stable promo, and it will be very hard to scale down from 40 hours a week and still survive.
    • Side projects: This is the least applicable and hardest to do, but if you can make it work for you, it's a productivity gold mine. So instead of doing 40+ hours of work a week to get better at coding, you do coding after work via side projects. I did this a lot, and this made my Android coding velocity extremely high. However, YMMV with this - It's definitely easier with front-end and with smaller companies (like Course Hero) where the code of your side projects is similar to your code at work.

    Related resources:

  • 28
    Profile picture
    Staff Software Engineer @ DoorDash, ex-FB, ex-Klaviyo
    2 years ago

    Alex already answered this really well. I will just add one extra point

    You need to take a step back and better define what you mean by "do well". If the goal is to get good ratings and become a productive, reliable engineer on the team, absolutely (especially in a health working environment)

    If your ambition is to learn as much as you can, quickly become a domain expert in some area and establish yourself as the expert of several areas, then no.

    Be honest with your ambitions and choose accordingly.