Engineering – Backend Engineering
Who we are
TFG is the largest mobile game company in Latin America, and one of the largest in the world. In 8 years, we have released over 70 games, including hits such as Sniper 3D, the leading FPS game on App Store and Google Play Store, and Colorfy, the world's most popular coloring app. Our games have been downloaded 1 billion times in 125 countries. The team started with two brothers, and now there are around 320 of us – and counting. To build the very best mobile games, we gather exceptional talent in software engineering, art and animation, product design and management, marketing, and data science.
About the Team
Backend Engineers are responsible for defining the architecture and implementing systems with high availability and scalability which interact with millions of players across the world and are essential to our games. Besides directly impacting our players, our team is also responsible for developing internal systems and tools, used by a wide variety of teams of the company, from other engineers to recruiters. To achieve both goals, we work with a broad technology stack and have a mindset of being fully responsible for our systems, from their conception to incident resolution and troubleshooting in production. We are always collaborating with other engineering teams, to provide the best experience to our players.We own several services that, combined, serve more than 1 million requests per minute. We know this number will only grow and we're looking for engineers that can help with the challenges of developing backend systems that perform well at large scale.
About the Role
TFG Co is searching for software engineers to join our backend team. We seek an engineer with robust programming and systems design knowledge. Since we are always looking for new tools and technologies that better solve our problems, we value professionals that like to learn new things, are autonomous and proactive to bring and implement their ideas.As a backend engineer, you'll work directly with the games' teams to develop world-class systems and services for our games. You'll also work closely to other teams such as data science and player support to empower and enable them to do their work faster. We'll need you to understand our systems flows, identify common demands from games and other teams, and design resilient systems with great usability and performance.
More about you
- Player focused. We are, and our servers and systems have a high impact on their experience. You have empathy with our players and focus on ensuring they have an amazing experience. You aim for a top-level system design, guaranteeing the highest availability possible.
- Empowering teams is key to scaling. We look for engineers that have a history of designing systems and services that enable others to do their best work. You have a keen eye for standard features and demands and can build from different requirements and expectations to a common ground.
- High scale and low-latency. You are excited about the challenges brought by the high scale and low-latency requirements. You thrive when discussing the architecture and best practices of such systems and has excellent attention when developing its internals to ensure an efficient and easily maintainable code.
- Bleeding edge. You are curious and like to study new technologies, test new solutions, and measure the impact brought by changes. We want to ensure we are using the best stack possible.
What you’ll do
- Design, implement, deploy, and maintain systems which will be shared across our games. It is therefore essential to guarantee their scalability and availability. Some examples: Scalable game server framework (e.g., pitaya); backend servers for our multiplayer games, chat platform, massive push notification service.
- Identify frequent demands from games, design and propose solutions which improve everything from our development process to the end-user experience.
- Develop tools which facilitate the work of other teams and make them go faster.
- Develop and monitor platforms on which we concentrate our current production stack.
- Detect and fix problems in production environment.
- Contribute to the best practices of development, reliability, and availability of our systems.
- Handle high volumes of data in real-time systems.
What you'll need
- Bachelor's degree in Computer Science, Computer Engineering, or equivalent experience.
- Excellent analytical, and critical thinking skills.
- Solid understanding of computer science concepts (data structures, networking, concurrency, memory management, algorithm analysis, etc.).
- Experience with Docker and Kubernetes.
- Experience with Redis, MongoDB, DynamoDB, Postgres.
- Experience solving problems and optimizing the performance of APIs.
- Experience developing and maintaining systems with a high volume of requests.
- Experience developing systems in the games industry.
- 3+ years of software development professional expertise.
We welcome people from all backgrounds who seek the opportunity to help build the best gaming company, where everyone thrives.