A day in the life of a software engineer
No standup drama, no 10x productivity hacks — just what an ordinary Tuesday actually looks like.
- #journal
- #life
I keep seeing “day in my life” videos where someone wakes up at 5am, does yoga on a rooftop, and closes three pull requests before breakfast. That is not this. This is what a Tuesday actually looked like.
07:40 — Alarm goes off. I lie there for ten minutes scrolling through notifications instead of getting up, which defeats the purpose of the alarm entirely. Coffee, then I open my laptop before I’ve fully decided to be awake, which is a bad habit I’ve had since university.
08:15 — First real look at Slack. Overnight, a teammate in a different timezone left a comment on my PR asking why I chose a Map over a plain object for a lookup table that has maybe twelve entries. Reasonable question. I didn’t have a great answer beyond “it felt right,” so I go dig up the actual reason — iteration order guarantees — and leave a comment that’s more useful than my original commit message.
09:00 — Standup. Fifteen minutes, three people, no drama. I say I’m still working on the export feature. I have been “still working on” the export feature for two days, which is accurate but sounds worse out loud than it feels in practice — most of that time was spent understanding why the CSV output was silently dropping a column, which turned out to be a header row mismatch three functions upstream.
09:30 – 12:00 — This is the actual work block, and it’s quieter than people expect. No music with lyrics, one tab of documentation, one tab of the code. I find the bug from yesterday — an off-by-one in a pagination offset that only shows up when the page size divides evenly into the total count, which is exactly the kind of bug that survives code review because it looks correct at a glance. Fixed, tested, small PR up before lunch.
13:00 — Post-lunch is when my brain is worst at anything requiring novel thought, so I use it for review instead. I read through two PRs from teammates. One I approve outright. The other has a subtle problem — a retry loop with no backoff — and I try to phrase the comment so it reads as a question rather than a correction, because it usually is one.
14:00 – 17:00 — Back into the export feature. This is the unglamorous middle of a task: the core logic works, and now it’s edge cases. Empty datasets. Special characters in fields that need escaping. A user with no email on file. None of this is intellectually hard, but all of it is necessary, and skipping it is how you end up with a bug report three weeks from now that starts with “so this is weird.”
17:30 — I write down tomorrow’s first task before closing the laptop, because future-me at 8am is not to be trusted with prioritization. Tonight is dinner, twenty minutes of a completely unrelated book, and being medium-tired in a way that feels earned rather than draining.
Nothing here would make an interesting highlight reel. But most days aren’t the ones where you ship the big feature — they’re the ones where you fix the pagination bug, write the slightly-too-honest standup update, and leave the codebase a little more understandable than you found it. That’s most of the job, and I’ve stopped feeling like I need it to be more than that.