Morning Routine
My alarm goes off at 6:45 am, though the long summer days in Vancouver usually wake me before it rings. A shower to start the day has become essential, especially in the colder months — it's often when I think through what I want to accomplish or solve a lingering problem from the day before. After a protein shake and some light chores, I'm out the door by 8:15 am.
I used to take the SkyTrain downtown as I have for the 15+ years I've worked in Vancouver's core, but I recently started driving. I found reasonably priced monthly parking near the office, and Slack's $100/month transportation subsidy offsets some of the cost. The 18 km (~12 miles) commute through light rush-hour traffic doesn't bother me.
At 9:00 am, I stop at Small Victory Bakery near Slack's Yaletown office. Slack covers coffee and tea there — I just order and show my badge. I get my extra-hot London Fog and head in, careful not to indulge in their croissants too often.
Getting Oriented
Once at my desk around 9:10, I open Slack to catch up on announcements, direct messages, and starred channels. From there, I check for GitHub pull requests that need my attention so I can unblock my fellow Android engineers. Plenty come my way since my name is in the git history of many files.
Mobile Engineering at Slack has changed significantly since I joined. When the Android team was a dozen engineers, we were centralized and worked across the full stack — data structures, design patterns, test requirements, and code style were all shared agreements. That let me learn every layer of the codebase intimately.
Fast-forward to today: the company is five times larger and the Android team three times bigger. Engineers are now embedded in pillar teams. I work on the Messaging team as a Product Engineer, leading Android Messaging efforts around how users compose, digest, and interact with messages. Over the years, I've been the primary developer on the Advanced Message Input composer with inline photo and file uploads, the Kotlin-and-RxJava message rendering pipeline, the Rich Text infrastructure for WYSIWYG messages, and the PowerPack testing infrastructure.
Mid-Morning Syncs
At 10:15, my team — frontend, backend, Android, iOS, a designer, a product manager, and an engineering manager — has a 15-minute stand-up. We're spread between Vancouver and San Francisco, so the Vancouver folks dial into Zoom. It's a quick check on what everyone is doing and a chance to call out anything team-wide, with some friendly candor to keep it light.
By 10:30, I'm in Android Studio. If a high-priority bug surfaced during stand-up, I open the Jira ticket for repro steps or logs and dig into the internal report or Zendesk ticket. We prioritize fixes aggressively, but we usually catch issues before users do via our daily dogfood release distributed through the Google Play Store to all employees.
With bugs cleared, I go heads-down on the latest Messaging feature work with my San Francisco counterparts. Splitting the work by UI and infrastructure from the start lets us move in lockstep without conflict. Design reviews happen before significant client changes, which helps us settle on an approach early.
Midday Work and Lunch
At 11:15, I often have a phone screen. The Android community is open and welcoming, and candidates frequently show the same passion. We hire across levels and value fresh ideas, while also investing in mentorship for those newer to mobile development.
Lunch is catered twice a week in the Vancouver office — curries, tacos, sandwiches, sushi, and more. On other days, I sit down with fellow engineers; someone always wants ramen. Lunch is a chance to socialize and catch up on what other teams face. The mobile engineers are especially close, and we talk about cross-functional Android topics: Kotlin adoption percentages, the RxJava2 migration, code modularization, and the Developer Experience team's work cutting Gradle build times.
Afternoon Meetings
Afternoons hold most of my scheduled meetings. One I look forward to is the Design Workshop. When a feature or infrastructure change affects other pillars, we write a Design Doc so stakeholders can raise considerations we may have missed. It leads to more future-proof designs and shows respect for everyone working in the same codebase.
The Android Principles group meets every other week to preserve the team's high-functioning culture as it grows. Topics include improving onboarding, spotting mentoring opportunities in code reviews, and building rapport. It matters to keep the work environment healthy, and the Android team is proactive about it.
Deep Work and Office Hours
At 2:00 pm, I alternate between writing code in Android Studio and hashing out requirements in Slack channels. The Vancouver office seats all mobile engineers together, so I sometimes turn around for a quick discussion on web socket connection states, channel sync background jobs, or file upload retry logic. Coordinating all those moving parts in a Slack client is rewarding on its own; making users more productive is the real motivation.
Three times a week I host Office Hours, which serve as a forum for fellow Android engineers to ask about implementation details or get feedback on a proposed change. It's a pattern used by several Staff-level engineers to minimize disruption during the day, and it doubles as mentoring — especially for engineers new to the codebase, regardless of seniority. Sometimes it's pair programming over a specific piece of code; other times it's brainstorming before someone writes a Design Doc. Noteworthy decisions get shared back in channel.
Winding Down
By 4:00, meetings are done and conversations have quieted down. This is my most productive stretch. With music on my noise-cancelling headphones, I finish the Jira tasks I set this morning. I keep daily goals modest to stay productive without frantic end-of-project pushes. Front-loading work extra early has served me well over the years; Slack's "work hard and go home" culture means I take ownership of my work and judge when the occasional extra hour is worth it.
6:00 pm
I close my MacBook Pro and head out, always carrying it with me so I can pivot to working from home if needed. Most days I don’t leave before 5:30 — the extra time spent in the office pays off by turning what’s normally a 45-minute commute into a 25-minute one once traffic clears. Back home, I make dinner and let the evening wind down.
The engineer behind the profile
Kevin is a Staff Software Engineer at Slack’s Vancouver office and has spent over eight years specializing in Android development there. He started on the centralized Android team and moved into Product Engineering after a reorganization, eventually becoming the lead on the Android Messaging team, where he owns the composer, message rendering pipeline, and Rich Text infrastructure.
Outside of work, Kevin cooks without recipes, goes to the movies, works out, socializes over coffee or tea, and enjoys sporty cars. He has since joined the Android App Infrastructure team, where his focus is helping product engineers ship features faster and more reliably — a role that aligns with his broader interest in making his colleagues’ work easier and delivering ongoing value to Slack users.



