Day in the Life

A Day in the Life: Software Engineer

For our Day in the Life series, we look at the daily work habits, schedules and routines from people in a variety of roles and careers around the world.

Looking for your dream start-up role? Sign up for the latest career opportunities with The Nudge Group!

Faten Healy, Inside Solutions Engineer at GitHub

Faten Healy is an Inside Solutions Engineer at GitHub, working in collaboration with the APAC GitHub team, the developer community and enterprise customers. 

This year has been all about flexibility. With three kids under the age of six, and COVID-19 restrictions preventing us from having a nanny or grandparents around, my husband (Gavin) and I have had to find ways to share responsibilities.

A typical day usually starts with me waking up the kids to get them ready for school before my husband drops them off at school and childcare. He’s usually back by 8:45 am, which gives us an opportunity to have a small chat over a quick coffee (love my coffee!); and we begin our work from home routine. 

We have had to create space for two separate home offices; we tried to share a room but found it didn’t work out due to the conflicting calls we had during the day. 

Whilst it took some time to find a system that works for us, I am very pleased to have a career that is built on the spirit of collaboration, shared by the open source community. 

The very foundation of my role is to be across the latest technical updates and offerings that showcase the ways DevOps teams can work together better. 

So, whether I am hosting training sessions that are targeted at helping teams embrace security best practices or peering with sales teams on how we can customise offerings for clients, we are applying the very values DevOps teams live by every day. 

The best part of my job is the level of variety – No two days are the same. One day I might be talking to customers, helping the team internally with some technical training, preparing for a presentation, or attending or speaking at an event. 

On most days, my husband will pick up the kids, and I’ll take care of dinner. Luckily, the kids fall asleep by around 7:30 pm, leaving Gavin and I some time to relax and finish off some light work with the TV on in the background (Cobra Kai is our go-to at the moment). I also sometimes get the chance to connect with my colleagues from Europe.  

Evelyn Chan, Software Engineer at Square

Evelyn Chan is a Software Engineer at Square, a San Francisco-based financial services, merchant services aggregator, and mobile payment company founded by Jack Dorsey and Jim McKelvey.

A typical day for me consists of a mixture of coding, reviewing code, and talking about code, with a few meetings sprinkled in there.

At a glance, it sounds repetitive, but each of those pieces is so broad and presents unique challenges that I never find it boring. I also spend a lot of time brainstorming new product features, playing around with new tools, and reading about new, innovative technologies.

Here’s a recent workday I went through:

I wake up at 7AM and am out the door by 8AM. I listen to a podcast on my commute. I get into the office at 8:30AM, grab breakfast at our cafeteria, and review any open pull requests in the morning. (Pull requests require peer reviews to merge a piece of code into production).

I have a 15 minute stand-up meeting at 10AM with my team to discuss what we worked on the day prior, will be working on today, and if we have any blockers that prevent us from completing a task.

Afterwards, I grab my daily cup of coffee and get to coding. Our projects are broken down into tickets in a shared JIRA board. I pick a ticket off the board to work on and pair with a teammate on it. I go to lunch with my coworkers and we end up taking the full hour.

Afterwards, I wrap up the ticket, write a few tests, and make a pull request. As I wait, I pick an article off of my reading list about some new features in one of the tools we use.

Once it gets approved, I merge it, test it in our staging environment, and deploy it to production. I leave the office around 6PM and head home, finishing the rest of my podcast on the way back.

I’m training for a triathlon right now, so as soon as I get home, I change into my swimsuit and drive over to my local gym. I swim for about 30-40 minutes and grab a quick dinner afterwards.

On other days, I’ll attend networking/social events, grab drinks with friends/coworkers, or work on personal projects. Once I get back home, I wind down with a book and get ready for bed.

Marcus Wermuth, Engineering Manager at Buffer

Marcus Wermuth is the Engineering Manager at social media management software company Buffer, where he is helping to build the mobile team and strategy.

I wake up after at least 8 hours of sleep, normally that is around 7am but it depends when I go to sleep. I am very intentionally about this (read Why we Sleep – it changed my life).

Next thing is taking a shower and walking my dog. While I walk my dog I normally listen to an audiobook, mostly fiction, as I prefer to read non-fiction as I can take notes much easier.

After around 20 mins we are back home and it’s coffee time. I am a big coffee nerd so that time is very important, I usually brew a V60 in the morning, and the grinding sound and smell has become sort of a morning ritual.

