Principal Software Engineer
CurrentAs a Principal Software engineer, my responsibility is to define the future architecture and ensure that our teams can successfully execute the plan to put that architecture in place.As a tech leader, I think further ahead so that we understand the architectural challenges and buildout process for upcoming work. I help create and socialize the patterns and practices that guide our engineering teams as well as define the future architecture of the many systems we build and maintain.A portion of my time is spent coordinating discussions between multiple teams as we gather information to guide our architectural decisions.A portion of my time is spent on "research and development" (R&D) as I'm continuously watching the market trends in, amongst other topics: big data, data analytics and machine learning. As part of the research process, I often spike solutions and document the process so that the teams can follow through if we choose to.Another portion of my time is spent supporting the development teams by helping them plan out the details of their upcoming work, and working through some of the pitfalls.I am often needed to resolve production issues or support teams that are blocked by technical challenges that they need some guidance on.