What are the responsibilities and job description for the Staff Software Engineer - Platforms position at ICANN?
Job Summary:
As a Staff Software Engineer on the Platform Engineering team, you will focus on building and maintaining platforms and tools that enable our development teams to be productive. This includes automating testing, application monitoring, and deploying code changes to QA, production, and production-like development environments. You will also create and deploy tools and APIs to allow software teams to manage environments and infrastructure as code.
Key Responsibilities & Duties:
- Design, develop, and maintain Terraform-based AWS infrastructure, including EKS clusters, networking, and storage solutions. Automate infrastructure provisioning and configuration using Terraform modules and GitOps workflows. Optimize cloud costs, performance, and security following AWS best practices.
- Deploy, manage, and scale Kubernetes (EKS) workloads, ensuring high availability and security. Implement and manage Helm charts and Kubernetes manifests for application deployment. Troubleshoot Kubernetes networking, service discovery, and security policies (RBAC, PSPs).
- Design distributed configuration management and build automation tools using Docker, Jenkins, and Git.
- Design and maintain automation pipelines with Kubernetes, Spinnaker, Docker, and Jenkins for development, QA, and production environments.
- Create and maintain clear and up-to-date operational documentation.
- Review and test infrastructure design efficiency for new applications.
- Provide systems operational architecture consulting on assigned projects.
- Ensure standards or best practices are followed for development, QA, and production environments.
- Excellent written and verbal communication skills for greater efficacy in documentation and support case handling.
Required Knowledge, Skills, and Abilities (KSAs):
- Minimum 6 years of experience as a software engineer, with a focus on building and scaling critical distributed systems.
- Working experience with CI/CD platforms like Jenkins and Spinnaker.
- Strong understanding of Kubernetes networking, Helm, and RBAC.
- Working experience with Docker and Kubernetes.
- Proficient in coding and scripting languages such as C/C , Go, Java, or Python.
- Maintain current technical knowledge to support rapidly changing technology, always looking for new technologies and working with the team to bring them in.
- Enhance and create new APIs and tools to improve our shared services monitoring (Kafka, Redis).
Education and Experience Requirements:
- Master's/Bachelor's Degree in Computer Science or Engineering is strongly preferred.
- Minimum of 10 years of engineering, developer evangelism, and architecture work experience with a Bachelor’s degree; or a Master’s degree with a minimum of 8 years of experience.
- Proficient in coding and scripting languages such as C/C , Go, Java, or Python.
- Experience with distributed configuration management, build automation, and file revision tools like Puppet, Jenkins, and Git.
Working Conditions & Physical Requirements:
- Work location is either LA or DC.
- Willingness and ability to travel domestically and internationally up to 30% of the time.
ICANN is an Equal Employment Opportunity Employer and does not discriminate based on age, race, color, religion, national origin, ancestry, citizenship, marital status, veteran status, physical or mental disability, sex, (including pregnancy, gender identity and sexual orientation), childbirth or related medical conditions, family care status, genetic information or any other protected characteristics protected by local, state or federal law.
ICANN www.icann.org is responsible for the global coordination of the Internet's system of unique identifiers, including domain names (like .com, .uk, .jobs, etc.), as well as the addresses used in a variety of internet protocols. A nonprofit public benefit corporation, ICANN is responsible for the global coordination of the Internet's system of unique identifiers. These include domain names as well as the addresses used in a variety of Internet protocols.
Note: The salary range provided here is a general estimation for the position at the time of posting based on the primary location. Salary ranges vary based upon geographic regions and countries. Final compensation packages take into consideration of a variety of factors including but not limited to a candidate’s location, work experience, knowledge, skills and other compensable factors.