Key takeaways
Six things to know before reading further:
- MBTI does NOT predict who is a good engineer — per Cruz et al. 2015 systematic review (DOI 10.1016/j.chb.2014.12.008), no MBTI type reliably predicts programming performance at individual level. Use type-pair frictions for diagnosis, not for hiring screens.
- Specific type-pair frictions are predictable: INTJ-ESFP (planning style); INTP-ESTJ (rigor vs execution); INTJ-INTP (architect pace); INFP-ESTJ (values vs deliverable); ENFJ-INTP (warmth-management vs technical depth). Naming these explicitly helps teams resolve recurring tension.
- 'All same type' is an anti-pattern. All-INTP teams produce technically excellent + late shipping; all-ESTJ teams produce on-time + architecturally rigid; all-ENFP teams produce highly engaged + chaotic execution. Diversity is not random — specific complementary pairs reduce specific failure modes.
- Most productive 5-7 person engineering teams need 3 functional roles covered: technical depth (typically NT-leaning IC), execution discipline (typically xJ-leaning manager or senior IC), and stakeholder/team-cohesion (typically xFJ-leaning manager or senior IC). Teams missing any of these three roles produce a predictable failure mode.
- Don't use MBTI in hiring decisions — both legally risky and weak-validity (per /blog/mbti-for-hiring). DO use type-aware vocabulary in retrospectives, conflict mediation, and onboarding conversations. The framework is diagnostic, not predictive.
- Type pattern matters less than role-task fit. Per Brooks's Mythical Man-Month (1975), the productive vs unproductive engineering team difference is more often about role-fit than personality mix. Match individuals to roles where their cognitive style aligns; then worry about team composition.