Director of Engineering, Core Platform: Core Platform team, seeking an experienced leader to lead a team of 7 who are charged with building out the next version of application platform. This role is similar to the Principal Architect (experience/knowledge around; Java, distributed systems, design patterns, Kafka, scalability) only it won't require hands on coding (likely 0%). That said this individual still has to be able to read code and provide insight, they should have a coding/engineering background as this is a tech manager in addition to a people manager.
- This team is essentially working to mature the new microservices platform, building version 2.0
- This team built the foundational capabilities of the system and provide architectural standard for what is built on top of the platform as well as core services. What they build is the standard for everything else.
- One leadership spot on this team
We developed a progressive web application based on our “Single Page App” Architecture, aka “SPA”, on top of a domain-driven API-first platform. Our back-end is a Java-based distributed microservice architecture.
Our primary stacks are:
- Architecture – API-Driven Microservices & Micro Frontends
- Front-end: React, Redux, Swagger, Node/NPM, Webpack, Babel
- Back-end: Java 8, Spring boot, Netflix OSS, Solr, Kafka, Zuul
- Build: Jenkins, Docker, Artifactory, Gradle
- Infrastructure: AWS, Consul, Nomad, TerraForm, Vault, Salt, MySQL/RDS
- Understand business context and translate into technology requirements
- Work across the engineering and product organizations to define and improve our architecture and scalability.
- Support our process for engineers to design, deploy, and operate software at scale including leading standards for code and documentation to ensure quality and velocity.
- Provide leadership to foster collaboration with other technology leaders to coordinate sequencing and execution of complex projects including both new features and architecture improvements.
- Interface with other ADP architects as necessary to understand ADP-wide concerns.
- Teach and mentor other developers and help them grow as a professional.
- Proven Leader with an ability to make pragmatic technical decisions that provide customer value.
- Track record of building teams and managing remote teams.
- Track record of deploying and maintaining distributed systems in production.
- Track record of using influence to lead a group of engineers to achieve architectural goals.
- Strong belief in or experience with 12 Factor App.
- Good understanding/experience with Java and/or other object-oriented and functional languages. (Ideally hands-on experience in the past).
- Good understanding/experience with scaling and optimizing systems both for production reliability, as well as developer experience.
- Good understanding/experience with API usability and management
- Good understanding/experience with Mobile integration and design considerations.
- Good understanding/experience with Domain Driven Design, CQRS, Event Sourcing.
- Good understanding/experience with observability, developer experience, and tooling.
- Good understanding/experience with Continuous Delivery.
- Good understanding/experience with Information Security.
- Good understanding/experience with Immutable infrastructure and container-based technologies.
- Good understanding/experience with Security: Network Protocols, Service Communications, Web and API security, etc.