I work as an engineer in a team structured as follows
project manager (my manager)
└─── lead data scientist (my technical lead)
└─── me (and other engineers)
Unfortunately, I'm not convinced the technical lead's technical skills are up to the standard required for his job:
his knowledge of statistics is low, and I've had to explain 1st-year-undergraduate-level material to him;
his coding practices are poor: he doesn't know how to use git (branches are mystery to him) and doesn't write unit tests (which would be OK if his code was perfect, I guess, but it's not);
he has poor machine learning practices: doesn't seem to be able to implement cross-validation correctly (even with Python's easy sklearn API), is unfamiliar with model explainability/interpretability, and does virtually no exploratory data analysis;
some of his visualisations would be worthy of viz.wtf. They literally make no sense, for the simple reason that he hasn't spent 5 minutes exploring/understanding the data before trying to plot it.
Working together is becoming increasingly hard and borderline unpleasant. He's very argumentative and doesn't respond well to his work being criticised / other ideas (which are sometimes necessary if we want the project to have any chance of being completed successfully).
This situation doesn't seem very stable.
In this situation, should I approach our manager and politely state my reservations about the technical lead, or is it best to just do my best and make the most of the difficult situation?
should someone approach their manager
..they are you manager, too - right?