We are a multi-discipline team of engineers supporting our live services and the developers who create them. As DevOps engineers our role covers the entire life-cycle of a product, from helping the developers with architecture and delivery to on-call incident response and triage. We focus heavily on automation and continuous integration/delivery, ensuring that everything we deliver is robust, efficient, and supportable.
- Being the escalation path for on-call incident response and triage
- Performing root cause analysis and post-mortems with an eye towards future prevention
- Creating configuration management and infrastructure automation
- Designing and implementing CI/CD pipelines for all that we build
- Designing and delivering core infrastructure services
- Preemptively creating stability, security, and performance improvements via metric/monitoring analysis
- Making sure every service has a complete high-availability and disaster recovery story
- Maintaining security standards across everything we support.
- Producing documentation, runbooks, and support tooling for online support teams
What we are looking for:
- A self-starter with a considerable breadth of technical knowledge and the ability to dig deep when necessary.
- Someone who communicates well with people across dozens of teams and practices.
- An engineer with a passion for excellence, a devotion to automation, and an eye for efficiency.
- A consummate problem solver.
- Systems Administration: a strong understanding of *nix is mandatory. Familiarity with both RHEL and Debian family distros is preferred. Strong skill with ad-hoc scripting a plus. Understanding of core services like DNS, DHCP, LDAP, logging, etc.
- Networking: a strong understanding of networking basics is mandatory. Switching/routing, VPNs, load balancing, proxying, network virtualization, firewall basics (especially iptables) and general netsec best practices.
- Programming Languages: experience with Ruby and Python is preferred. Ability to dive into the code during triage or while trying to understand behavior is a must. Familiarity with C/C++, Go, Java, and Scala is desirable.
- Automation: experience with configuration management and infrastructure as code tools is a must. Chef (preferred), Puppet, Terraform (preferred), Packer, CloudFormation, etc.
- Distributed Systems: a strong understanding of distributed systems is a must. An understanding of the CAP theorem, techniques for high availability, service discovery, secret management, etc.
- Virtualization, Containerization, Cloud Computing: AWS (preferred), GCP, Azure, VMWare ecosystem, Kubernetes (preferred), Docker, Vagrant, etc.
Please send resume to firstname.lastname@example.org
The Infrastructure Program Manager is responsible for the successful delivery of assigned Infrastructure-related Programs/Projects. Key responsibilities include:
- Ownership, and oversight of assigned programs / projects;
- Understanding, and evangelizing Strategic Context to all project Stakeholders;
- Direction setting, leadership and overall coordination of project team members;
- Monitoring, and maintaining project execution plans, resource plans, and project budgets ensuring timely project delivery while meeting defined Quality standards.
- Project Delivery: Manages the project lifecycle in accordance with the PMO methodology, paying careful attention to project scope and objectives (change management), detailed project timelines, resource plans, and budget consumption. Monitors internal and external dependencies between related projects. Performs value/benefit realization analysis;
- Issue & Risk Management: leads identification and resolution of risks and issues, including escalation management when required;
- Project Reporting/Communications: Reports the status and progress of programs and projects to the PMO, project team and Stakeholders. Provides periodic program health assessments;
- Financial Management: Oversees various administrative activities that maintain financial compliance, and tracks and reports on the budget and ROI;
- Quality Management: Ensures Quality standards and procedures are defined/identified and adhered to for all projects. Conducts defined project phase reviews throughout the lifecycle of project;
- Team Management: Ensures project teams are effective (working model, trained, etc.). Demonstrate the ability to effectively manage external and internal resources as “one team” to deliver initiatives. Facilitates collaboration among teams in the global environment. Facilitates collaboration among project managers within the program, ensuring visibility into their mutual dependencies.
- Minimum 8 years relevant of project management and infrastructure experience.
- Background should also include experience in online/internet related technologies, experience with public cloud service offerings, preferably AWS and infrastructure experience (exposure to any of the following: eCommerce, Networking, Security, Systems Administration, Database Administration, Storage, Data Center related technologies).
- Experience with project management tools and preferably PMP certified.
- Experience managing geographically distributed and culturally diverse work-groups.
- Experience in working with Outside Service Providers.
- Ability to translate business issues into system solutions, with a demonstrated proficiency in evolving and managing systems development.
- Excellent organizational, analytical and communication skills: detail oriented.
- Strong interpersonal and relationship management skills.
- Strong problem solving skills.
- Ability to self-direct and manage large teams.
- CS Degree preferred or similar
Send resumes to email@example.com
The QA Analyst is a test expert that applies black box testing techniques to define a testing approach that will help prevent and/or identify, isolate and report issues as early as possible. This requires an analytical approach that seeks to understand system designs, defining and executing an effective test strategy that both ensure functionality and challenges the system. As a QA Analyst, you look at a game as not only a player experience but as complex interactions between Software & Hardware (ex: I/O systems, wireless communications, client/server architecture, external services, and databases).
• Identify, isolate, regress and communicate bugs effectively and efficiently. Focus on high complexity, hard to isolate and potentially high impact bugs.
• Working embedded with development teams to ensure quality of code deliverables within the Agile Development process
• Develops in-depth understanding of systems/area under their ownership and communicate progress, status and risks. Requires a deep understanding of system architecture and implementation.
• Develop, maintain and execute a test strategy, checklists, and tests for their areas of ownership • Driving a test early methodology within the Development team
• Provide Development Support as needed Private Build Testing, System and Risk Analysis, Investigation and Isolation and Regressions
• Create, maintain and verify TFCs (Tests for Completion) for their ownerships
• Develop strong partnerships with Development Teams and QA Partners
• Develop expertise with in-house and 3rd party test tools (i.e. code coverage & load testing tools)
• Develop automated test scripts to improve testing effectiveness and efficiency for their areas of ownership
• Help improve Test and Development Processes (ex: championing a workgroup or test tool)
• Helps coach and mentor team members
• Autonomous Deliverables
• Quality Bugs Well isolated, clear and concise bugs
• Test Strategies/Plans and Checklists for areas of ownership that ensure high level of software quality through prevention and early detection
• Status Reporting for their areas of ownership (Risk Analysis, RCA/CAPA, Defect Density, Performance)
• Experience with Test Automation and Test Tools
• Strong understanding of Software Development Tools
• Understanding of Software Development Lifecycles
• Fundamental Programming Knowledge (Asset)
• Knowledge of Agile (Scrum, XP etc) Development Processes (Asset)
• Passion for Games (Preferably mobile/social) (Asset)
• Experience with Mobile Games or Products (Asset)
Please send resume to firstname.lastname@example.org
Software Development Engineer in Test (SDET)
- Work with development and quality assurance teams to develop test plans, understand risk, and establish quality goals from a QA perspective.
- Gather requirements to implement continuous test improvement.
- Identify, design, and implement technical solutions that increase test efficacy, effectiveness, and coverage while reducing overall cost of test execution.
- Analyze design and source code to determine needed test hooks and API testing.
- Understand test hooks and API testing necessities through code and design analysis.
- Design, implement, modify and utilize test harnesses, automated solutions and tests.
- Create and deliver metrics on quality and risk analysis to stakeholders.
- Analyze test data and results to identify patterns and influence software quality.
- Coach and mentor SDETs and provide code reviews.
- Lead test automation team members.
- Develop training materials for project team and lead workshops for technical test design, requirements gathering, and risk identification.
- Work with third party vendors as needed.
- Other duties as assigned
- Bachelor’s Degree in Computer Science or equivalent experience
- Minimum of 10 years’ experience in software testing
- 4+ years strong practical, commercial experience writing automated tests using Junit
- 4+ years strong Java, C++ or C# experience
- Experience with standard Java/OO design patterns.
- Practical experience testing/exercising REST APIs – JSON preferred
- Practical experience writing multi-threaded tests
- Expert in architecture of and writing test scripts in Python, Lua, or Selenium
- Proven ability to create data analysis tools and interpret large data sets
- Experience creating automation frameworks and / or test harnesses
- Passion for video games and software quality
- Master’s Degree in Computer Science or equivalent field
- Experience with application lifecycle and test case management software development planning tools
- Expert working in JIRA and test case management software
- Experience with Cloud technologies
- Experience with enterprise software automation solutions
- Experience testing on multiple platforms, Windows, Mac, console, and mobile
Please send resume to email@example.com
Role of a Back-End Software Engineer at our Game Studio
- Develop distributed, resilient and high-performing back-end services using Scala
- Leverage modern open-source stacks including Scala and Finagle
- Deploy services on AWS using Apache Mesos and monitor them together with our SRE team
- Work closely with front-end developers as part of a feature team
- Be responsible for performance testing at the server level and load testing at the service level (using tools such as Locust)
- Be proactive about service errors, interruptions and performance issues
- 2+years of experience
- Excellent skills in developing distributed back-end services
- Understand full service stack, from UI in the front-end to databases in the back-end
- Passion to investigate and adopt new technologies and practices
- Great communication skills that supports a collaborative working environment
- Experience with JVM and Scala
- Experience with Apache Mesos and/or Cassandra
- Experience with AWS
- Experience with continuous integration and delivery
- Comfortable working with Unix type systems
- Experience in the games industry
- BSc in Computer Science or equivalent experience
- Must be able to travel internationally for about 1-2 weeks
Please email resume to firstname.lastname@example.org