Djamel Zouaoui is Tinyclues’ VP of Engineering, a strategic position in a company with a tech culture firmly centred around “business” results. After graduating from a prestigious engineering school, Djamel worked for more than ten years as a technology consultant and in several leading web companies, including Meetic and Viadeo. He joined Tinyclues in April 2016. In this article Djamel shares his vision of the role of technology within the company: a mix of excellence, a sense of sharing and taking the initiative.
1. What is your role at Tinyclues?
I lead the whole Research & Development team. That includes both the Development team and the Data Science team. The projects we work on are usually long term and comprise the following:
- Day to day: we make sure that the platform runs smoothly and that our users are satisfied;
- Medium term: we develop new functionalities to assist our clients with their CRM strategy and to improve the performance of their campaigns;
- Long term: we work on the next generation of algorithms to make sure we are constantly creating greater value for our clients and maintaining our leadership in technology.
My personal day to day responsibilities involve:
- Maintaining cohesion and efficient functioning of the team;
- Ensuring a high standard of the delivery and the quality of new features;
- Oversee the monitoring of new methodologies and technological “best-practices”
- Develop! We have a strong coding culture at Tinyclues meaning everyone within engineering, managers included, get to do some coding.
To do all of this, I stay in constant contact with other Tinyclues teams, especially the Product, Operations and Customer Success teams. I also oversee the implementation of good working methodologies. Our company focuses on “delivered features”, so we use an Agile approach and follow the Scrumban methodology.
It’s also my job to recruit and develop the skills of the whole R&D team. We are always looking for new talents at Tinyclues. Today, we have five to six exciting opportunities for new candidates.
2. How is your team set up?
Our setup is quite unique. We work in “feature teams”. That means we have four coexisting teams that work completely independently, each with all the necessary Data Science, Product, IT and Data Engineering skills to respect its roadmap. So each team can build, deliver and run a product independently around its functional scope as well as having a common objective: delivering new features! With this setup we can offer a very aggressive time to market for new features.
We also have put in place communities of practice. These communities mean that staff who are interested in the same subject can get together to share best practices and skills in a specific field of expertise. In actual fact, these communities help break down the barriers between the Engineering team and other Tinyclues departments.
All members of the Engineering team are encouraged to take the initiative to set up a community of practice. They simply suggest a topic that other people at Tinyclues might show an interest in. It’s that simple. And if no one shows any interest, we have quite a Darwinist approach and we learn lessons from it.
3. What technologies do you use at Tinyclues?
Our technological foundation is based on the programming languages Python and Scala, perfectly adapted to the processing related to Data. And that’s Tinyclues’ core business.
Because we’re a startup, our operating specifics are pretty cool. For example, we run entirely on the Cloud. That’s a huge plus point for the Engineering team: our resources aren’t under any strain, so we can carry out experiments and run POCs (proofs of concept) in no time at all.
We use a lot of tools that revolve around the distributed computing ecosystem. In this field, our data-processing challenges are enormous. For example, we use Spark, Mesos, Akka Stream and many other cutting-edge and truly tasty tools. This is a huge drawcard for real devotees who want to come on board.
4. What is the corporate culture like at Tinyclues?
We have a really strong culture of sharing. For example, every two weeks an internal meetup allows any member from the team to speak up. Anyone can explain a piece of code they have written, a technology they have discovered, a conference they went to. Knowledge sharing is fundamental for us, both within our teams and across departments. It doesn’t matter who went to a Data Science conference or to an infrastructure training course. The communities of practice are the cornerstone of this sharing.
Tinyclues also encourages team members to work independently and use their initiative. For management, we think a good idea can come from anywhere. For example, a developer who has just joined us can suggest changes to the architecture or new technologies that we should be using. We make our decisions collectively. And if it’s a “no”, we explain why it’s not the right time or the right technology. But if it’s a “yes”, we don’t waste any time in getting down to work with a proof of concept, an opportunity study or just going straight to implementation.
5. Describe your ideal developer
My goal is to build a complementary team. For me, the ideal developer doesn’t really exist. Each recruitment opportunity has a specific profile. But everyone we hire has two things in common:
- a passion for data;
- a thirst for technology that pushes the boundaries.
What makes Tinyclues different is that we process huge volumes of data with a SaaS notion. We work with databases from the biggest e-commerce and retail companies throughout Europe and the world. Hence we need very high-level engineers. In terms of values, we’re looking for people who share our sense of sharing and like taking the bull by the horns.
If you’d like to be part of the Engineering or Data Science teams at Tinyclues, don’t hesitate to check out our current opportunities.