At around 8am I have my oatmeal with coffee and start the day by catching up on things, Twitter, LinkedIn, email and other articles I wanted to check out. Until 12:30pm I have mostly heads down time, as most of team is in North America.

I answer requests, emails and document any new thoughts. After lunch at home, I spend the time either reading or doing something for my own personal brand: writing an article, working on my website, preparing a talk or similar things.

My afternoons from 3pm to 6:30pm are mostly filled with various calls, either one-to-ones with my team or other project and team meetings. After I am done with my last call, I use that to get out of the house again and catch some fresh air.

Once dinner is done, and it is a normal weekday we spend most of that time reading some kind of book. We just recently canceled Netflix and Amazon Prime to use more time together or read.

Paul Tune, Senior Machine Learning Engineer at Canva

Paul Tune is a Senior Machine Learning Engineer at graphic design software platform Canva, where he works as part of the subscription arm of the company, Canva Pro.

Working in a startup means that I’d have to take each day on its own.

I can describe a rough outline of a day however. Typically, I start the morning with exercise, which could be lifting weights, boxing or some HIIT-style cardio exercises. I’ve also been doing gymnastics with a personal trainer for about a year now.

After that, I’ll head for breakfast at Canva, which is graciously provided for staff, and chat to colleagues before starting work.

My mornings are usually (unless something more urgent appears) reserved for working on season goal projects: these are projects deemed important for the year’s quarter. Canva works in a seasonal cadence which spans (roughly) three months each.

For me, this would be a data science-based project, which includes quite a bit of the engineering and testing for the deployment of machine learning models, or the exploration of Canva’s massive datasets. I may have to work with the Data Engineering team, or discuss issues with the Data Analysts about the data we’re seeing.

My afternoons are reserved for meetings and other tasks such as reviewing code from my colleagues (called a pull request), polishing old code or, refactoring, in software engineering parlance, having product discussions with designers and product managers, and helping to answer a variety of data questions from stakeholders and engineers.

Towards the end of the season, I am involved in planning the next season’s goals.

Lately, I’ve also been involved in planning and staffing in order to grow the Data Science specialty at Canva. This would mean interfacing with my fellow colleagues in the same specialty, and educating Canva’s staff as a whole about what data science means and what kind of impact the field can have on Canva.

Mark Palfreeman, UI Engineer at Microsoft

Mark Palfreeman is a UI Engineer at Microsoft, currently working on developing a component library for the company’s online store and marketing websites.

Not too far from a cliché “day at the office.” It offers me the most freedom to spend time effectively with competing priorities. I’m married with two young kids, so it’s helpful to assist my wife especially around dinner and our kids’ bedtime. 

A typical day working from home looks something like this:

  • Morning: make coffee, read a book or exercise (when it’s warm outside), eat breakfast and shower
  • Work: check to-do list and calendar, work on my most essential/complex items in the morning
  • Lunch: eat as a family, play with kids
  • Work: code reviews, email, continue morning tasks
  • Dinner: help while my wife cooks, eat as a family, play with kids until their bedtime
  • Evening: clean up the house, wind down with a TV show, book, or game

Jeremiah Lee, Engineering Manager at InVision

Jeremiah Lee is an Engineering Manager at digital product design platform InVision, where he works with teams responsible for the company’s services infrastructure.

I am a night owl who needs 8–9 hours of sleep. I wake up whenever I naturally do, usually sometime between 8:30–9:00. I start my day by eating breakfast, reading The Daily Stoic by Ryan Holiday and Stephen Hanselman, and journaling for 5–15 minutes.

I live in Stockholm, but most of my coworkers are in North and South America. I shift my work schedule later to have 3 hours of overlap with California. For 1–2 hours after breakfast, I do “reactive” work (Slack messages, Jira/Confluence/Github mentions) and watch recordings or read summaries of meetings I was not able to attend. Then, I workout, clean up, and eat lunch. My biggest block of working hours is from 13:00–19:00.

I typically have 2–3 hours of focused work time and 3–4 hours of meetings every day, as is typical of a manager’s schedule. Overlap hours are precious and synchronous meetings need to be justified. The meetings in my day are with the team I manage, one-on-ones, department leadership discussions, scrum-of-scrums for ongoing projects, and hiring interviews.

The team I manage only has one or two required meetings every day depending on the day: our daily standup, sprint planning, sprint demo, epic review, and retrospective. We don’t really need the daily standup, but it’s an opportunity to connect with each other personally. 

Our asynchronous collaboration is so effective that it might be the only video chat someone has with a coworker in a day. There is something special about face time and I want to make sure people feel that connection at least once in a workday.

