My two young kids come in waking me up, presenting me with iPads in the hopes of a quick game of Minecraft before school. I sometimes give in as it might mean a few more minutes sleep!
It’s time for the first of many oat flat whites — or oat flatties as we Aussies like to call them — for my partner and I.
07:01 AM – 08:30 AM
Complete chaos ensues as we pack lunchboxes and backpacks and ask the children a million times to get dressed and put on their shoes until we finally burst out the door to head to preschool/school. It’s a quick five minute walk for us up a hill to my son’s primary school. We live in an inner-city neighbourhood of Sydney but it’s still quiet and leafy, and we walk past trees filled with rainbow lorikeets and bushes with lots of ladybugs that we sometimes stop to count, if we have time. We often run into our neighbours on the walk up, so it’s a nice social event.
Laptop is open and it’s game on. Morning time for the Australia-based team is busy. The Cloud team at Slack is unusual in that it has half the team based in Australia and half in North America. This works well for our team in that we have more coverage of our systems and services across timezones, but it can make synchronous meetings tricky, particularly in the North American summer when no daylight savings is in place. I was the first engineering hire in Australia outside of Melbourne, but since the pandemic the team has spread out around the country a little more. Our teammates in North America are based all over Canada and the USA. Initially I didn’t know Slack had a presence in Australia, and when I found out I was really excited to apply for this job. There’s not that many big tech companies with engineering presences in Australia, so working on this team at Slack is a really unique experience.
The overlap time we get with each other is just a couple of hours so we try to make it count. Today there is a Cloud Infra Weekly Meeting where everyone across our three Cloud teams (Foundations, VM, and Containers) sync up and go over any incidents in the past week, talk about any relevant news or upcoming production changes everyone should be aware of, and just generally catch up on things. It’s a good chance to hear what’s going on in the other two teams (I’m in the VM team) and any company-wide news I may have missed out on.
With the morning meeting done, I now try to catch up on my project channels in Slack. I can attest that our team is really good at asynchronous communication — as we should be working for Slack — so it’s easy to follow what’s gone on during my night (North American day time) by reading through unread messages in-channel. I’ll check my @-mentions too and respond to anything that needs my attention.
Now is the time to ask any questions and have any of those synchronous conversations I need to have before North America finishes up their day, so I make sure to prioritise any of that kind of work.
Phew, it’s time to take a breath. The morning rush is over and now I can switch to coding flow time. I am working on a greenfield project written in Go which bootstraps our AWS EC2 instances at provisioning time. It’s a really fun project to work on. I love writing Go and our team is doing a good job of trying to make sure it’s a clean, idiomatic codebase with lots of tests. This was one of the downfalls of the system this one is replacing, that it was not tested very well and everyone felt a bit nervous making changes. It’s nice to throw on the headphones and get stuck into some code.
Oh woops, I guess I should eat. Time for some lunch! My fav place makes this Tofu Vermicelli Salad with hot sauce, so I’ll walk up and grab some and maybe sit in the park to eat it. Sometimes I do a little walk around my neighbourhood as exercise during lunch; it’s on the Sydney harbour, so has pretty views of the Harbour Bridge and the CBD, and is full of beautiful old houses. I like to just wander around and take it all in.
Back to work and more coding time. I’ll check out our code reviews channel for anything that needs attention. Our team’s workflow is to share the URL to a pull request in a channel and ask for review. I like that as you don’t need to rely on email notification from GitHub; you can just check your unread messages in the channel. My teammates try to provide timely and helpful code review comments and take care to provide any feedback in a considered way. I appreciate this, as sometimes tone can be hard to get across correctly in text.
I keep a lot of notes during my work day: helpful commands I run on linux boxes, workflow steps, anything that will make me more efficient in the future. I write my notes in Markdown in an app called Bear which syncs across all my devices.
It’s school pick up time, and a lot of my teammates have families. During this time we’ll throw a message in our shared channel to say we are doing a school run. Working for a team and company that allows this kind of flexibility is beyond fantastic. It’s really nice to be able to just pop up to my kids school, pick him up, and then log back onto work.
It’s awesome living so close to the school as these little trips don’t take long. My team and I might do some ad hoc huddles to talk through any technical issues or architectural questions we have as we build this new service in Go. Huddles make quick get togethers really frictionless, and we use them a lot on our team.
I’ve actually got some Terraform changes to make now. This is one of my favourite things about working on the Cloud team: the variety. I can go from writing some Go code, to fixing AWS IAM issues, to spinning up Kubernetes clusters, all in one day.
I’m wrapping things up now. I make sure to post any messages I need to for my North American teammates, so they see them for their morning. This is really important to keeping the flow of our projects moving along nicely. I do think our team does a good job of this, and of course Slack is the best tool for this kind of thing! At the end of my day I’ll write a little daily summary of what I did and so do my teammates; it’s a good way to see what folks are working on.
Family time! Now it’s time to hang with my kids. They go through phases of what they are into, but at the moment we are all learning to play a board game called Catan Junior. It’s still a little too old for them, and the littlest gets bored halfway through and is more concerned with stacking the cards neatly than playing, but it’s a nice way to spend time together. We will play a game of this and maybe do a puzzle. Then the kids will play together whilst we organize some dinner.
Bedtime for the kids. We usually talk about what our “Good thing of the day” and “Bad thing of the day” was. This is a nice routine we’ve gotten used to, and a nice way to have a little 1:1 time with each child before they go to sleep.
If I feel I have the energy I might use my evening to do some sewing. Sewing clothes is a hobby I’ve had for about three years now. I find it to be a really nice creative outlet and it’s fun to get a piece of clothing to wear at the end of it! I’m working on a more involved project right now, a blazer. I’ll read the pattern instructions and sew away.
OK I should head to bed now and try to wind down. I may read some of my book or watch Tik Tok :D
Hi, it’s Georgi here and I’m a Senior Cloud Engineer at Slack. I’ve been working within the Cloud team for about 1.5 years now and come from a long history of working as a backend engineer on various distributed systems. The irony of this blog post is that I have just last week transferred from Sydney Australia to NYC, USA! The wonderful thing is that I am still a member of the same Cloud team. Our global presence is truly one of the best things about working both at Slack and in the Cloud team — it’s pretty awesome how I can travel so far around the world and yet still keep working on the same projects and with the same teammates! Look out for a Day in the Life blog post from NYC soon :)
Life at Slack
In our “Day in the Life” series, we hear from Slack Engineers in different offices and specializations to learn more about what a typical day looks like. We previously heard from a Frontend Foundations engineer, a Mobile Product engineer, a Backend Product engineer, a Frontend Product engineer, and a Backend Foundation engineer.
We're hiring Cloud Engineers across the US and Australia. If you liked this Day in the Life post, come work with us! Apply now