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?