Asynchronous work means spending much time reading and writing. Project plans, status updates, scrum epics and user stories, pull request reviews, and even many decisions using the DACI framework are well-served by asynchronous processes. 

At InVision, Confluence is our source of truth for most knowledge, Jira is the source of truth for work definition and status, InVision Cloud is our source of truth for design, and GitHub is our source of truth for code. I spend most of my non-meeting time in these apps.

I try to spend 30 minutes every afternoon learning. This is my first role as a line manager and I spent much of this time in the last 2 years studying management. I recently started managing a team responsible for InVision’s Web service infrastructure. Much of my learning time recently has been studying Kubenetes, Amazon Web Services primitives, and dev-ops-related subjects.

Victoria Gonda, Android Engineer at Buffer

Victoria Gonda is an Android Engineer at social media management platform, Buffer, where she works remotely on the company’s Android applications.

I work remotely, and I try to follow as much of a routine as possible to keep my work and personal life separate.

After I get ready in the morning and water my plants, I sit down at my desk to get going for the day. Because my team members are across many time zones, I start my day with any more synchronous or blocking communication. This is when I schedule most of my meetings and respond to messages in tools like Slack and GitHub.

Once that’s out of the way and I know I’m not blocking anyone, I work on my heads down tasks, whether that’s coding, documenting, or planning. At some point in the afternoon, I usually close all communication tools for a time so I can be truly uninterrupted.

Right after lunch when my brain slows down for a short time, I do more of my asynchronous communication. This is usually longer-form discussions in Threads or Paper. Sometimes I take advantage of working from home to take a short nap during this slow part of the afternoon before I get back to my heads down work!

Pedro Carrasco, Senior iOS Software Engineer at Doist

Pedro Carrasco is a Senior iOS Software Engineer at Doist, the fully remote company behind productivity apps like Todoist and Twist.

My day starts when my body wants. Unless there’s a meeting early in the morning, I never set an alarm so my body can rest how much it needs without any interruption. 

This has proven to make my mornings more productive and I don’t feel as stressed at night as I felt before – you know that feeling when you’re going to sleep, you set the alarm and you think: “I’ve to fall asleep fast or I’ll just sleep X hours”? That’s stressful and this method completely eliminated it for me.

I’ll usually spend most of time coding with little breaks to break the routine and recover energy. This usually means eating, spending some time with my loved ones, playing some game, or simply browsing through the internet.

Once my work is done for the day, I’ll usually try to do 3 activities pre and post dinner:

  • Work on personal projects
  • Play some games alone or with friends
  • Be with my girlfriend

In a perfect day, I’ll be able to these three, but that doesn’t usually happen, which is completely fine as long as I spend some time with my counterpart.

Artur Piszek, Cognitive Engineer at Automattic

Artur Piszek is a Cognitive Engineer at Automattic, where he works on the Earn offering for, which provides tools to help transform websites into businesses.

My days tend to be quite varied. Both my wife and I work remotely for the same company, so we do travel a lot. We have an apartment in Warsaw, Poland, and whenever we are there, I aim to complete the following routine:

  • In the morning, I run, swim or do a bodyweight workout unless it’s a gym day.
  • Then I write a few words in my journal to get the nagging and distracting thoughts out of the way.
  • Sometimes I would do Wim Hoff breathing exercises to oxygenate.
  • The above three would take no longer than 1 hour total.
  • Ideally, I’d skip breakfast and start working right away. I am most productive in the morning, so I would try to write some code or prepare an internal document. It’s usually a blog post, because at Automattic, asynchronous communication is the default, and much of it happens on our internal blog system.
  • If it’s a gym day, I will go before lunch, because that’s when the gym is empty. I have an online coach from NerdFitness that helps me in my workout routine (it’s a lot of squats and deadlifts).
  • Just after the gym, I’d cook lunch for my wife and me. It’s usually a salad with a sauteed eggplant or something similar during the summer. Since winter is coming, we may want to change that menu. Working from home allows us to cook, but there is also a looming risk of the fridge being too close. I am a snacker.
  • Way too often, I find myself plagued by the post-lunch slump, so that is when I plan the busywork – for example, answering on Slack. I am in Europe, and my colleagues are mostly in the US, so all calls happen in my afternoon/evening.

That is, of course, an ideal day and rarely the reality. Sometimes I get into heated discussion first thing in the morning or skip a workout and then feel unfocused. But I hope to have more days like these.

