Engineering at ATA

Department organization

Our software development engineering teams are structured for the following streams of work:

  • Live Operations: Running games and services in production
  • Infrastructure & Tools: Pipelines, containers, and tools
  • New Games: Discovery, prototyping, validation, development

A mix of generalists and specialists

We hire full-stack generalist programmers, but it's common for folks to gravitate towards a specialization. An engineer will typically start in Live Operations where they are familiarized with the technologies, services, and processes. From there, they might choose to specialize in a particular area or move to a new game team.

Specializations

  • Live operations / Site reliability
  • Unity prototyping and rapid game development
  • Unity optimization
  • Full-stack feature development
  • Build & Release automation
  • Event-driven architectures
  • Reactive architectures
  • Infrastructure & cloud engineering
  • Data analytics and insight generation
  • Web development

Our tech stack

Client development is in Unity (C#), but we also support a number of games made in native iOS (Objective C) and Android (Java). On the backend, we build Python-powered microservices, in both request-response and event-driven architectures, using a variety of popular frameworks (Django, FastAPI). Our CI pipeline was established over ten years ago and facilitates dozens of deployments each day.