Wow, now I feel the urge of wanting to apply to Flo :D
I found the backend strategy towards mobile super interesting! I worked in a mobile team for some months that struggled a lot with delivery (for different reasons), and I loved seeing how Flo approach this problem while being super customer centric.
Hi Jose, nice to meet you. I'm Demetris and I'm a Director of Engineering at Flo - I can help with answering that question.
At Flo, we consider machine learning an engineering discipline. I think your query touches on the popular question about the differences between Data Engineers, ML Engineers, MLOps Engineers, Data Scientists and so forth, and where the line is drawn between them. Different companies approach this in different ways, and I won't claim there is a single optimal/correct answer here.
But at Flo, when we hire ML engineers, we are looking for well rounded individuals that are maybe hybrids between what the industry usually perceives as "Data Scientists" and "ML engineers". We want people who have both a strong understanding of statistics, machine learning theory, and who are also good coders, who can build engineering pipelines and own their work end to end.
We don't have anyone in Flo with the title "Data Scientist". The closest equivalent is "Machine Learning Researcher", and these people are still embedded in some select engineering teams, work with ML engineers and offer their expertise to further advance how we approach complex problems.
To give this a more personal touch, one of the teams in my stream that deals with personalising the comms experience of our customers is cross-functional in the following way:
- ML engineers work on the models that provide the best recommendations
- Backend engineers work on the service that sends those recommendations to the app
- iOS and Android engineers work on the app module that takes those recommendations and actions them
The nuances/contracts/protocols that have to be followed require the input of all the above engineers that collaborate to achieve the team's goals.
Thanks a lot for your comprehensive reply! I have experienced both being embedded and being a data science only squad. I can see the advantages and disadvantages with both.
It would be amazing to chat about this with you if you are interested in sharing learnings.
Some things that come to mind that would be super cool to bounce ideas:
* Having Data scientists embedded within an engineer squad might require that these DS are senior enough to figure out their work.
* How to ensure psychological safety for DS if there is a higher proportion of engineers.
* Do the DS adhere to SCRUM planning? ML modelling is less deterministic than an engineering feature.
* How do the engineer managers help the DS growth? Or are there DS managers who lead DS individual contributors?
(I probably can think of 50 more questions 😅)
If you are up for a virtual chat, I would be super happy to chat through DM to organise something!
Great article. I love the way the teams were given unique responsibilities and how they were setup and managed. That does give a unique dimension to solving many problems combining engineering and business.
This was a great article and I appreciated the specifics around dev productivity measurements 🙏. I'm curious, what system do you use at Flo to track those metrics?
Hi Jordan, we mainly use Jellyfish (https://jellyfish.co/) which provides a lot of dashboards ootb. But for few things such as amount of tasks delivered, I am using my own Jira dashboard.
Wow, now I feel the urge of wanting to apply to Flo :D
I found the backend strategy towards mobile super interesting! I worked in a mobile team for some months that struggled a lot with delivery (for different reasons), and I loved seeing how Flo approach this problem while being super customer centric.
Yeah I felt the same, sounds like a great culture :)
Amazing article.
Given that I lead a machine learning discipline, I was wondering how data scientists are embedded in Flo’s structure.
I saw in the stream diagram something related to ML and it seemed that 2 data scientists were part of the engineering “squad”. Is that correct?
It would be great to ask the engineer manager of that squad how does she/he deal with having such a different discipline within the squad.
Interesting question :)
I'm curious too to hear what Eugene and Nihan can share on that topic
Hi Jose, nice to meet you. I'm Demetris and I'm a Director of Engineering at Flo - I can help with answering that question.
At Flo, we consider machine learning an engineering discipline. I think your query touches on the popular question about the differences between Data Engineers, ML Engineers, MLOps Engineers, Data Scientists and so forth, and where the line is drawn between them. Different companies approach this in different ways, and I won't claim there is a single optimal/correct answer here.
But at Flo, when we hire ML engineers, we are looking for well rounded individuals that are maybe hybrids between what the industry usually perceives as "Data Scientists" and "ML engineers". We want people who have both a strong understanding of statistics, machine learning theory, and who are also good coders, who can build engineering pipelines and own their work end to end.
We don't have anyone in Flo with the title "Data Scientist". The closest equivalent is "Machine Learning Researcher", and these people are still embedded in some select engineering teams, work with ML engineers and offer their expertise to further advance how we approach complex problems.
To give this a more personal touch, one of the teams in my stream that deals with personalising the comms experience of our customers is cross-functional in the following way:
- ML engineers work on the models that provide the best recommendations
- Backend engineers work on the service that sends those recommendations to the app
- iOS and Android engineers work on the app module that takes those recommendations and actions them
The nuances/contracts/protocols that have to be followed require the input of all the above engineers that collaborate to achieve the team's goals.
Hey Demetris!
Thanks a lot for your comprehensive reply! I have experienced both being embedded and being a data science only squad. I can see the advantages and disadvantages with both.
It would be amazing to chat about this with you if you are interested in sharing learnings.
Some things that come to mind that would be super cool to bounce ideas:
* Having Data scientists embedded within an engineer squad might require that these DS are senior enough to figure out their work.
* How to ensure psychological safety for DS if there is a higher proportion of engineers.
* Do the DS adhere to SCRUM planning? ML modelling is less deterministic than an engineering feature.
* How do the engineer managers help the DS growth? Or are there DS managers who lead DS individual contributors?
(I probably can think of 50 more questions 😅)
If you are up for a virtual chat, I would be super happy to chat through DM to organise something!
Wonderful issue
Great article. I love the way the teams were given unique responsibilities and how they were setup and managed. That does give a unique dimension to solving many problems combining engineering and business.
Thank you Raja! All credit to Eugene an Nihan :)
I was also really impressed by the structure, and how deliberate it is.
This was a great article and I appreciated the specifics around dev productivity measurements 🙏. I'm curious, what system do you use at Flo to track those metrics?
Hi Jordan, we mainly use Jellyfish (https://jellyfish.co/) which provides a lot of dashboards ootb. But for few things such as amount of tasks delivered, I am using my own Jira dashboard.
Makes sense! Thanks, Nihan!