The Software Architect is responsible for providing architectural and technical guidance to a functional software engineering team tasked with delivering market-leading products. This position functions as a team leader with the team’s Engineering Manager and Product Manager. This position also interacts with a cross-functional team of architects, influencing technical direction, testing new technology, and identifying technical opportunities that will accelerate and improve our results. Strong interpersonal skills, expert technical knowledge, and good judgement are essential to your success in this role.
- Work with Product Management and Engineering Team leader to understand requirements, team objectives and problems and provide them with design and technical guidance on applicable solutions.
- Provide technical leadership and mentorship to feature teams to ensure development, tools, standards and implementation adheres to the architectural roadmap. Research, recommend and implement tools as needed with the goal of continually improving development efficiency
- Assist Development team to align their development and implementation choices to a cohesive strategy for our platform and its applications.
- Mentor software developers to help them achieve high performance in software development patterns, development techniques, principles and processes.
- Research leading edge and emerging technologies to identify those which have the greatest potential to improve our efficiency and results and help our team to plan and transition towards them.
- Bachelor’s degree or equivalent experience in computer science or other STEM subject.
- 5 or more years experience as a developer or similar role working within an Engineering organization.
- Experience implementing highly-scalable commercial web applications.
- Expert knowledge of agile practices, including XP, Scrum, and Lean along with the ability to teach robust agile to others.
- Fluency in software design patterns, and architectural patterns for reliability and scale.
- Full stack knowledge inclusive of microservices, containers and container orchestration, database technologies, message queues, cloud-native, mobile, and front-end UI frameworks.
- Strong written and verbal communication skills. An ability to tailor material for both technical and non-technical audiences. Comfortable speaking to small and large groups. Low drama. Contagious enthusiasm.
- Strong technical curiosity and a passion for collaborating with others to try new things.
- Willingness to pair and write code as needed, design architecture collaboratively at the whiteboard, or embed yourself within an agile Development team for an occasional sprint to ensure a strong start to the trickiest work.
- Ability to self-direct, manage time and priorities, and sustain focus on achieving results.
- Familiarity working within a Microsoft ecosystem including experience with .NET/C# and Azure Cloud infrastructure strongly desired.