Like every other team in the company, the TransferGo engineering team always looks for ways to improve their processes and daily work. And one of the most important steps the team took this year was defining the principles of engineering.
And it’s as simple as that. After much work, our three main principles were in place. They include: working in small and simple increments, building quality and improving ourselves.
First thing’s first—why?
Companies can operate without having any principles. They can tackle issues as they come along and be okay with that. In our case, however, since we’re in the phase of scaling up in terms of both team and product, we require principles in order to create more clarity on how certain things need to be done.
By driving the behaviour we want, we’re able to get the results we need. It also helps us to enable autonomous decision making and better alignment.
When thinking about the principles that would apply to us, we first thought of the goals we want to achieve. As an engineering team, we want to deliver value faster, continuously improve and avoid being bogged down by preventable issues.
Good vs bad principles
When creating our principles, it’s important to take a few things into consideration. In order for the principles to be strong, they have to be clear, unambiguous and specific to the business. They should drive decision making and help people be courageous. For example, targeting good, fast and cheap solutions would be the complete opposite of what the principles should look like.
Our principles are likely to be the same as many other companies. That’s why it’s important to keep the company specifics in mind in order to distinguish us from everyone else.
The TransferGo engineering team’s principles
Work in small, simple increments
We follow Gall’s Law when building systems; starting small and gradually improving. We believe that working in small increments lets us deliver value to our customers as fast as possible. This principle helps us eliminate overly large and complex tasks, as well as any delays in delivery.
Build in quality
Rather than fix bugs, crashes and failures when they happen, we’d rather prevent them altogether. We believe that monitoring defects from an earlier stage enables us to deliver value quicker. When we increase technical debt, we do it only by a conscious and agreed choice. In general, we don’t want to rely on anyone to tell us what needs to be done—quality should be well thought out and executed.
We believe that improving our work is as important as the work itself. By continuously learning and challenging ourselves, we believe we can achieve better and faster results. We value transparency and feedback and are proud of the work that we do.
Does it only apply to engineering?
The unanimous answer is no. These principles are based on our company values that specifically point out collaborative work and the growth of both a team and individual. Seeking feedback and also sharing it with others on a regular basis is really important when working faster. In terms of growth and improvement, it’s crucial to test things, fail and pick up the lessons learned from it. It’s something that we swear by as a team. And so far it’s working really well.