Development Services Programmer

Overview

The Development Services Programmer will work side-by-side with the development, operations, and external platform teams and be primarily responsible for automation of our hybrid cloud services.  As a principal contributor to idTech, this position is a versatile opportunity to contribute to the success of development with idTech by leveraging the latest technologies in a variety of scales and levels of complexity, within a driven and collaborative team of idTech generalists.

Responsibilities

The Development Services Programmer is responsible for co-developing requirements for new services, engaging in iterative development on infrastructure and applications, and supporting the operations team with adapting services in the live environment.  This position is the primary owner of the DevOps problem space in idTech development and the solutions necessary to accelerate services and game development, as well as the live services that idTech games rely on to serve our customers.  Not limited to:

  • Evaluating and selecting existing software technology to build automation solutions for idTech Services.
  • Building, supporting, and leading operation our next-generation internal services for idTech development across studios leveraging idTech.
  • Operationalizing services built for future idTech services in concert with external operations and platform teams.
  • Interface for operations and platform teams as they operate services supporting idTech titles.

Qualifications

  • Bachelor’s degree in Computer Science or Information Science, or equivalent work experience
  • 3+ years of hands-on experience in designing, developing, implementing, and supporting services
  • Windows & Linux experience on multiple distributions
  • Experience with programming languages in one or more of the following Typescript/NodeJS, Python, C/C++, Java, Golang, C#
  • Experience with scripting languages such as Bash, PowerShell, Python
  • Experience using databases (e.g MySQL, MongoDB, Azure CosmosDB, AWS DynamoDB)
  • Experience using and/or developing CI/CD pipelines and workflows (e.g. Jenkins, GitHub Actions)
  • Experience with software packaging & distribution and documenting code (e.g. npm, pip, apt, choco)
  • Experience writing resilient, secure, well-tested, maintainable code
  • Excellent verbal and written communication skills
  • Analytical and troubleshooting skills

Preferred Skills

  • Experience with various messaging technologies (e.g. RabbitMQ, ZeroMQ, AWS Firehose, Azure EventHub, Kafka)
  • Experience with multiple cloud provider offerings, frameworks and the software ecosystems that surrounds their use. (e.g. AWS, Azure, OpenStack)
  • Exposure with one or more configuration management tools (e.g. Ansible, Puppet, Chef)
  • Exposure to one or more infrastructure as code tools (e.g. Terraform, AWS CloudFormation, Azure Resource Manager, OpenStack Heat)
  • Good understanding of DNS, TLS, and certificate management
  • Experience configuring and implementing authNZ protocols with new services using common identity providers (e.g. Active Directory, LDAP, AWS Cognito)
  • Exposure to cloud provider machine learning services

We embrace diversity, equity, and inclusion in everything we do – from recruiting for our studios, publishing and operations to fostering safe and respectful workplaces that encourage collaboration. Our culture is based on principles of respect, inclusion, and fair treatment and we welcome anyone into our family without regard to race, religion, gender identity, sexual orientation, or age.

Our diversity fuels our innovation and inspires us to create game worlds that bring us closer to the global community of players we serve.

What to Expect

Submit to a Position

You will receive an automated email confirming we have received your resume.

Due to the high volume of applications received, it's not possible for us to respond directly to each candidate.

Don't see your desired position listed? Apply under "General Application" instead!

Recruiter Call

If you are selected, you will be contacted by our team for an initial phone screen to chat about your previous experience.

You may go through one or two phone interviews, and possibly a follow-up Skype call.

If your qualifications do not match the criteria of a current position, your resume will be kept on file.

Site Visit

The next step will be an invitation to come out and meet the team at the studio for onsite interviews.

In the event that we choose not to move forward at any point in the recruiting process, we will let you know.

Your Privacy

ZeniMax understands the importance of privacy. Please review the Applicant Privacy Notice attached to each position, which explains how we process the personal information we collect about you when you apply for a job or submit information to us through our job portal. BY APPLYING FOR THIS OR ANY POSITION, SHARING THIS JOB, OR OTHERWISE PROVIDING US WITH YOUR PERSONAL INFORMATION THROUGH THIS JOB PORTAL, YOU ACKNOWLEDGE THAT YOU HAVE READ AND UNDERSTOOD THE APPLICANT PRIVACY NOTICE, WHICH IS SET FORTH IN THE “APPLICANT PRIVACY NOTICE” SECTION BELOW EACH POSITION.