I work for a startup. The programmers in the team are split between "the engineering team" that implements business logic and "the data science team" that implements algorithms to make intelligent financial decisions, each with their own managers and non-overlapping responsibilities.
I am one of the newest hires in the data science team (7 months) and I've noticed ever since I joined, the engineering team has held disdain for the data science team. This includes reasons like choice of technology, the processes used, etc. The gist of which is "You do not use the tech we use or follow the processes we follow. You are incompetent. Let us show you how it is done".
My first month in, I was asked by my manager to put some algorithms in place that would make the company a small fortune. I delivered. This did not bode well with the manager of the engineering team who tried sabotaging it by asking me to make changes not signed off by my manager and ultimately playing enough politics a few weeks back to have the ownership taken away from me.
Overhearing conversations criticizing my team is now commonplace. There have been instances where they've changed our working code because they think they did a better job at it. Now the new clarion call is that data science is for everyone and the engineering team has asked the company to pay for a course on machine learning.
Now, I have a few issues with this approach of working, and I'd love to be corrected by the more experienced members of this community if I am taking things to heart.
First, this is less of collaboration and more of meddling. Starting with my pilot project, and now making slow, subtle attempts to take things away from the team.
Second, this is unprofessional in that they are raising questions about our competence despite us delivering on everything we've been asked to build.
Third, the "in" that is demanded by the engineering team is that they be allowed to make statistical models which is actually the best part of our job. Essentially, we'd be relegated to the grunt work like gathering data and maintaining our systems while the better parts are handed to them.
What is a good way to deal with a situation like this?