When I travel, my schedule is naturally all out of whack. I try to do as much work as possible in the morning, to free up some time for sightseeing during the day. 

I can balance working and traveling pretty well right now, but staying healthy on the road is another matter – recently, I hired a remote fitness coach that sets my workouts.

Pamela Assogba, Systems Engineer at Vox Media

Pamela Assogba is a full stack developer, working as a systems engineer at Vox Media. She also runs a community called Color Coded and a small bakery called Madjé’s Cookies.

I will take you on a typical good day in my life:

6:00am – 8:00am: I wake up, brush my teeth, journal, and go for a workout usually at the gym or on my yoga mat.

8:00am-12:00pm: Work! As a systems engineer, I work with other developers and try to make their lives easier. My team sets up infrastructures that help their velocity and productivity.

I spend a good amount of time working on tools that I will implement in other team’s projects as well as helping out with general support questions (bugs, broken internal tools, etc.)

12:00pm-1:00pm: I’ll get lunch or go on a lunch walk. Depending on where I’m working that day, I may also be on my way back home.

1:00pm-5:00pm: More work! The latter half of the day is a little less organized because I am a textbook morning person. Alongside the work I’m supposed to be doing that day, you may find me browsing the old Youtube, especially if there’s a new Bon Appetit or Binging with Babish video.

5:00pm-8:00pm: I’ll work on whatever is on the to-do list for the side activities. It could be baking for the cookie business or planning things for the community.

8:00pm-10pm: I’ll do a fun activity before winding down for bed, like cooking, reading, or watching New Girl for the nth time.

Joe Birch, Senior Engineer II at Buffer

Joe Birch is an Android engineer, currently working as a Senior Engineer II at social media management company Buffer, on the mobile team, primarily Android. 

When it comes to my job, I do the typical 9am-5pm, but my actual day starts between 4:45- 5am. When I wake up I do some reading from a physical book whilst eating breakfast and having a coffee, this allows me to ease into the day without any screens. 

During this time I’ll also open up my bullet journal and set myself some goals for the day, this helps me to have control over what I want to achieve and stops me from getting carried away and trying to do too much. 

At around 6am I’ll either do some writing for a blog post or engage in some side-project work. Things are pretty quiet at this time, so it allows for some heads down engagement in my own things.

I do all of this downstairs so that I can keep out of my office, this helps to create a separation between work and my own things. I don’t catch up on emails or Slack until my work day starts. I believe it’s important to have a clear separation of this and it can be unhealthy to start checking on things outside of work hours.

When it gets to 9am I’ll switch into ‘work’ mode. I have quite a structured day so I’ll start off by checking my emails, slack messages and any other form of events that may have happened whilst I was offline. 

I’ll then check any pull requests from my colleagues – I like to do this first thing as it can unblock others and in-turn contribute to their productivity. If I do have calls, these will mostly happen in the morning – otherwise, I’ll get heads down in some of the tasks which I jotted down in my bullet journal.

When it gets to 12 o’clock, i’ll shut my laptop and head off for lunch. At this time I workout for 50 minutes every day, followed by having lunch. I tend to have Huel for my lunch, or something light – I’m not a big eater when it comes to lunch time. 

I return to work at around 1pm and usually set my Slack to either away or do not disturb. I find getting back from lunch I’m super refreshed and ready to crack on, so being in full focus mode can really help with my productivity.

My day usually finishes around 5-5:30PM and when it does, I quit slack (you can also sign out of your slack workspace if that helps) and I am out of work mode for the evening. 

Not only does this help me to switch off in the evening, but it will likely contribute to others’ in some way by me not being always-on and available – for example, helping to guide intuition. 

With tools like Slack and the instant-expectations that we are surrounded by, this always-on effect can be damaging for our well-being, long-term productivity and growth of not only us but possibly those around us too. I like to think that by being strict on myself here, I am contributing or inspiring others around me to do the same.

Whilst I get up early, I’m in bed between 9:00-9:30PM – this means I always get at least 7 ½ hours sleep. If there has been an event or for some reason I’ve needed to go to sleep later on the rare occasion, then my wake up time will reflect this – it’s not worth sacrificing sleep for an attempt of productivity, as it never usually works out that way!

Learn how the most successful leaders, artists, founders, executives, writers and athletes structure and manage their days. Sign up and stay up to date!

About Author

Hey there! I'm Hao, the Editor-in-Chief at Balance the Grind. We’re on a mission to showcase healthy work-life balance through interesting stories from people all over the world, in different careers and lifestyles.