Developer’s toolbox – a look into our coding habits and practices
At Tactile, we are committed to building high-quality mobile games and we firmly believe that good coding practices play a crucial role in achieving that goal. We follow a set of principles and guidelines that help us write efficient, maintainable, and error-free™ code that meets the needs of our users and stakeholders.
So who better to talk to about this than one of our superstar Backend Engineers, Felipe Fernández. Felipe joined Tactile 3 years ago and is now the Lead Backend Engineer for the part of our Core team that is supporting Marketing & Data operations.
The Core team at Tactile is responsible for building different tools, platforms and systems which are used by our internal teams to manage both our games and marketing operations. These tools are very complex, technical and heavily integrated into our LiveOps and Marketing platforms, and are therefore crucial for the day-to-day game development work.
Here’s an overview of the coding practices our developers follow in their day-to-day to help us achieve our goal of building high-quality mobile games:
“Before software can be reusable, it first has to be usable.”– Ralph Johnson
One of the key good practices we follow at Tactile is the SOLID principles. SOLID stands for Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle, Interface Segregation Principle, and Dependency Inversion Principle. These principles help to ensure that our code is well-structured, easy to understand, and easy to maintain. By following SOLID principles, our developers can write code that is flexible, adaptable, and easy to change as requirements evolve. This allows us to create code that is easy to understand and maintain, even as our games evolve and grow over time.
“Testing leads to failure, and failure leads to understanding.“– Burt Rutan
Another good practice we follow at Tactile is unit testing. Unit testing is a technique that allows us to test individual units of code in isolation, without relying on other parts of the system. This helps to ensure that our code is working correctly and that bugs are caught early on. By writing automated unit tests, our developers can quickly and easily verify that their code is working as intended, and can make changes with confidence. This helps us to ensure that our mobile games are of the highest quality and that they meet the needs of our users.
“Fix the cause, not the symptom.”– Steve Maguire
Dependency Injection and Domain-Driven Design
We also follow the principles of Dependency Injection and Domain-Driven Design. Dependency Injection helps us to create loosely coupled code that is easy to test and maintain. This is a technique that allows us to write code that is not tightly dependent on other code, which makes it more flexible and easier to change. Domain-Driven Design, on the other hand, is a set of principles and patterns that help us to model our code based on the domain of the problem we are trying to solve. This helps us to create code that is easy to understand, maintain, and evolve over time.
“If knowledge is a power, then learning is a superpower.”– Jim Kwik
At Tactile, we also invest into our developers’ ability to grow and develop their professional skills. We do this continuously, by running an internal book club, where we read relevant books, such as “Clean Code”, “The Art of Unit Testing”, “Dependency Injection” and “Domain-Driven Design”, which we then discuss a group. Discussions are encouraged to challenge current best practices at Tactile as a means for us to develop as a group and as a company. Additionally, developers are encouraged to go to relevant conferences and meet ups, to seek fresh ideas and knowledge from the world around us.
“The most damaging phrase in the language is.. it’s always been done this way.“– Grace Hopper
Lastly, we believe in open communication and teamwork. Our developers work closely with each other, and with other members of the team, to share ideas, collaborate on projects, and to ensure that everyone’s needs and concerns are heard. This helps to ensure that our developers feel supported and valued, and that our mobile games meet the needs of all stakeholders.
If you are a talented developer who is passionate about good coding practices and committed to building high-quality mobile games, we would love to hear from you. Tactile is always looking for talented candidates who share our commitment to excellence and our passion for mobile gaming. Apply now to join our team and help us build the future of mobile gaming.