No Longer Accepting Applications
The Lead Software Engineer is a fully remote management-track engineering role combining architecture and system design with mentoring and technical leadership. The position’s direct reports include a team of software engineers ranging in seniority from entry-level to senior. Given the growth-stage nature of the team and platform, the Lead Software Engineer will perform a meaningful amount of hands-on coding while reviewing and overseeing the work of other team members. The position reports to the VP Platform Development and partners with other senior technical staff, including leadership in Software Engineering, Infrastructure, and Platform Development. The ideal candidate should have experience leading software engineering teams, sustaining mission-critical systems and applications, and be highly proficient in managing technical operations. They should be comfortable working to develop a technical roadmap for a product or platform component in collaboration with peers and stakeholders. Candidates should demonstrate technical skills in architecture and distributed systems design at Internet-scale. Above all else, they should be a servant leader who understands their primary role to be developing team members’ talent and enabling their team by maintaining a healthy, sustainable culture.
What You’ll Do
- Support the professional development of software engineers, on both individual contributors and people wrangler tracks, on a team building and delivering Internet-scale software applications.
- Provide leadership and guidance to an individual engineering team and its members, offering thoughtful and timely coaching and effective feedback.
- Help define the vision, strategy, architecture and implementation for a product or platform component and formalizing them as part of the broader Platform or Product roadmap.
- Own the full lifecycle of system, application and feature development from needs assessment, through design, testing and release.
- Chart a course towards delivering core functionality in a reusable, scalable and performant fashion using SOLID and 12-Factor Application design principles.
- Establish standards for building reliable, highly available, testable, and sustainable platform components using performance engineering, continuous delivery, and automated instrumentation for observability.
- Ensure the resiliency, reliability and performance of software through a sustainable development methodology paired with thoughtful testing and release practices.
- Align individual efforts, team initiatives, and higher-level plans to platform and product strategies driven by the company’s strategic goals, working directly with Technology, Product, and business teams to increase the company’s technical equity and leverage.
- Contribute to overall technical leadership through mentoring, guidance, and the ongoing development of a collegial engineering environment and culture.
- Dedicate meaningful time to research, evaluation and implementation of new tools and methods (Open Source and commercial) to meet changing organizational data needs and opportunities.
- Serve as part of an on-call support rotation with other engineers to debug, troubleshoot and resolve data platform using the Incident Command System methodology.
- You have experience developing a vision for a product or platform, encompassing both business and technical concerns, communicating that vision to a team, and engaging their willing participation in its realization.
- You have deep experience in software architecture, systems design, development and optimization.
- You’re able to think critically about trade-offs in software architecture, design and implementation and explain them to both technical and non-technical audiences.
- You enjoy actively coaching engineering teams to greater health and performance.
- You have the ability to develop junior and mid-level talent in engineering roles by teaching them the mistakes you’ve made in the past and delegating them tasks to learn how to do the work you know how to do.
- You have experience with proven software engineering methods, including distributed source control, testdriven development, code review, and modular, domain-driven design.
- You have expertise with design patterns for managing large and complex data sets in a variety of datastores and formats for both operational, analytical and data science use cases.
- You have a detailed understanding and extensive experience in how modern applications are developed and deployed in distributed cloud-based platforms, infrastructure and distributed systems, particularly AWS.