Return to Resources

A Day in the Life of a Principal Software Developer: Kade Robertson

Jun 28, 2024

7 min read

By: Nikki Padda

Have you ever wondered what goes on behind the scenes in the world of a software developer? How do developers bring spatial data and floorplans to life and transform them into interactive 3D maps? How do developers create seamless wayfinding applications for all types of businesses that guide visitors through complex spaces?

We interviewed our very own Kade Robertson, a Principal Software Developer at Mappedin, to find out.

How would you best describe your role?

As a Principal Software Developer, I hold an individual contributor role with a significant focus on development. My responsibilities include making broader strategic decisions rather than just handling development tickets. I now focus on big-picture and architectural decisions to enhance the overall development experience. In practice, this includes identifying and managing technical debt, looking for opportunities to improve the base technologies in use across our customers' solutions, and finding ways to improve the developer experience for the team I work with.

What does your typical workday look like?

Morning: I start around 8:00 am by catching up on any code reviews or changes submitted after I signed off the previous day. I also check to see if any new pull requests need reviewing and approval. At 10:00 am, we have our standup meeting and the rest of the day is focused on development tasks. I generally stay in Slack huddles throughout the day with my team, allowing anyone to bring up issues they need feedback on or are stuck with.

Afternoon: Depending on the day, I also dedicate my time to researching. I like to limit the number of meetings throughout the day to ensure I have enough capacity to investigate the numerous dev tasks and requests that come through.

What is your go-to lunch?

I usually skip lunch! I like to get an extra coffee and small snack in the afternoon.

Can you tell me about your career path and what steps you took to become a Principal Software Developer at Mappedin?

It’s been quite the journey at Mappedin so far! I started my career as a University of Waterloo co-op student where I studied Computer Science and my first job at Mappedin was a Junior Developer role on the Integrations team. After about a year, I transitioned to the Prebuilt team, working on the previous generation of our Web and Directory products. Approximately six months later, I became a Team Lead for that team. A year and a half later, I returned as an individual contributor as a Senior Developer, again for the same team and advanced to a Staff Software Developer. A year after that, I briefly joined the Core Services team before moving to the new Map Subscriptions team to work on the latest Mappedin tooling. At the start of 2024, I was promoted to Principal Developer.

How do you stay current with the latest trends in software development and technology?

I frequently visit Hacker News, Reddit, and various programming and tech forums to stay informed on the latest trends. I also follow blogs from individual developers and large projects where they utilize tech stacks related to what I work on. By gathering insights from these diverse sources, not only do I stay current with the latest developments but it allows me to effectively manage technical debt. I’ve made it a habit to check these resources every day. 

What exciting new technologies or trends do you see impacting the future of indoor mapping and navigation?

Two topics we’re discussing a lot are the use of LiDAR sensors on iPhones for room scanning and the potential of augmented reality (AR). LiDAR sensors allow anyone, even without mapping experience, to scan a space and automatically import its geometry. From there, it’s just a few clicks to get an interactive map that can be publicly shared. 

AR holds great potential for real-time navigation, using phone cameras to determine your location and provide directional guidance within a venue. AR could significantly enhance user experience by offering more intuitive and interactive ways to navigate spaces. 

How do you balance work with your personal life, especially in such a demanding role?

I’m good at compartmentalizing my work, though it was definitely harder during the pandemic when we switched to remote work. It was challenging to keep my work and living spaces separate, especially since my office was essentially in the living room. Now, I have a somewhat separate office space, which helps a lot. 

I stick to a strict work schedule of 8:00 am to 4:00 pm every day. I’ve found that the quality of work usually diminishes after eight hours, so it’s better to stop and continue the next morning to avoid burnout. I also use Slack settings to mute notifications outside of these hours. If something important comes up, I’ll get tagged and notified. This approach helps maintain a healthy work-life balance and ensures I’m refreshed for the next day.

Can you share a particularly memorable success story from your time at Mappedin?

We’re working on several large projects at a time which are collaborative efforts. One notable project was automating our navigation data, which initially required manual directions. This idea originated from a Hackedin – our internal company hackathon –  where various teams explored different approaches to automation. Although we didn’t immediately pursue the results, I eventually reviewed the solutions and worked on integrating and optimizing them. 

This process took significant time and effort, particularly in improving performance. For example, tasks that used to take 20 minutes now take about 20 seconds. After years of incremental improvements, we now have efficient navigation in place, which is rewarding to see in use.

Another small but important project was implementing payment processing for our self-service map subscriptions. We needed to create a subscription-handling experience for mapmakers to accept payments as they upgrade their maps from free to a paid tier. Starting from scratch, I researched and developed a payment feature that was launched earlier this year. It’s been working great, and we’ve seen many sign-ups and subscriptions since.

What are some of the most important qualities for a Principal Software Developer to have?

The most important aspect of being a Principal Software Developer is prioritizing your team’s best interests over your own. You have the freedom to make significant decisions about project direction, particularly in terms of architecture. However, it’s important to be considerate of your colleagues.

Advancing technology and architecture choices is only sustainable if you can get everyone on board. Starting small and seeking feedback helps reduce poor decision-making and leads to better outcomes.

What advice would you give to someone aspiring to become a Software Developer?

The most important thing is to start as soon as possible and gain hands-on experience. You can learn a lot by doing, failing, and experimenting with different approaches. Many introductory courses recommend working on small app projects (e.g. calculator, todo app, etc.) to help you get the fundamentals down.

From experience, the best way to learn is by tackling a real-life problem you face in your day-to-day life that software can solve. This approach keeps you motivated and engaged. For example, if you need a way to track your finances, building software for that purpose will make the learning process more interesting and relevant to you. 

So, the sooner you get started the better!