As a Senior Back-end Software Engineer, you will build high-quality software delivering feature sets that delight customers while driving the architecture of one or more Subsystems towards our aspirational goal of everything ‘well-crafted’. A great candidate can deliver real customer value while pursuing ‘high marks’ on these Architecture Quality Attributes:
Availability, Scalability, Interoperability, Modifiability, Performance, Security, Testability.
- Be part of an autonomous, cross-functional team designing, building and operating strategic, user-focused feature sets.
- Creating services that enable users to build complex search queries that remain responsive while spanning terabytes of data.
- Building containerized web application services in Python that empower users to work on large data sets in a responsive manner.
- Possess 5+ years of back-end development experience for large scale web applications.
- Be able to design and communicate external and internal architectural perspectives of well-encapsulated systems (e.g. Service Oriented Architecture, Docker-based Services, micro-services).
- Prior experience with building and operating distributed web application systems while embracing the discipline of Site Reliability Engineering.
- Strong skills in API and Data Model Design and Implementation including how to scale out, make highly available, and map to storage systems.
- Ability to design and implement a layered application architecture that can be easily changed to accommodate evolving business requirements.
- You have an understanding of how to design and develop from a Security Perspective.
- You have experience designing and operating software in a Cloud Provider such as AWS, Azure, or GCP.
- You have experience with some amount of cloud-based data storage technologies such as; Relational Databases, NoSql Stores, data caches, etc.
- You have used Feature or Release Toggles as a code branching strategy.
- You have experience selecting and extending 3rd party components (commercial or open-source) that provide operational leverage.
- You have experience with Continuous Integration and Continuous Deployment (CI/CD) with an emphasis on a well-maintained testing pyramid.