Job Description – Senior Server Engineer (Python)
The Senior Server Engineer performs a variety of engineering tasks related to the design, development and implementation of server infrastructure. Areas of focus include network communication, development and maintenance of server side game logic systems, security and maintenance of high volume online usage. Interaction with game designers and other engineers is required on a regular basis.
Work with engineering team to create high quality software that meets both functional and non-functional requirements.
- Participate or lead architecture and design of major server systems. Shares opinions about major technical decisions that drive the engineering team and the project.
- Work with the other departments to define and reach common goals, focusing on engineering efforts within teams or crews.
- Facilitate communications between engineering and other departments.
- Meet project deadlines and milestones as set by the studio.
- Typically spends about 80% of the time working directly in code (designing and developing new code, updating or maintaining existing code, and fixing bugs).
- Remaining time is spent mentoring less senior engineers, helping to define short-term and mid-term schedules and milestones, participating in code reviews and interviews, and leading small teams.
Knowledge, skills & ability requirements
- Minimum 5 years experience with Python and MySQL. Some experience with C++, Twisted, Django, Apache and/or Amazon AWS is desirable.
- Ability to build, deploy and maintain production web and API service applications built with Python.
- Strong motivation to analyze and improve systems and infrastructure.
- Knowledge of Python unit and integration testing methodologies.
- Demonstrated ability to design complex event driven client-server systems.
- Experience designing and building multithreaded and asynchronous systems.
- Experience with deploying services into a cloud computing environment to support fault tolerance and scalability.
- Experienced with code optimization.
- Prior experience in protocol design and optimization.
- Demonstrated ability to create Design and Functional Specification documents.
- Excellent oral and written communication skills; excellent organization and efficient time management skills are required.
- Proven ability to work effectively on large teams in a deadline-driven environment.
- Experience integrating third party APIs including social network APIs such as Facebook, Google, and/or Game Center.
- Knowledge of and experience with distributed systems.
- Expert understanding of performance issues, and real-world experience designing systems to handle high volume.
- Experience with game server deployment a plus.
Bachelor degree in Computer Science is preferred.