December 21, 2020

A day in the life of a professional software engineer

Posted in Software at 00:05 by graham

If you’re a graduate interviewing for a software job and wondering what a typical day is like, here’s some notes from what I did last Tuesday. It was a pretty typical day.

First, as soon as I got to work I realized the night shift had set the linked list up backwards. Doh! I quickly went to the whiteboard to figure out how to reverse it. This won’t be a problem much longer as our team is switching to a double-ended linked list soon. We’re presenting to management about it next week.

I grabbed the first task from my work queue: One of our customers has a long string, and they need to find whether a smaller string is contained within it. This is our bread-and-butter as software engineers. I quickly coded up a Rabin-Karp search with a rolling hash, and had the answer for them by 10am.

Coffee, then task two: The QA team rejected the sort implementation I did last week. I’d written a basic Bubble Sort, and QA wanted to beat O(n2) for the average case. No problem, I switched to a Merge Sort and was done by lunchtime.

That reminded me that I hadn’t finished my Big O calculations for the design review later this week, so that was my first task after lunch. Junior engineers only do the ‘n’ part, but as a senior I do the constant as well. I have three more functions to calculate.

Greg, my colleague came over, he needed help balancing his tree. He’s using a Red-Black; those are tricky. After a quick consult with Dave our lead engineer, I helped Greg switch his design to an AVL. He has a lookup-intensive use case, so it’s a better match.

And that’s it, I headed for the bus station and home. But wait, my day wasn’t over! The bus driver’s watch was broken, and he needed to time 15 minutes. Luckily I had with me two ropes of varying density, both of which burn for exactly one hour…

Discuss on reddit


  1. Boris Kogan said,

    September 3, 2021 at 15:14

    This is hilarious. As someone who has to rebalance red black trees every day, I also got a useful tip out of it!

  2. Matt said,

    September 2, 2021 at 21:34

    I read this at least once per month and laugh out loud the whole team reading it without exception. 👏

  3. Thogek said,

    June 23, 2021 at 20:00

    LOL. Well, we get what we interview for, right? Nicely illustrated. 👍

  4. Tarvin Callas said,

    June 23, 2021 at 17:23

    I am a programmer and when I first read it I feel really stupid because I don’t understand half of the words. Then I realized that it’s a satire. Thank you for making me feel stupid. 😂

  5. Nisha said,

    June 23, 2021 at 01:59

    Lucky you Graham for having easy life, I am designing Nexflix, implementing Tarjan’s algorithm and showing good behaviour all in one day. bwahaha ;-)

  6. ion said,

    June 22, 2021 at 20:23

    and this folks is what we call idiot programmers – those implementing linked lists, string searches and sorting when there are so many libs out there doing it for you.

  7. Shane said,

    June 22, 2021 at 12:13


  8. jde said,

    June 22, 2021 at 10:22

    My manager made me eat lunch in o(log n) time and now my tummy hurts. :(

  9. Baz said,

    June 22, 2021 at 09:42

    This made me actually lol. Hat tip sir.

    20 years in dev and haven’t seen some of those words since college. You of course are correct, most interviewers are lazy pricks.

    I’ve come up with the interview questions in our workplace for devs and most are basically “What steps would you take if X happened” or “How would you go about doing Y”, and “What is your approach to documentation”, nice open ended questions where you get a feel for the candidate.

  10. Alisher said,

    June 22, 2021 at 08:05

    Too many algorithms at a day of work. Do you code algorithms every day and not doing anything else?

  11. Ewan said,

    June 22, 2021 at 07:57

    Not sure whether to laugh or cry – so I’ll do both. Thanks for the laugh :)

  12. Garvert McClown said,

    June 22, 2021 at 03:39

    Man, I can’t wait till I’m a senior, I’m am intern so I just reverse strings that the silly content writers wrote backwards on accident

  13. Carlos said,

    June 22, 2021 at 01:17

    My novice butt doesn’t get it.

  14. Christopher Kline said,

    June 21, 2021 at 23:51

    But wait. How did you do the 15 minutes problem? Don’t worry, take as much time as you need. I will go get some coffee. Just pop your head out and let me know when you are done.

  15. Steven Woolgar said,

    June 21, 2021 at 20:01

    Thank you! I almost pee’d my old man pants reading this.

  16. Paul said,

    June 19, 2021 at 23:36

    This is brilliant! It takes years of experience followed by a single job interview to get the point.

Leave a Comment

Note: Your comment will only appear on the site once I approve it manually. This can take a day or two. Thanks for taking the time to comment.