Description:
Come join the team at Zynga making an impact across all of the company’s games – Central Technology! We focus on shared client & server tech that drives the core gameplay experience under the hood. We’re looking for outstanding engineers with a passion for technology and the desire to work in a team with dynamic strengths. The Principal Software Engineer will be working with a complementary team of software engineers to craft and maintain Zynga’s core Payments platform, which enables flawless integration with app stores, consoles, and payments processing providers. They will play a key role in helping architect, build and improve the next-gen framework for our games.
Main Responsibilities
- Design and architect new backend applications/services running in AWS
- Optimize and refactor existing services to improve reliability, scalability and to lower cost
- Document and build plans for architecture and system designs
- Take a hands-on approach in architecting, writing and reviewing code
- Review detailed tech plans from others, aligning with the team and Zynga-wide technical vision
- Proactively identify and recommend improvements to address systemic problems and tech debt
- Follow engineering standard methodologies to ensure code quality, performance and reliability
- Work collaboratively across teams to understand product/customer requirements and propose technical solutions
- Provide production and integration support for shared technology across Zynga games
Desired Skills And Experience
- Degree in a technical field (e.g., Computer Science, Computer Engineering) or equivalent experience
- 6+ years of hands-on software development experience
- Expert knowledge in Java and familiar with C++ or C#
- Solid understanding of backend server applications, web services, REST APIs
- Strong familiarity and experience using AWS and/or other cloud computing platforms (IaaS, PaaS, SaaS)
- Familiarity with containers and Kubernetes
- Experience with database systems (SQL, NoSQL)
- Familiarity with web development using JavaScript, Angular, and/or React is a strong plus
- Deep understanding of algorithms, design patterns, debugging and performance optimization
- Experience in object-oriented design of applications/systems
- Experience with agile development methodologies and tools
- Excellent interpersonal skills – particularly the ability to discuss timelines, design concerns, work with distributed teams, and provide effective feedback to team members