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.

Felipe, our Lead Backend Engineer for Marketing & Data Platform backend team

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

SOLID principles

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

Unit testing

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

Growth

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

Teamwork

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.

We heart clean code!

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.

Time for talent with Roche Ng

Meet Roche Ng, one of our amazing female engineers, working as a part of our Game Content Tools team. Read more about her story below & don’t miss out on her advice for those aspiring to work in game programming!

Tactile: Hi Roche, could you tell us a bit about what you do at Tactile?

Roche: Sure! I’m a proud member of the Content Tools team, and our main goal is to make life easier for our fellow creators. We create digital tools that simplify tasks like content creation, organization, sharing, and analysis. For example, we’ve developed a flowchart importer that takes the hassle out of moving flowcharts into Unity (see the screenshot below). We also have our very own custom map editor, which streamlines the content creation process.

Flowchart importer tool

Tactile: What was your journey to becoming a Game Programmer?

Roche: I’ve always been fascinated by the magic behind creating video games, and that curiosity drew me into the world of programming. As I wrapped up my bachelor’s in computer science, it became clear that my heart was set on specializing in game development. So, I pursued a master’s degree in this field and now I get to bring my passion to life every day!

Tactile: What do you like the most about the team you’re working with?

Roche: We are a very small team, but I appreciate each member very much. My teammates are very talented at what they do. They are good people who always inspire me to do better and aim for improvement. Plus, we get to work with different projects instead of only one, and I think that’s fantastic!

Tactile: What is the most rewarding part of your job?

Roche: We spend a lot of time fine-tuning tools tailored to the specific needs of different teams within the organization, so the real joy for me comes from witnessing these tools in action. It’s like being part of an inventive process where our solutions are not just wanted but eagerly requested by various teams. This sense of being creators and problem-solvers makes our work truly rewarding!

Custom Map Editor tool

Tactile: What are your top tips for those (especially other women) aspiring to pursue a career in game programming?

Roche:
Learn and PRACTICE: Gaining a strong foundation in programming concepts is important, but nothing beats practice. Dedicate time to practicing and honing your coding skills.
Build a Portfolio: Create your own game projects, contribute to open-source game development efforts, participate on game jams! Building a portfolio of your work not only showcases your skills but also demonstrates your commitment to potential employers.
Network and Connect: It’s not always easy to land your first job, or even your first internship. This is why networking is invaluable. Consider attending game development conferences, workshops, and meet-ups in order to connect with like-minded professionals, learn from others in the industry, and discover job opportunities.
Believe in Yourself: Lastly, believe in your abilities and the value you bring to the industry. Your unique perspective and creativity can contribute to the creation of amazing games. Game development can be challenging, but don’t be discouraged by obstacles or setbacks. Keep pushing forward and continue learning.

Time for talent with Chris Lovick

Today we’re inviting into the spotlight one of our Story Directors. Calm tones, great jokes and a head full of ideas! Drumroll please – meet the wonderful & talented Chris Lovick! 👋

Meet Chris, our Story Director 👋

Tactile: Hi Chris, could you tell us a bit more about what you do at Tactile?

Chris: I’m a Story Director here at Tactile, working on our upcoming project 🤫 I advocate for rich characters, powerful storytelling and increased interactivity. I source and implement feedback, while holding the vision and shaping the tone.

Tactile: How does the role of Story Director at Tactile differ from game director roles at other studios?

Chris: Tactile cultivates a creative, iterative environment so being a self-starter and skillful communicator is key. Tactile also puts a high emphasis on storytelling, so directors here need a good command of story and character, a willingness to push the envelope with mature conflicts tempered with lots of comedy.

Tactile: What is the most rewarding part of your job?

Chris: The reward is seeing my teammates grow as artists and people, watching them take risks and hit their stride in real time; also, getting all the feedback from our players, seeing how much delight we bring.

Tactile: What do you think are the most important qualities that every game director should have?

Chris: Be a maker. Be so focused on making art and games that rejection doesn’t phase you. Create a scrappy portfolio of indie games, so when the right opportunity comes along you’ll be ready.

Tactile: When you’re not at work, you are …

Chris: I’m reading in a patch of sun. I’m playing life-or-death games of badminton with programmer Riccardo, or lost to gluttony in the Copenhagen food scene.