You will be principal architect for a team of 70+ engineers that is responsible for developing several key platform components and products for the company. To improve development agility, scalability, and stability, we are starting a multi-year journey to overhaul the design of several systems that will be built on a new development and deployment infrastructure. You will be the key architect for this transformation, helping us ensure that this effort is a success. Job Duties and Responsibilities
Own application architecture and software design for products spanning multiple engineering teams. Collaborate in defining and documenting system components, entities and service interfaces, with consideration for complexity, availability, security, performance, cost, and other criteria.
Help make right technology choices for implementing solutions. Conduct alternative analysis for technology selection or build vs buy decisions and present to stakeholders.
Work with product managers early on to shape product definition so that it can be built in flexible, extensible, and robust way. Work with engineering teams to help drive execution, providing consultation on design details and issues.
Define and drive adoption of design patterns, coding and quality standards and software development processes.
Help improve software quality and data quality by coming up with better ways of measuring and testing.
Work with other architects to drive long-term architecture vision. Drive and support innovation by acting as a sounding board for ideas and help bring them to life. Actively engage in tracking and reducing technical debt.
Share ideas, insights, and technology trends to the broader technical audience within the company. Provide coaching and mentoring to technical staff.
Play a key role in hiring, retention, and growth of talent: attract, evaluate, coach and mentor senior engineers.
Solid understanding of design approaches and challenges across all layers of the stack including data storage, back-end, middleware, and application tiers. Strong background in designing server-side architecture for scale, availability, performance, security, and agility
Must have strong communication skills to articulate vision/strategy and get buy-in, using language and detail appropriate for the audience
Broad understanding of competing technologies and their relative strengths and weakness; and be able to select right ones for our needs
Passion and ability to quickly pick up expertise on new technologies
Hands-on engineering skills to evaluate diverse technologies, build prototypes, and solve challenging issues, working with other architects and engineers
Good understanding of latest technology trends
Experience in designing cloud applications leveraging AWS services is highly desired
Should have strong leadership and interpersonal skills to take team along and convert architecture vision into reality.
Ability to adjust to change and rapid pace of development
Ability to see big picture and keep eye on long-term goals and direction, while taking care of short-term needs
Prefer (but not require) at least 10 years of experience in software development designing and building complex and scalable software systems
MS in computer science. Higher professional degrees preferred