Principal Software Engineer
Acquia is the open digital experience company. We provide the world's most ambitious brands with products built around Drupal to allow them to embrace innovation and create customer moments that matter. At Acquia, we believe in the power of community and collaboration — giving our customers and partners the freedom to build tomorrow on their terms.
Headquartered in the U.S., we have been named one of North America’s fastest growing software companies by Deloitte and Inc. Magazine, rated a leader by the analyst community, and named one of the Best Places to Work by the Boston Business Journal. We are Acquia. We are building for the future, and we want you to be a part of it!
About the team you will be on…
The Principal Software Engineer is an integral member of the Acquia technology team and ensures that the company’s software products are well engineered, operable, maintainable, and aligned with the strategy and vision of the business.
As a Principal Software Engineer, you will be responsible for leading the implementation and adoption of Kubernetes as a service across Acquia. You will work with your fellow Platform engineers, Product Engineering, Operations, and Customer Success teams to find opportunities to harness the power of containerized infrastructure and then propose and lead the implementation with your team.
We work on a variety of exciting projects ranging from running extensive microservice infrastructures, building highly available database clusters, scaling data pipelines and machine learning to enable our customers to deliver amazing digital experiences that are visited by millions of people each day.
As the Principal Software Engineer, you will…
- Lead solutions for modernizing Acquia infrastructure and drive adoption of Kubernetes and Cloud-Native Technologies
- Design and implement end-to-end container management solution with Kubernetes, Docker
- Set up Kubernetes as a platform with enterprise-level reliability, availability, scalability and performance requirements
- Support engineering teams to design and implement application prototypes, using modern application development practices and open source emerging technologies, covering domains like microservices, API management, web-scale architectures
- Debug technical issues inside a very deep and sophisticated technical stack involving containers, microservices, AWS services across the different layers of a web stack (Edge, Data, etc.)
- Chip in as part of a larger team to maintain a deep understanding of system functionality and architecture, with a primary focus on the operational aspects of the service (availability, performance, emergency response, planning, etc)
- Evaluate new technologies and provide a recommendation to management including planning and execution of proof of concept activities.
You’ll enjoy this role if you are…
- Able to lead by example
- A passionate learner who provides mentorship through questions as opposed to statements
- Inclined to detail and diagram ideas as a primary method of communication
- Able to communicate sophisticated, technical concepts to a wide range of partners with varying perspectives and technical expertise
- Comfortable under pressure and encourages new challenges
- Able to work in an agile DevOps methodology collaborating and enabling all around them
What you’ll need to be successful…
- Over 8 years of experience in design and Software Development Background and over 4 years of experience in working with Containers and Cloud-Native Development
- Proficient with Kubernetes/Swarm architecture with hands-on production experience with container technologies and the tools and challenges around them
- Proficient with service discovery, networking in Kubernetes or equivalent, monitoring, logging, scheduling
- Experience in container architecture, docker engine, runtime, container orchestration, and microservice patterns
- Experience working with AWS services such as - EC2, EBS, ALB, ECS, EKS, VPC, S3
- Knowledge of CI/CD tools like Jenkins (preferred), Bamboo, Gitlab
- Experience working with configuration management tools such as Ansible, Terraform, Puppet and Cloud-formation
- Solid understanding on the network layers and SSL/TLS basics
- Experience with distributed System Management/tracking and monitoring such as ELK Stack, Prometheus
- Experience in developing applications using programming languages such as Go, Python, PHP, Ruby and shell scripting
- Strong oral and written communication skills
- Strong team collaboration and leadership skills
- Familiarity with Agile processes (Kanban, Scrum, etc.)
Extra credit if you have...
- Strong experience in helm-package manager, cluster-autoscaler, cert-manager, and logging-operator.
- Experience with modern containerization systems: Docker, LXC, etc.
- AWS Certification
- CKA professional Certification
We are committed to continually strengthening our people-first culture within our Acquia family. Our highly motivated team features individuals from a multitude of backgrounds who offer their outstanding perspectives, starting with their first project as a new hire to their 100th as a manager and beyond. For every step in between, we help Acquians grow by promoting a culture of continuous learning through mentorship, knowledge-sharing, feedback, and more.
Thank you for considering Acquia for your next career move, and we look forward to receiving your application. There’s no such thing as the flawless candidate. So, we’re not looking for someone who matches all of our criteria; we’re looking for someone with the potential to grow outward and upward. Regardless of how much of the criteria you meet, you should apply!
Acquia is an equal opportunity (EEO) employer. We hire without regard to age, color, disability, gender (including gender identity), marital status, national origin, race, religion, sex, sexual orientation, veteran status, or any other status protected by applicable law.