Get Hands-On Experience with BoxBoat's Cloud Native Academy
A Day in the Life of a BoxBoat Solutions Architect
by Forester Vosburgh | Thursday, Mar 4, 2021 | BoxBoat
Hello! My name is Forester Vosburgh and I'm a Solutions Architect here at BoxBoat. You may be wondering, “what does a Solutions Architect at BoxBoat actually do?” Now that I've worked with many different clients, I know that “Solutions Architect” really does mean a ton of different things, so I wanted to take some time to illustrate what you can expect to do here at BoxBoat. Similar to David's post, I'll run through a typical day for me.
7:00 am: I'm absolutely not a morning person, at all. However, I've found that taking some time in the morning to jumpstart my day really helps me work more effectively. I usually wake up around 7 am and take my dog on a 30-minute walk around the neighborhood. After I get back, I feed my dog (and cat), and make myself some breakfast and coffee.
8:00 am: As I'm eating breakfast and enjoying my coffee, I'll start prepping for my day. This usually means reading yesterdays emails, checking out my sprint board, and following up on any slack messages.
8:45 am: I start to plan out what work I intend to complete for the day. On a given day, I'll usually work on 1-3 tickets for my client while also juggling my responsibilities back at BoxBoat. I take 15 minutes to figure out what I have scheduled for the day and how I want to manage my time outside of meetings.
9:00 am: The day has started! At this point, most people are online and I will start working on my tickets. These tickets usually fall into one of a few categories: infrastructure as code development, Kubernetes deployment improvements, CI/CD pipeline enhancements, or helping to roadmap a product with client management.
If I've completed my tickets or am waiting to take on more work – like today which happens to be sprint boundary – I'll take a look at any outstanding pull requests and test them for my fellow engineers.
10:00 am: Sprint retrospective time! We've just completed one of the 2-week sprints in our scaled agile workflow. I come prepared to the meeting with thoughtful notes about what we could've improved on in the last sprint as well as notes on what I thought was very valuable in terms of process.
While we discuss failures and achievements of the last sprint, we start to talk about different experiments around workflow and pair programming to increase our velocity. I use my experiences of working with other clients to inform my suggestions and push hard to ensure that we adopt or test new processes that have real value to us. Eventually we start prioritizing tasks for our next 2-week sprint.
11:30 am: Sprint planning time! My current client is relatively new to implementing complex terraform deployments and are running up against the challenge of having to deploy to multiple environments (e.g., AWS, Azure, GCP, on-prem), and I notice that we aren't fully leveraging our CI/CD platform to help increase velocity.
After discussing the main stories to tackle for the sprint, I take the initiative and pitch to the team that we need to invest in paying down technical debt now rather than later. I've mentioned this a few times, and now most of the team agrees. After convincing the rest of the team, I'm tasked with putting together a presentation to convince upper management that this is worth the effort.
1:00 pm: Working remote is great! At this point I'm pretty wired up from my meetings and discussions, and it's time to start preparing for a full afternoon of hands-on-keyboard. I take a 45 minute lunch break to eat some leftover smoked chicken and broccoli salad and walk the pup again.
1:45 pm: Time for hands on keyboard! I've recently finished migrating my client from naked EC2 instances with RKE boostrapping to EKS. When my client team tested everything, a few minor bugs had popped up. I go ahead and squash these bugs and push up a catch-all PR to fix them.
I also start work on one of my bigger tickets for the sprint – hardening our EKS clusters. I take some time to create terraform modules for AWS VPC creation and mold it to our repositories and begin testing. There's a lot of nuance with our business requirements that impacts our networking constraints, so there's a lot I need to test and modify. I don't have enough time to implement the full VPC today, but I make some good headway.
Around 3pm, I start to draft my proposal for dedicating time to CI/CD improvements for my team. When you put together a presentation like this, you want to make sure that you include all of the pertinent information so management can make an informed decision. In this instance, “how will investing in CI/CD pipeline improvements impact the time and cost metrics for future software development?"
Based on my calculations, I estimate that we can save about 35% of the time (and cost) by improving the CI build when compared to the current process which relies on using local development machines (why wait for a Terraform destroy?). I add this to my proposal write-up, just in time for my next (and favorite!) meeting of the day.
4:00 pm: After a full day of client work, I have an hour long meeting with the entire BoxBoat engineering team. We've been running this weekly meeting since the company was founded, and we use it to make sure all of the engineers have a global view of what's happening with the company.
We go over our sales pipeline, the work happening at major clients, and have a general discussion amongst the team about various topics. Sometimes we debug engineering problems, and you can bet there are memes popping up in slack. It's a very lighthearted and relaxed meeting, and all of us BoxBoaters enjoy seeing and talking to each other.
5:45 pm: The engineering weekly call ended around 5, but I've got a few more things I want to tie up with my client work. I get my working branch to a state where it can deploy successfully – I'll handle ironing out bugs and writing documentation tomorrow.
I also review that proposal for my client's management about the CI/CD work and decide after a few edits that it's good to go. Before signing off for the day, I take a look at tomorrow's schedule and get some thoughts in my head about how I want to tackle the next day. After that, it's time to fire up the grill to make some dinner and enjoy a nice glass of scotch. It's great being a BoxBoat Solutions Architect!