Senior Server Programmer
Overview
Come join Bethesda Game Studios, the award-winning development team behind Starfield, The Elder Scrolls and Fallout. Bethesda Game Studios strives to offer its employees a well-balanced home and work life by providing competitive salaries, a generous benefits program, and offices located in some of North America’s best cities.
With a goal of creating a culture as fun and diverse as our games and our players, we welcome applicants with unique skillsets, experience levels and backgrounds. If you are passionate about making a meaningful contribution to some of the most significant games in the industry we’d love to hear from you!
We will consider candidates for any of our four Bethesda Game Studios office locations: Rockville, MD; Montreal, Quebec; Austin, TX; Dallas, TX.
Responsibilities
Your Daily Life at Bethesda Game Studios
As Senior Server Programmer, you will…
- Implement, guide, and review client/server/engine tech for Fallout 76
- Easily dive in and become familiar with the game systems in our client/server engine
- Monitor, fix, and improve the performance and stability of the game
- Work closely with the game team to add system/engine level tech to support new game features
- Own memory management, network, persistence, asynchronous systems, and state management systems in Fallout 76
- Drive client server communications, synchronization systems, client/server validation, and security
- Develop and maintain foundational level engine tech that gameplay systems rely on
- Solve difficult bugs, problems, architectural dilemmas, or optimization issues
- Code review and mentor more junior team members
- Manage your time effectively with little to no guidance and prioritize work based on ROI and risk
Qualifications
What Makes You S.P.E.C.I.A.L.
- You bring 5–10 years of programming experience, primarily in AAA games and systems/engine-level development using C++.
- You demonstrate deep expertise in networking game features and awareness of the complexities of networked gameplay (replication of state, behaviors, physics, client/server breakdown of features and game systems)
- You have worked on large scale client/server systems (preferably in AAA games)
- You are an expert in programming in an asynchronous environment whether that be threaded, across frames, or across processes via a network
- You bring significant experience with service-based games
- You have previously written or owned a major part of a client/server architecture
- You have experience with persistence systems backed by different flavors of databases
- You have been responsible for coding and/or reviewing the code for most of the Skills listed below
- You have significant experience working in a Linux based environment including basic system administration and performance management
- You are familiar with Cloud Architecture in AWS and Azure and DevOps principles
- You have a B.S. (or higher) in Computer Science, or equivalent work experience.
Preferred Skills
What Makes You Extra S.P.E.C.I.A.L.
- Programming
- Expert computer science fundamentals including design patterns, algorithms and algorithmic complexity, memory management, state/object management, compilation, execution, and asynchronous processing and how all these apply to game systems in C++
- Expert understanding of OO principles including application of composition vs inheritance as well as SOLID principles as it applies to game systems in C++
- Expertise in async programming principles and networked applications
- Expertise in memory management systems
- Expertise with one or more scripting-oriented languages like Python, Lua, Bash, Golang, or C#
- Client/Server/Multiplayer
- Expertise in UDP and TCP based synchronization systems
- Expertise with monitoring and logging systems and how to use efficiently
- Expertise in how to ‘hide the latency’ and produce smooth seamless gameplay in a networked environment
- Expertise in game state validation techniques that still maintain seamless gameplay
- Cloud Platform Proficiency
- Experience with major cloud platforms such as AWS, Azure, and Google Cloud and how to work within a cloud-based environment
- Familiarity with major services and technologies available in Azure and AWS
- Database Proficiency
- Database knowledge of basics for different database types (MySQL and variants and Mongo and variants) to the degree you can optimize and tune from the developer perspective
- Knowledge of database schema and scaling methodologies to further optimization and scale
- Proficiency in database query languages
- Linux/Windows/Console Proficiency
- Ability to diagnose performance and connectivity Linux and Windows related issues
- Expertise in profiling across platforms with tools suited to each platform
- Expertise in debugging across multiple platforms
- DevOps and Automation
- Experience with Continuous Integration/Continuous Delivery (CI/CD) pipelines and tools like Jenkins, Git, Perforce, and Team City
- Expertise in branch management
Bonus Skills
- C++ development experience with development pipeline tools
- Gameplay or Graphics experience
Salary Range
Senior Server Programmer - The typical base pay range for this position at the start of employment is expected to be between $105,000 - $225,000 per year.
ZeniMax has different base pay ranges for different work locations within the United States, which allows us to pay employees competitively and consistently in different geographic markets. The range above reflects the potential base pay across the U.S. for this role; the applicable base pay range will depend on what ultimately is determined to be the candidate’s primary work location. Individual base pay depends on various factors, in addition to primary work location, such as complexity and responsibility of role, job duties/requirements, and relevant experience and skills. Base pay ranges are reviewed and typically updated each year. Offers are made within the base pay range applicable at the time.
At ZeniMax certain roles are eligible for additional rewards, such as merit increases and discretionary bonuses. These awards are allocated based on individual performance and are not guaranteed. Benefits/perks listed here may vary depending on the nature of employment with ZeniMax and the country work location. U.S.-based employees have access to healthcare benefits, a 401(k) plan and company match, short-term and long-term disability coverage, basic life insurance, wellbeing benefits, paid vacation time, paid sick and mental health time, and several paid holidays, among others.
This is position is in a union and represented by the Communication Workers of America.
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
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!
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.
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.
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.