Principal Software Engineer shapes and evolves our architecture using Distributed Domain Driven Design practices, ensuring robustness and scalability of our systems. Influences architectural directions through project-embedded consultation, guides teams to leverage best practices and design patterns.
Requirements
- 15+ years of relevant experience
- Experience with high volume distributed technical architectures with a high cost of failure
- Experience with Big Data technologies such as ElasticSearch, NoSQL Stores, Kafka, Columnar Databases, DataFlow or Pipeline Systems, Graph DataStores
- Experience with leveraging common infrastructure services like Enterprise Message Bus platforms, configuration services, Toggle management systems, and observability systems like Logging and Distributing Tracing Systems
- Experience with Domain Driven Design concepts and practices
- Experience with design, implementation, and operation of data-intensive, distributed systems
- Ability to design and communicate external and internal architectural perspectives of well-encapsulated systems
- Skilled using Continuous Integration and Continuous Deployment (CI/CD) with an emphasis on automation tools like Terraform, Jenkins, CodePipeline
- Knowledge of API / Data Model Design and Implementation, including how to scale out, make highly available, or map to storage systems
- Knowledge of multiple software stacks
- Skilled with designing and operating software in a Cloud Provider such as AWS, Azure, or GCP
- Knowledge about algorithm development for intensive pipeline processing systems
- Possesses an understanding of how to design and develop from a security perspective
- Possesses an understanding of how to identify, select, and extend 3rd party components (Commercial or Open Source) that provide operational leverage but do not constrain product and engineering creativity
Benefits
- Medical and dental insurance
- Competitive salary
- Discretionary bonus
- Growth opportunities throughout the company