Blizzard Entertainment has an opening for a talented and enthusiastic Senior C++ Software Engineer to join our Battle.net Game Service (BGS) team!
The Senior Software Engineer will work with a small and talented team to develop scalable, highly performant platform services and, collaborate across Blizzard to integrate and operate that platform. The role focuses on server-side engineering and architecture, while interfacing with game teams as stakeholders, with a strong focus on improving the platform and empowering our games to integrate, operate, and maintain things more effectively end-to-end. The current goal being to empower games to integrate with the platform more simply, more automatically, in a more hands-off self-driven manner by designing, planning, and developing means of improving our integration practices through some combination of documentation, processes, and software development. This role will own and drive this goal with a large amount of autonomy, and will have a lot of latitude towards making it as effective as possible, all while frequently communicating and collaborating with all of our games to make it happen.
The BGS team develops the services and infrastructure that keeps millions of players online simultaneously worldwide, 24 hours a day, 365 days a week. From Overwatch to Hearthstone, StarCraft 2, Diablo 3, to World of Warcraft, regardless of the game, time zone, or scale, BGS is there to answer the call with effectiveness, and professionalism, acting as the central pillar to supercharge player engagement.
When you login, or send a friend request, or a whisper or chat, alongside millions of other players simultaneously within one of our rich virtual worlds, BGS is there. When you use Voice chat in Overwatch, or check your profile statistics on Playoverwatch.com, we are the team that makes those things possible in service to our players.
- The problems this team will be solving involve distributed systems at a massive scale, so understanding the problem set in that space is key.
- Primary language will be C++, so you should be an expert, both with its historical patterns as well as modern language features and usage. A minimum of 4+ years of experience is what we expect.
- You should be passionate about writing code and engineering. We want reliable, fast, and above all: simple and easy to understand code.
- You should understand what makes a nice API, and what other programmers appreciate in an API.
- You should have experience with a broad spectrum of backend technology. The specific technologies don’t matter as much as your ability to learn new things quickly and an appreciate choosing the right tool for the job.
- Fluent with Relational Databases (SQL), and familiar with Document stores (NoSQL), and modern implementations of each.
- Linux should be very comfortable for you, as well as using command line tools. You should also be proficient in at least one scripting language.
- Domain knowledge in the security space is important: you should understand all the reasons why systems should be secure, and how minimize vulnerabilities in code and systems.
- Expert level experience in relevant technologies such as MySQL, Oracle, Cassandra, Docker, etc.
- Expert systems level programming experience on Linux. You can explain the implementation details of different parts of /proc, for example.
- A college degree.
- Passionate about gaming and Blizzard games.