I’m a machine learning engineer (MLE) working on an e-commerce recommendation system, while our backend engineers manage the serving server. I’m facing communication challenges with the backend lead:
We're building an e-commerce search system, but he refuses to use a search engine due to maintenance overhead, insisting a regular database is sufficient for vector search. However, a search engine offers better algorithms, scalability, and faster improvements in click-through rates.
He often shares strong opinions on ML algorithms in meetings, but while 80% is correct, 20% contradicts my understanding. Our discussions are usually focused on system-level topics, if I challenge him, the meeting may go off track; if I don’t, others (PM and other engineers) might assume we agree, leading to misconceptions. How should I handle this?
This is a classic communication conundrum, and the particular stacks you're on don't super matter here as the solutions are the same across all backgrounds.
Before I go into more details, I first recommend going through this lesson in my communication course: Resolving Disagreements
With that out of the way, there are many, many ways to tackle this problem:
It's important in situations like these to assume good intent because it's frankly easier to work with a tech lead who likes you vs. one who doesn't.
Your goal isn't to prove that their database idea is wrong, it's to make better engineering decisions as a team.
Your goal isn't to call out their gaps with machine learning knowledge, it's to deepen the team's collective understanding of machine learning.
Hi Alex, thanks for your suggestion—it was super helpful. I played Devil’s Advocate against myself today, and the meeting went much more smoothly than previous ones.
I've completed the communication course, but applying it in real-world situations is still challenging. I’ll keep this in mind—thank you!
I played Devil’s Advocate against myself today, and the meeting went much more smoothly than previous ones.
That's awesome! Well done 😊