Back to inside Receeve

receeve’s engineering organization in a nutshell

By Hakan Kaya
Tuesday, December 14 2021

#techinsiders

startup

As  receeve’s team of engineers our goal is to help build our great product and alongside our colleagues re-shape the future of debt collection. 

Our diverse team is geographically distributed working remotely from 10 different countries in 7 different time zones and these numbers keep increasing as our team rapidly grows. We are responsible for executing our product development plans, maintaining our technical setup, onboarding and integrating our new clients. Supporting our clients in the technical sense and offering the best experience  throughout their journey is what we aim for. 

We are sitting between two highways, one connecting to our product team and the other connecting to our operations team along with other responsibilities that connect us to the rest of receeve. Our strong collaboration with the product team focuses  on how to create and improve our great product, while our deep collaboration with the operations team mostly focuses on the processes of onboarding, integrating our new clients and supporting them throughout the whole journey.

A screenshot taken from one of our Tech Weekly call

We keep our engineering organization flat and autonomous so that each engineering team within the organization can carry their own goals and execute them in an autonomous way bringing speed and productivity. We have autonomy in our day-to-day processes, and we value a high degree of ownership in our dynamic environment. We have a diverse engineering team that consists of Backend, Frontend, Fullstack, Data, DevOps, Automation, QA engineers and Data Scientists led by team leaders.

We are following the shape-up methodology for our product development efforts, and we work in cycles. We’ve tried different combinations and ended up following 4 weeks cycles with 2 weeks of cool-downs. We are executing product development plans in cycles, and we use cool-downs to do the planning for the next cycle, fix bugs, implement technical debts, complete unfinished tasks, polish finished features and examine how we performed during the previous cycle.

We currently have two development tracks. One is called Product Track, for our Product Development Team to mainly work on our product development efforts according to our product plans and another is called Flex Track, for our Flex Team to work on our planned or ad-hoc works mostly related to our new or current clients, like integrations. As we grow, we will create new product development sub-teams.

Since we are remote, distributed and working from different time zones, independent execution, asynchronous communications & work is a necessity that adds real value to our work. Once all the product and quality checks are passed all engineers are responsible for the release of their work, so we are shipping fast and constantly improving our product to create more value to our clients. As we all have private lives, a remote-first work environment, flexible schedules and asynchronous work allows us to create the work-life balance we need.

Our remote working culture helps us to utilize engineering efforts to produce together, hire better fit engineers which makes us agile, productive, and strong in the sense of creating better results, keeping up with company goals and market. The engineering culture we created together allows each team member to take responsibility and to execute autonomously which allows us to make mistakes that we can learn from, focus on the results and not just the process, accept constructive feedback and act on it.

Documentation is part of our development effort, and we are making sure we are keeping our product and technical know-how stored, shared, maintained across engineering, product and all other teams within our organization.

As we always want to focus on our product development activities, we don’t like having too many calls, we arrange calls when we really need it. At the same time when we need, we use ad-hoc or scheduled video calls over Slack or Google Meet and sometimes in Discord.

To help coordinate our engineering efforts, we hold a meeting we call Tech Weekly, once a week. We get together with the entire engineering team at Tech Weekly and discuss our priorities, share updates and brainstorm the  tasks at hand.

But it is not all about work, we also come together as a whole team once a month and spend time without including any work-related topics for our Tech Club. We can play games, chat, or do any activity together that anyone can suggest. Team members also can use this time to present to the rest of the team when they have topics they want to share with us about any areas of interest etc. We invite everyone in receeve to come join and hangout with us.

Since we have a responsibility to keep our infrastructure at its best and since some of the client support requests might need the attention of an engineer at any time, we appoint one of our teammates as a Firefighting Engineer every week, for a week, so that he/she can team up with the customer success and engineering support teams to respond to Client Issues and Infrastructure Alerts. By doing so, we are able to respond and solve quickly, while avoiding distracting everyone in the team. When we plan for our Cycles, we don’t plan work for the Firefighting Engineer so that we can only focus on the duty.

It is in our culture that we encourage everyone in the team not to be afraid of trying new solutions in order to exceed expectations. We do not fear making mistakes as long as we learn from them. We always support our teammates in their career path so we can grow together. That is why we have Professional Growth and Leadership Incubation programs to support individuals to always progress.

Want to be part of our next remote team event? Check out all the job postings on our careers page