Bellevue, Washington, United States
The Server Engineer will work directly on the development, polish, and optimization of new mobile game services. This role will maintain an existing codebase, respond to feature requests, and support customers with integration needs. The Server Engineer has ownership of the quality of deliverables by creating unit and integration tests while collaborating with various partners. Finally, the Server Engineer will help gather requirements, scope requests, estimate level of effort, and update leadership with risks and timelines.
What You Will Do
- Build efficient industry-leading, best practice infused projects in a collaborative environment
- Implement, debug, and optimize code and services which will impact the experience of tens of millions of users
- Work with microservices, gateways, security, queues, serialization, et al. using whatever it takes to “do it right”
- Collaborate with multiple disciplines to implement services to bring to life gameplay features and mechanics – core logic, storage, and other aspects are backend driven
- Maximize test (e.g. unit, integration, etc.) coverage while working to find better ways to stress and test services, systems, and code
- Guide and mentor other engineers and expect feedback while working with the best
- Engineering problem solving, data structure analysis, and designing for scale both in number of titles/products supported and number of users
- Own the full server stack from inception to CI/CD
What You Will Bring
- 4+ years in a services development role
- 1+ years of experience within game and/or mobile services development
- Deployed or released significant features for at least one publicly accessible service with large scale usage and proven uptime
- Thorough knowledge of Java 8 and above with experience in OOO development (e.g. C#, C++, etc.)
- Experience with online social game systems and games with live development
- Previous experience clearly articulating API design and technical requirements with thoughtful documentation gathering requirements, exploring alternative solutions, and implementing code along the way. Maintain and update documentation as needed.
- Able to mockup or prototype services and concepts
- Knowledge of the REST protocol and sockets (e.g. websocket, TCP/IP, etc.)
- Knowledge of NoSQL and SQL databases (e.g. AWS DynamoDB, MongoDB, MySQL, etc.)
- Knowledge of managing builds (e.g. Maven, Gradle, Jenkins, etc.)
- Knowledge of frameworks (e.g. Spring, etc.)
- Knowledge of cloud-based systems (e.g. EC2, ECS, S3, Lambda, BigTable, BigQuery, etc.)
- Knowledge of caching systems and mechanisms (e.g. Elasticache, Memcached, Redis, etc.)
- BS Degree in Computer Science or related field, and/or equivalent years of work experience
- AWS Certified Developer Associate or Professional a plus
How You Will Be Successful
- Communication: Impeccable written and verbal communication with ability to translate technical information in a non-technical format.
- Bias for Action: You have an eagerness to take initiative and persist in accomplishing objectives despite obstacles and setbacks. You work to resolve requests and incidents with a high sense of urgency and ownership.
- Passion & Pride in your work: You love what you do and how you can add value to your clients; You ensure consistency and quality of your work and take a methodical approach to troubleshooting and resolution.
- Logical and analytical: You’re able to distill and synthesize complex ideas into concise, meaningful information to clients. You’re adept at prioritization and project management with attentiveness to detail and consistent follow through.
What to Expect
We offer a professional, fun and creative work environment. While we maintain a good balance between work and life, additional hours may be required at peak times or for specific initiatives.