The product team at Fiksuruoka–Foodello is an ever-evolving group of full-stack developers, designers, and measurement specialists, with unique skills and expertise. But what really sets them apart is their way of working towards supporting our mission: reducing food waste.
Our Product team consists of nine team members – developers, designers, and a measurement specialist.
“What connects us as a team is that we have people who have an intrinsic motivation to product development and self-development”, says Eljas Jalo, Tech Lead and Product Team Lead.
In addition to Team Lead’s role, as a Tech Lead at Fiksuruoka–Foodello, Eljas is responsible for strategic planning and executing singular tasks.
“But most of my time goes to supporting my team”, he says.
The Product Team is responsible for developing our online store that focuses on reducing food waste. Their biggest challenge is to develop our online store in a way that helps customers create routines around buying surplus batches from us and fighting against food waste.
“It’s challenging because our selection is by nature unpredictable and constantly changing which makes creating routines hard”, Eljas explains.
Let’s begin with a quick breakdown of the roles within the product team.
“All of our four developers are interpreted as full stack developers. Some of them are more familiar with frontend development and some are more specialized in backend”, Eljas says.
Our developers develop the new features from ground zero. This means developing every part of the system: frontend, backend, databases, external services, and infrastructure. And documenting everything on the way of course.
“All of our four developers are interpreted as full stack developers. Some of them are more familiar with frontend development and some are more specialized in backend”
So, all of them work on every part of product development but everyone has an opportunity to take on the tasks they are the most familiar with or the parts of the system they want to get better on. In addition, they have shared ownership of the quarterly, monthly, and sprint projects and brainstorm about how we should face different problems.
“Things we are now focusing on are increasing the developer experience, making the codebase more maintainable, and evolving our company’s best practices. And of course, we provide actual value to our customers when we are developing features that make their life easier when ordering from us”, Eljas says.
Designers work closely on identifying what should be done and how from the customer’s perspective.
“Our three designers are our link to other teams in our company. They spend a lot of time discussing with different teams to find out the needs for development. They also help marketing and our brand team a lot if there are needs in terms of design.”
Designers have the best understanding of our customers since they interview them a lot and make questionnaires. Their goal is to see the big picture and find out what is working in our product, what’s not, and what needs development. They are also aiming to get a comprehensive picture of our customers and the user experience.
“Designers brainstorm a lot with our developers about how they want things to look like and what is actually possible and reasonable to execute”, he says.
Our current Measurement Specialist, the only one at the moment, is our web tracking and data guru. She makes sure we have insight into what our customers do in our store before purchasing and helps our data team to include this data in the company-wide analysis. She is also a key player when it comes to optimizing advertisements. This helps our marketing team to do advertisement decisions based on relevant data. In this role, there is A/B test analysis, using analytics software and helping marketing teams with marketing pixels.
“This information is crucial to us because we can then enhance the user experience if we know what the customers are doing in the store before purchasing”, Eljas explains. “And because we are talking about data, there are many legislative and ethical things to consider as well, and that’s measurement specialist’s piece of cake”, he continues.
“From a technical perspective, we are more than a traditional online store”, Eljas points out immediately. Product team works with modern technologies and tools. There are features of web and application development that make this an inspiring playground for developers to improve their skills.
“Our technology is cutting-edge and scalable”, Eljas says. “We use serverless servers to ensure seamless scaling up or down as needed and rely on NoSQL databases to support horizontal scaling”, he continues.
"From a technical perspective, we are more than a traditional online store. -- Our technology is cutting-edge and scalable."
The tech stack is unified with a single code language, ensuring consistency and making it easier for developers to collaborate and maintain code quality. “Our frontend is built on Vue.js and Nuxt.js, while Typescript and Node.js power our backend for REST APIs and cloud functions. And our hybrid solution for native apps uses the same frontend code base and Capacitor.js as a link, ensuring consistency and streamlining development”, Eljas says.
Product team has adopted agile scrum ways of working meaning that they maintain a continual focus on learning and improvement throughout the development process.
When it comes to daily actions, the team follows two-week sprints. “It helps to keep our development process efficient and prioritize the most important tasks”, Eljas says.
“Everything starts with our annual strategy, which we split into quarterly goals. Then out of those, we define monthly goals that are then split into 2-week sprints. By splitting the big picture into smaller goals, we are able to see the process and evaluate what needs to be done to achieve our annual goals”, Eljas explains.
After every sprint, the team has a retro meeting to evaluate their actions and give feedback to each other. “These are valuable meetings because it helps us not only do better in the future but also allow everyone on the team to speak their mind. There isn’t a thing too big or small that should not be discussed in these meetings. It helps everyone to develop”, Eljas emphasizes.
To be able to maintain all these ways of working requires seamless and constant communication. “We put emphasis on this to make sure team members of different disciplines know what needs to be done when working on any given project”, Eljas says.
The culture of testing is prioritized in many ways, whether it’s through user feedback or automated tests. It is also seen in the different stages of product development.
“Our ideology goes from developing minimum viable product to minimum marketable product to minimum lovable product”, Eljas explains.
It means that the team aims to move forward and test the next version of new features with as low effort as possible. This ensures that they validate if the features are working and then iterate it until our customers love it.
Lastly, each member of the team has opportunities to take ownership of different actions if they wish to do so. This allows them all to have more control over different projects and ensures that tasks get completed quickly and efficiently.
“It also gives them a chance to collaborate with other members outside of our own discipline, which helps foster creativity and innovation across teams”, Eljas thinks.