Senior Software Engineer, Server (Ecommerce)
Battle.net & Online Products
Senior Software Engineer, Server (Ecommerce)
Battle.net & Online Products is home to 400+ caring and passionate engineers, product managers, designers, and QA focused on the legendary gaming network, Battle.net, that brings millions of gamers together and makes our products available to our players around the world.
Battle.net currently has multiple server engineering roles available on our Ecommerce Group. The Ecommerce Group is about 130 collaborative team members, delivering the largest 1st party Ecommerce Platform in the gaming industry. We have over 500 APIs, powering systems such as our CatalogService which describes all of our games and in-game products that you can buy, our EntitlementService which stores billions of records of ownership, our OrderService, which orchestrates our purchases, and various other systems, such as our payment gateways, keys, virtual currency wallet service, and more. We also build advanced capabilities on top of our core platform, such as our viewership incentives system, which injects entitlements based on YouTube and Twitch viewership, and integrate with various 3rd party channels, such as Internet Game Rooms, external shops, and more. It's an immense operation.
We primarily use Java and the Spring Framework, with a microservices architectural approach, SQL and NoSQL data stores, and public cloud technologies, to deliver a world-class Ecommerce Platform. We spend a lot of time building new features and services, as well as modernizing some of our older services into small horizontally scalable microservices in public cloud. We are an internal technology hub and are involved in some fashion with nearly every game release within Activision and Blizzard!
Our server engineers don't deliver just your simple APIs. We work together to solve problems of scalability, performance, security, fault tolerance, reliability, observability, transactional safety and other distributed systems problems, multiple interconnected data centers globally, but we also aim towards simplicity, good modeling, and API design, maintainability, and more. We have multiple zerg rush events per year, where our servers light up with 100x the load. We are constantly improving and applying best practice observability to tune and monitor and measure our critical systems. We pull in security experts to consult on various projects, such as the cryptography around our keys systems. These are just a few examples of the server engineering projects we work on together.
We are a medium-sized team, which is a sweet spot for a great work environment, that supports lots of learning and cooperation. We are not too large, where you may work on a tiny sliver of layers and layers of home grown tech, and we are not too small, where there is minimal support, but we are just the right size, for some good impact with a trusting and supportive community feel on the team. Our team is warm and welcoming, and we take pride and celebrate the work that we launch for our players, together.
Covid-19 Hiring Update: We have transitioned to a work-from-home model and we are continuing to interview and hire during this time. This role is expected to begin as a remote position. We understand each person’s circumstances may be unique and will work with you to explore possible interim options. Eventually, most of our positions will be in Irvine, CA, or Austin, TX, and we will discuss this during the hiring process.
- Design, implement, and modify our Ecommerce services, to power Battle.net's microtransaction platform
- Collaborate with multiple development teams ensuring proper designs and integrations
- Be a part of the implementation and maintenance of our infrastructure
- Monitor, optimize, and troubleshoot performance across all tiers
- Provide input and guidance to our product managers, as we steer our platform into the future
- Support and improve live production service
- Perform research to acquire new knowledge necessary to perform tasks and maintain a process of technological evolution
- A minimum of 5 years professional backend server software engineering experience.
- A solid foundation in Java (preferred), C#, or another object-oriented language.
- Strong CS fundamentals, including algorithms, data structures, and design patterns
- Experience with web services, messaging middleware, security, micro-services, and n-tier architectures
- Understanding of scalable and highly concurrent server architecture design
- Familiarity with testing practices, including regression, acceptance, functional, and load testing
- Shown knowledge of data-modeling and RDBMS development practices
- Bachelor's degree in Computer Science, Mathematics, or equivalent experience
- Experience working on technologies/platforms/services, which are used by other engineers
- AWS/GCP experience
- Familiarity with the Spring Framework
- Experience in Ecommerce
- Proficient with Linux
- Passion for technology and video games
We are an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, gender expression, national origin, protected veteran status, or any other basis protected by applicable law, and will not be discriminated against on the basis of disability.
Blizzard Entertainment is a global company committed to growing our employees along with the business. We offer generous benefits and perks with an eye on providing true work / life balance. We’ve worked hard to champion an intensely collaborative and creative environment, a diverse and inclusive employee culture, and training and opportunity for professional growth. Our people are everything. Our core values are real, and our mission has never changed. We are dedicated to creating the most epic entertainment experiences…ever. Join us!