In this guide
- The routine decision comes before the routine
- The SWE constraints that actually matter
- Full body vs upper-lower vs push-pull-legs
- How to pick based on your schedule
The routine decision comes before the routine
Most fitness content gives software engineers a gym routine without asking the first question: how many days can you actually train, and how stable is that schedule?
The best gym routine for a developer with a stable 4-day week is not the best routine for a developer on a rotating on-call schedule. Getting this decision wrong means building a plan that collapses the first time a sprint runs hot.
This post is the decision guide — how to pick the routine type based on your actual constraints. Once you have made the call, the complete workout plan for software engineers has the exact program with sets, reps, and progression rules.
The SWE constraints that actually matter
Software engineering has specific scheduling patterns that most fitness routines ignore. The three constraints that determine which routine works are: available training days, schedule stability, and energy timing.
Available training days: how many sessions per week can you realistically commit to, in an average week, including sprint weeks and on-call rotations? The answer is usually lower than the idealized version. Three is a reliable floor for most engineers. Four is possible for some. Six is optimistic for almost anyone with a demanding job.
Schedule stability: does your week look roughly the same every week, or does it vary based on sprint phase, on-call rotation, or release windows? High stability supports upper-lower or PPL splits where the plan depends on specific days. Low stability demands a full-body approach where any three non-consecutive days work.
Energy timing: technical work drains cognitive energy. Some engineers train best in the morning before the mental load accumulates; others find post-work training a decompression. Both can work, but morning training typically has higher completion rates because meetings and incidents cannot push it out. Whatever time you pick, it needs to be protected in the same way a recurring calendar block is protected.
Full body vs upper-lower vs push-pull-legs
The research on training frequency is clear: training each muscle group at least twice per week produces better hypertrophy than training it once per week. This single fact determines which splits are viable at which frequencies.
At three training days per week, the only way to hit each muscle twice is full-body training. Push-pull-legs at three days hits each muscle once — the research-backed inferior outcome. Upper-lower at three days hits each muscle 1.5 times on average (upper muscles get two upper days, lower muscles get one lower day, depending on how the week falls) — marginally better than PPL but still not the optimum.
At four training days, upper-lower becomes efficient: upper-lower-upper-lower or upper-lower-rest-upper-lower gives every muscle two sessions per week with reasonable volume per session.
At five or six days, PPL becomes viable — but this is where most developer schedules fall apart. Six-day commitments survive one calm week before an incident or launch kills the second lower day, and you end up with legs undertrained for two weeks.
How to pick based on your schedule
The honest framework: start with your worst week, not your best week. What would training look like during a production outage, a release weekend, or the last two weeks of a quarter? The routine that survives your worst week is the right routine.
If your worst week gives you three training sessions, use full-body. If it reliably gives you four, upper-lower is worth considering. If your worst week gives you fewer than three, start with two full-body sessions as your floor and build from there — consistency over frequency.
A secondary test: have you failed at a routine before? If you tried a PPL split and stopped after three weeks, the problem was almost certainly schedule fragility, not lack of motivation. Switching to a full-body plan with the same exercise quality but fewer sessions eliminates the scheduling dependency that caused the failure.
The 3-day full body default
For most software engineers, the default is three full-body days per week. Here is the abbreviated logic: three sessions, every muscle trained roughly twice, sessions in the 45-to-50-minute range, resilient when the sprint disrupts the week.
The exact program — Monday, Wednesday, Friday sessions with exercise selection, sets, reps, and progression — lives in the complete workout plan for software engineers. That post has the artifact; this one has the decision.
One scheduling note that makes a meaningful difference: name your sessions by number, not day. You are not failing because Tuesday got blown up — you are just moving Session 2 to Thursday. That small reframe removes the “missed day” label and keeps one calendar change from feeling like failure. mental model that causes restarts.
Movement outside the gym
Whichever routine type you pick, the gym routine is the anchor but not the complete picture. Sitting all day still needs a daily movement default.
Two walks is the minimum: one before the first deep-work block, one after the laptop closes. These two anchors add 20 to 30 minutes of daily movement and create work-rest boundaries. On non-training days, a midday walk fills the third slot. A walking pad during calls or shallow admin work adds movement without disrupting focus.
Muscle and progressive overload come from the gym routine. Fat loss and daily well-being are also shaped by what you do the other 22 hours. The routine handles the former; the daily movement defaults handle the latter.
More questions
I tried a routine before and quit. What was the problem?
For most developers, the failure mode is schedule fragility, not motivation. A PPL split or a four-day program works fine until the first sprint crunch, then collapses and triggers a restart cycle. Switching to a full-body three-day plan eliminates the day-specific dependencies that cause the fragility. The routine should survive your worst week, not just your best.