How would it feel to have your code running at the beating heart of every Blizzard game server? We are forming a new team responsible for making shared backend technology used cross-organization. From scratch, we will be partnering with the various game teams to produce a server engine that enables us to make games more quickly.
The Senior Software Engineer position on this team will be a key player in this effort. We are looking for expert backend server programmers who are passionate about developing server code that will see extensive use. In doing so, we will solve challenges at incredible scale. Millions of players, billions of packets, and thousands of server processes. We will need to figure out how to make something that works in a wide variety of game formats, and be comfortable in unfamiliar territory.
We are super excited to get these efforts moving forward. You will be making an enormous impact to organization, so if being a part of this sounds exciting to you, drop us a line!Responsibilities
- Build foundational game server tech, enabling Blizzard to make epic experiences….faster!
- Own key components – the networking and transport stack, protocols and serialization, logging, service discovery, and more – all used by thousands of Blizzard servers.
- Make products consumed by other programmers - design, architect, and own features, from inception into production, that you yourself would love to use.
- Help evangelize shared server technology across the organization.
- This is a server programming team, it requires a minimum of 5 years' of experience in this space.
- The problems you will solve involve distributed systems at a massive scale, so recognizing 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. At least 4 years of experience is what we expect.
- Flexibility in language choice and usage: capable of and okay with picking up new languages.
- Passionate about writing code and engineering. We want reliable, fast, and above all: simple and easy to understand code.
- 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.
- Mobile experience, especially with C++ development in the mobile space.
- 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.
- Experience mentoring other specialists.
- Passionate about gaming and Blizzard games.