I log on in the morning and look through my email. There are code review comments, document reviews, a few meeting invites. I look through my pull request from yesterday. I make the requested stylistic changes and merge to mainline. Now it’s off to production with no further human involvement. I know that if I’m curious where it is in the pipeline, I can always check slack. What makes me not care much is I know I’ll be alerted (via an @ ping in slack) if something breaks, and it will seamlessly roll back due to our automated tests and monitoring.

Looking at Jira, I see that that ticket is marked as complete by the automation and I’m ready to take on a new ticket. I pick up the next thing from the top of the backlog. I sketch out a rough implementation plan in my notes and come up with some tests for the acceptance criteria so I know when I’m done. Luckily, just in time for standup. We have a quick semi-synchronous standup in slack: what are you working on, what are you blocked by, and do you need a pair? I agree to pair with Shiela later this afternoon.

Back to my work, I write my first test and run my test suite. 500ms later, I see 1 failed of 2432 total tests. Success! I add in code to make that test pass. 500ms later, 2432 passed. Woo! I continue iterating and working through my acceptance criteria.

While working through my tests, a coworker pings me on slack. “Hey Justin. Do you know where we have a list of the upcoming roadmap items? I searched ‘roadmap’ on the team wiki, but couldn’t find it.” We’ve worked together a while, so they pre-empted my common question: “Where did you look before you asked, so I can be sure to update that with the answer”. I love a good documentation store because it keeps the whole team on even footing. I remembered we talked about it in a team meeting, so I found it in the notes. I linked it in the team wiki and shot them a link to where I updated it. “Refresh the page”, I tell them.

Where was I? A few milliseconds later, and I see I have a failing test. The perfect bookmark. By early afternoon, I’ve got a sensible start to this block of code. It’s functional and has unit tests, but isn’t quite ready for being shown in the UI to users. I surround the entrance to my code in a feature flag (defaulted to disabled) and submit it for code review.

I take this opportunity to look through slack, email and any other review requests folks have for me. I take notes about what went well in my day which I’ll bring up in our next retrospective, where we’ll dissect what worked, what didn’t and how we can improve. After a bit more work in the afternoon and a pairing session with Shiela, it’s time to spend time with the family. Another great day.