Code Review Behaviors: The Critical Problem of Cherry Picking

- Published on
- /3 mins read
Great code reviews are the backbone of software quality, which makes the widespread problem of "cherry picking" reviews particularly concerning. Let's examine why this behavior indicates significant professional deficiencies.
The Time-Complexity Relationship: Identifying Poor Engineering Practices
When analyzing code review patterns, one particularly troubling behavior stands out: engineers who deliberately avoid complex pull requests (PRs). This pattern reveals itself when plotting review time against PR complexity:
- Complex PRs languishing unreviewed
- Quick approvals on trivial changes
- Consistent avoidance of architectural reviews
- Pattern of selecting only simple, superficial changes
The Cherry Picker - A Sign of Professional Inadequacy
Consider Developer D, whose review history reveals a disturbing pattern. Over six months:
- Reviewed 47 text/design tweaks and straightforward customer entitlement/configuration changes within minutes, sometimes even instantly but never in hours
- Left 12 complex architectural PRs untouched for weeks
- Consistently passed complex reviews to other team members
- Only engaged with simple, low-risk changes
This behavior isn't just inefficient - it's actively harmful to team dynamics and code quality. Cherry pickers like Developer D often:
- Mask their technical limitations by avoiding challenging work
- Force more competent engineers to shoulder additional review burden
- Miss critical learning opportunities
- Create bottlenecks in the development process
For contrast, the proper review behavior is to approach all PRs with equal professional rigor, regardless of complexity and to demonstrate true engineering expertise.
Addressing the Cherry Picker Problem
When you identify cherry picking behavior in your team:
- Direct Performance Management
- Document the pattern of avoidance
- Set clear expectations for review distribution
- Implement mandatory review quotas for complex PRs
- Skill Assessment and Development
- Evaluate technical competency gaps
- Require paired reviews with senior engineers
- Mandate architecture and system design training
- Process Enforcement
- Track and report PR complexity distribution
- Implement automated review assignment systems
- Set maximum wait times for complex PR reviews
Why This Matters
Cherry picking behavior in code reviews isn't just a minor inconvenience - it's a red flag indicating serious professional limitations. Engineers who consistently avoid complex reviews:
- Demonstrate inability to handle technical complexity
- Show lack of professional growth mindset
- Fail to contribute meaningfully to code quality
- Create hidden technical debt through inadequate review coverage
Conclusion: The Imperative of Addressing Cherry Picking
Cherry picking in code reviews represents one of the most problematic behaviors in software engineering. It's crucial to identify and address this pattern early, as it often indicates deeper issues with technical capability and professional commitment. Teams must maintain zero tolerance for this behavior to preserve code quality and team effectiveness.