Guest Blog | A Back-end, A Front-end, And A QA Engineer Walk Into A Webinar
Editors Note: This post was originally published on the Landing.Jobs blog - they've kindly agreed to allow us to republish the piece.
How we foster collaboration between developers through culture and how we coordinate the work within our engineering department.
About Fidel API: a financial infrastructure platform, providing tools to build powerful experiences on top of payment cards. By tracking and identifying card payment transactions in real-time, Fidel APIs can issue offers, verify card holders identity, generate virtual cards and enhance any shopping experience with multiple source data for additional context. We are AWS-first, technology driven and highly focused on building a company that not only keeps providing increasing value to the end-user but doing so with a team culture that creates a spectacular environment to work, progress and collaborate on.
For this blog post, we want to focus on our culture, team, values, and how we coordinate the work within our engineering department. To achieve this objective, we combined the viewpoints of three developers: a Backend, a Frontend, and a QA, to explain who we are, how we work, how we improve and use shared experiences to build a better team. Oh, and also how we make it fun – because what’s the point if there’s no fun involved?
We’ve divided our company culture in three main areas: Collaboration, Growth and Fun.
A Culture Of Collaboration
At Fidel API, we pride ourselves on having multifunctional teams that work together towards the same objectives. As our company is positioned as the connectivity layer for all major card networks, the backend infrastructure is the core component of our product offerings.
However, to build a coherent product suite, we need the frontend to create visual interfaces that guide our users to our offerings, allow them to subscribe, configure, and retrieve/analyse the available data in a visually appealing and intuitive way. The frontend is essential to our offerings and the coordination between the frontend and backend engineers is crucial.
We place the same amount of importance in QA, to make sure that our products adhere to the highest standards of quality and security. Our QA engineers do this via automated tests – from unit and integration, to API-level end-to-end – to ensure human error is a managed and diminished risk factor. These interactions are why one of our biggest priorities as a company is about providing an environment that fosters collaboration between all of our engineers, regardless of their area of focus.
This effort is a continuous learning process. Although some of our teams – like Offers – have operated as multifunctional workforces with a backend, frontend and QA engineer, some of our newly created ones lack that same team depth. This brought with it a series of pains-points that we had to address moving forward – through aggressively hiring – to guarantee that all of our internal teams remained multifunctional.
This of course does not mean that effective communication and collaboration between teams does not happen or is not encouraged. The opposite is actually true. All teams share their knowledge from different tools and technologies across our stack, as well as experiences, in order to create a common language and shared base of understanding – this helps everyone move collectively towards our goals. It’s also true that alongside collaboration a certain level of healthy competitiveness can motivate developers to rally on a certain objective and further contribute to culture. One example is our weekly pull-request (PR) review competition with tasty, sugar-coated prizes that showcase which developers have been more active in reviewing and commenting on PRs.
Another important collaboration aspect is having access and using the right medium for communication. With Fidel being both a remote-friendly company and with offices in New York, Lisbon and London, we’re an engineering team spread across several regions and timezones. It becomes of the utmost importance to have the correct tools for communicating: for messaging we use Slack, Jira contains all our project tracking, Github holds all our codebases, Confluence centralises the knowledge base and Zoom let’s us see each other’s faces.
A Culture Of Growth
Better communication and speed is not the only observable thing that we gain while fostering collaboration. Ensuring that we grow as a team, and as individuals is a deep concern of ours and having people from different areas closely collaborating together feeds organically into that ideal.
Learning from past examples
A recent example of that occurred while we were improving our hiring processes last year. The backend team has always been our largest and the one that has been scaling the most for a long time now. Our frontend and QA teams, on the other hand, have historically been teams made out of a handful of people. With our recent growth on all fronts, this was something that needed to change, and thus, both teams started to experience an uptick in hiring efforts that forced a total revamping of the hiring processes themselves. Thanks to the processes at hand that the backend team had already tested and evolved throughout the years, it was easier for our frontend and QA teams to adapt their own by using those existing learnings from the backend. Like with every change, though, there were still pain points that needed to be overcome. But the challenge would have been far greater had the backend team not provided a blueprint for hiring that was already effective to them.
Another area that saw high growth was the QA team. Contrary to popular belief that QA engineers are the “boogie man”, we see them as allies that allow us to achieve higher standards in our development goals.
The QA team is always there to provide us with two things: different angles to the problems at hand and leading our backend and frontend developers into thinking about the ‘why’ and ‘what’ of projects. This allows the team to bypass confirmation biases while developing a task and pushes our developers into thinking of new ways that systems could fail.
Aligning through syncs
Another route to enabling growth is via our monthly engineering team meetings, which are open spaces of discussion in which everyone can bring ideas, present demos and partake in conversations with the rest of the team. We have these meetings because we understand that the more we grow, the greater the necessity to guarantee alignment within the whole engineering team. It’s normal that this alignment comes from a top-down approach where all our Product Owners and Engineering Managers try to sync, as a whole. Although this hierarchy is necessary to maintain the correct chain of command, we still feel the need to have a general forum space where everyone can participate, share, and discuss ideas that spawn and grow beyond the team level.
Another example of growth is the celebration and the collective benefit of each team member’s uniqueness. At Fidel, currently, we speak 27 languages and represent 25+ different nationalities. It’s our diversity of background, thinking, talents and skills that allows each one and the group to generate more and better ideas, have a wider range of professional experiences and overall showcase inclusion and respect that leads to a more happy and productive space.
A Culture Of Fun
Of course, not everything has to be about metrics, objectives, key results and obtaining results at all costs. As with everything else in life, work wouldn’t be as enjoyable without some spaces reserved for a bit of fun. At Fidel API, we have a multitude of events happening that allow for that, be it virtual game time Thursdays, our collective coffee breaks that happen throughout the week (strictly non-work discussions only), or the many 1-1sthat are either scheduled in or occur ad-hoc, depending on people’s preferences.
We also have company off-sites happening every year – albeit during the pandemic it has been difficult to pull off physically, we’ve managed to circumvent with fantastic online events that have brought the ruins in Athens, apiaries in Lisbon and even drag queens teaching us how to make sangria (whilst serenading us) to our shared screens. At the end of the day, we’re a team of people and socialising and having fun is part of what makes us human and a united team.
Don’t screw your culture
With all the challenges that lie ahead, there’s this innate need in preserving our culture at all costs. We believe that it is especially important to establish relationships between us all and to remind everyone that we are a team on the same boat, rowing as much as we can in the same direction. Being honest, respectful, open-minded and available for your colleagues is at the core of all the efforts, projects, side encounters and practises shown above. Ultimately, they allow us to establish a stronger bond and maintain the culture of collaboration, growth and fun. This is a culture we aim to maintain, expand and continue improving going forward, no matter the size of our team.
If you are interested in working for a company that embodies these cultural values, have a look at our careers page. We would love to get to know you!
André Santos, Senior Backend Engineer @ Fidel API
André is a Senior Backend Engineer at Fidel API since late 2020 and is currently within the transactions team, which is responsible for the card network integrations and all the financial transaction gathering, processing and enrichment.
Stefanos Varsanis, QA Engineer @ Fidel API
Stefanos is a Quality Assurance engineer in the Merchant Onboarding team in Fidel which is responsible for connecting all the merchants data between Fidel and the card networks. Passionate about strengthening the product by working on the software quality attributes.
Jorge Díaz – Frontend Engineer @ Fidel API
Jorge is a Frontend Engineer at Fidel API since early 2020 and is currently within the Journey Team, which is responsible for making our products easier to understand, adopt and scale.