Senior Software Engineer – Site Reliability

Bethesda Softworks @ Rockville, MD, US
Programming

Overview

Are you interested in high-load systems? Are you someone who can see a technical solution and clearly state all the Good, Bad and Ugly in the design and suggest ways to make it more balanced? Do you want to contribute to the future of a platform driving many popular games? Do you have strong development background and have decent understanding of Cloud infrastructure? Did you coach junior staff? Can you work and be efficient with minimal supervision? Is your current employer too formal and all corporate? You can join our team. We are SRE in Bethesda.net at Bethesda Softworks.

Qualifications

  • At least 5 years of experience as a software engineer.
  • Understanding of Agile SDLC, and roles and functions of different team members in a SCRUM team.
  • Real life professional experience with unit testing and ideally with other types of testing.
  • Problem solving, demonstrated ability to identify a problematic component or code in a system.
  • Familiarity with git, and preferably other VCSs, and an understanding of various branching strategies along with their benefits and risks.
  • Professional experience with any of the following: GoLang, Python, NodeJS, C#, C++.
  • Confident Linux user or any other UNIX-like system, including shell scripting.
  • Professional experience with NewRelic and/or Splunk.
  • Professional experience with AWS, Azure, Google Cloud or any other SaaS, IaaS, PaaS.
  • Experience with SQL and NoSQL databases.
  • Understanding docker (or other container systems), preferably experience with a container orchestration software.
  • Knowledge of algorithms and data structures, more specifically using O() notation, recommending specific implementation path for the software, or detecting hot sections.
  • Experience with large-scale systems, public facing systems, high load, or big data systems.
  • Professional experience with build/deploy systems, preferably CI/CD.
  • Professional experience troubleshooting live environments.
  • Bottleneck detection and platform optimization.

Responsibilities

  • Develop components, automating infrastructure and development activities.
  • Manage expectations (feasibility, size, risks) for the stories assigned to you.
  • Mentor more junior engineers on development best practices, assist with system design and technologies.
  • Analyze existing and new software components, identify bottlenecks, and recommend ways to improve software performance.
  • Review and contribute to code written in Python, GoLang, Java, NodeJS.
  • Build tools for production teams for platform, code, and test management.
  • Troubleshoot system defects and drive short, mid, and long-term solutions.
  • Participate in on-call rotation with the rest of the engineering team to provide escalated support.
  • Tune and automate AWS-based platform.
  • Actively participate in daily huddles and weekly SCRUM/Kanban rituals.
  • Actively participate in design sessions with other engineers and team leads.

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.