I was recently asked what I thought made for an effective data science team. Happily, I think my opinions on this topic are becoming more relevant, nuanced, and commercially valuable.
Two specific criteria I've recently thought of are:
A nuanced understanding of software architecture patterns - what they are, why they're relevant, what are strengths and weaknesses of popular solutions to common problems.
The avoidance, or deliberate unlearning of programming practices that are learnt in academic (and to a lesser extent hobbyist) contexts.