Software Engineer – Data Services

Bethesda Softworks - Austin @ Austin, TX, US
Programming

Overview

The Bethesda.net team is seeking a talented software engineer to contribute to the Bethesda Softworks Digital Publishing Platform.  This role focuses on feature development related to gathering, analyzing, and reacting to player data in real-time to enhance our game experiences.

This role will be responsible for building systems that will enable data driven features that interact with our games and players in real-time.  For service development, you will mostly use Python or Go, and we have a strong focus on AWS Managed services to accelerate development.  However, other solutions are adopted as needed (open source preferred).  Our systems are running at scale 24x7, and all engineers participate in architecture discussions, live support, and our continuous improvement processes.

We are always exploring ways to improve our scale, reliability, and efficiency.  Engineers are expected to learn and support new technologies, as well as propose new solutions that solve observed problems.

Qualifications

  • Bachelor’s degree in Computer science or equivalent experience
  • 3 years of experience as a software engineer
  • Possess a strong technical background and deep knowledge of software engineering principles, exceptional problem solving, design, programming, and testing skills
  • Strong working knowledge of many systems used to store or move data (e.g. pub/sub messaging, data streaming systems, NOSQL, RDBMS, etc.)
  • Strong working knowledge of big data solutions and visualization systems
  • Working knowledge of machine learning and other decisioning making systems
  • Experience building cloud infrastructure and operating live systems
  • Experience with version control systems (Github preferred)
  • Experience supporting live systems at very high scale
  • Customer focused design of APIs and integration requirements; make integration easy
  • Experience integrating online services
  • Deep understanding of programming a variety of languages and how they operate under challenging conditions
  • Desire to learn new languages and technology
  • Pragmatic approach to providing engineering solutions that solve business needs
  • Excellent written and verbal skills

Responsibilities

  • Implement big data systems capable of interacting with operational systems supporting games and players in real-time
  • Manage the storage and manipulation of player and game data while always maintaining a focus on privacy and data protection
  • Write clean, maintainable code that is scalable, reliable, and observable
  • Support systems in a 24x7 environment including troubleshooting, hot fixing, and root cause analysis
  • Actively provide code review and feedback for other developers
  • Learn new technologies and programming languages as needed
  • Ensure consistency with security policy standards and security plan
  • Understand and define infrastructure as code to support systems developed
  • Collaborate with other engineers and engineering teams to delivery high quality, complex systems – this includes BI, Ops Infra, Security, QA, NOC, and Game Developers
  • Other duties as assigned

Preferred Skills

  • Golang or Scala experience
  • Knowledge of Spark
  • Knowledge of Elastic MapReduce (EMR)
  • Knowledge of Redshift
  • Knowledge of NiFi
  • Experience integrating ML tools and trained models
  • Experience working with microservices architecture
  • Experience with RPC protocols including gRPC and jRPC

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.