Principal Software Engineer

Skills
AlgorithmsAmazon Web ServicesBig DataCateringContinuous IntegrationDatabasesElasticsearch
Role

What the job involves

The main requirements, responsibilities and hiring steps.

Requirements

  • 15+ years of relevant experience
  • Experience with high volume distributed technical architectures with a high cost of failure and strong focus on reliability and availability
  • Experience with Big Data technologies such as ElasticSearch NoSQL stores Kafka columnar databases DataFlow or pipeline systems and graph data stores
  • Experience with infrastructure services such as enterprise message bus platforms configuration services toggle management systems and observability systems
  • Experience with Domain Driven Design concepts and practices including bounded contexts event storming and specification by example
  • Experience with design implementation and operation of data-intensive distributed systems
  • Ability to design and communicate external and internal architectural perspectives using architecture design patterns and sequence diagrams
  • Skilled in Continuous Integration and Continuous Deployment with automation tools like Terraform Jenkins and CodePipeline
  • Knowledge of API and data model design and implementation for scale high availability and storage mapping
  • Skilled with designing and operating software in a cloud provider such as AWS Azure or GCP
  • Knowledge of algorithm development for intensive pipeline processing systems
  • Understanding of security-focused design and development
  • Ability to identify select and extend 3rd party components that provide operational leverage

Nice to have

  • Multi-tenant systems experience
  • Feature toggle strategy experience

Day to day

  • Shapes and evolves the architecture using Distributed Domain Driven Design practices to improve robustness and scalability.
  • Provides embedded architecture consultation to guide teams toward best practices design patterns and informed build vs buy decisions.
  • Leads platform capability improvements and communicates complex technical concepts clearly to technical and non-technical stakeholders.