How to Describe Stubborn Code and People in English at Work
ESL English learning: Master persistence and obstinacy vocabulary like tenacious, intractable, and recalcitrant for discussing legacy systems and code reviews.
Why Tech Teams Need Obstinacy Vocabulary
Every engineer has encountered code that refuses to cooperate—a legacy system that resists refactoring, a bug that evades every fix, or a teammate who pushes back on architectural changes. English gives us a rich vocabulary to describe these situations precisely and diplomatically.
The difference between calling a system 'stubborn' and calling it 'intractable' can change how your team perceives the problem—and how much budget you get to fix it. This article teaches you C1-level vocabulary for describing persistence and obstinacy in technical contexts.
Core Vocabulary: From Tenacious to Intractable
| Term | IPA | Tech Definition | Connotation | Example Context |
|---|---|---|---|---|
| tenacious | /təˈneɪ.ʃəs/ | Persistently pursuing a solution despite obstacles | Positive | Praising a teammate's debugging approach |
| recalcitrant | /rɪˈkæl.sɪ.trənt/ | Stubbornly resistant to commands or changes | Negative | Describing a legacy API that rejects new integrations |
| obdurate | /ˈɒb.djʊ.rət/ | Hardened against change; unmovable | Negative | A monolith that cannot be decomposed |
| intractable | /ɪnˈtræk.tə.bəl/ | Extremely difficult or impossible to manage/solve | Neutral-negative | A race condition that defies all fixes |
| fractious | /ˈfræk.ʃəs/ | Irritable and prone to causing friction | Negative | A teammate who disrupts standups |
| refractory | /rɪˈfræk.tər.i/ | Stubbornly resistant to treatment or process | Negative | A bug that resists standard debugging approaches |
Notice that 'tenacious' is the only consistently positive term here. When describing people, use it for praise: 'Maya was tenacious in tracking down that memory leak.' For systems and bugs, the negative terms help convey severity without blaming teammates.
Scenario 1: Discussing a Legacy System That Resists Refactoring
You're in an architecture review, and your team needs to explain why modernizing a 15-year-old payment processing system will take longer than stakeholders expect. Here's how to use this vocabulary effectively:
- 'The payment gateway has proven remarkably recalcitrant—every time we modify one module, three others break.'
- 'We're dealing with an obdurate architecture that predates our current testing infrastructure.'
- 'The codebase is intractable in its current state; we recommend a strangler fig pattern rather than direct refactoring.'
Grammar Note: Adjective Position
These adjectives work best in predicate position after 'is/are/has proven' rather than directly before nouns. Compare: 'The system is recalcitrant' (natural) vs. 'the recalcitrant system' (sounds overly formal in spoken English). In written RFCs, both work.
When writing design docs, pair these adjectives with specific evidence. 'Recalcitrant' alone sounds like complaining; 'recalcitrant due to tight coupling between authentication and billing modules' sounds like analysis.
Scenario 2: Describing a Stubborn Bug That Evades All Fixes
During an incident postmortem or debugging session, you need language that conveys difficulty without assigning blame. These terms help you describe the problem objectively:
| Vague (Avoid) | Precise (Better) |
|---|---|
| This bug is really annoying. | This race condition has proven intractable across three sprint cycles. |
| We can't figure it out. | The root cause remains refractory to our standard diagnostic approaches. |
| It keeps coming back. | The memory leak exhibits recalcitrant behavior—it resurfaces despite our patches. |
In Slack, you might write: 'Heads up—the caching bug is being intractable today. Tried four approaches, no luck yet.' In a formal incident report: 'The defect demonstrated intractable characteristics, necessitating escalation to the platform team.'
Scenario 3: Diplomatically Handling Resistance to Change
The trickiest use of this vocabulary is describing people. In tech culture, direct criticism can damage relationships and psychological safety. Here's how to navigate this:
| Too Direct (Risky) | Diplomatic (Safer) |
|---|---|
| Alex is being obdurate about the new CI pipeline. | Alex has some strong reservations about the CI migration timeline. |
| The frontend team is recalcitrant. | The frontend team has been slower to adopt the new patterns than we expected. |
| Stop being so fractious in code reviews. | I've noticed some friction in recent code reviews. Can we discuss what's driving that? |
Cultural Insight: Never Label People Directly
In most English-speaking tech workplaces, calling a colleague 'obdurate' or 'recalcitrant' to their face—or in writing—is considered unprofessional. Reserve these terms for private 1:1s with your manager or for describing systems, not people. For people, use behavioral descriptions: 'I've observed resistance to...' rather than character labels.
The exception is 'tenacious,' which you can use as a compliment: 'I really appreciate how tenacious you were in defending the API contract during that review.'
Register: Slack vs. Formal Documentation
These C1-level adjectives sit firmly in formal register. Here's how to adjust for different contexts:
| Context | Informal (Slack/Standup) | Formal (RFC/Postmortem) |
|---|---|---|
| Difficult bug | This bug is being super stubborn today | The defect has proven intractable despite multiple remediation attempts |
| Resistant system | The auth service really doesn't want to play nice | The authentication module exhibits recalcitrant behavior when integrated with modern OAuth flows |
| Persistent effort | Jamie absolutely refused to give up on that fix | Jamie demonstrated tenacious problem-solving throughout the incident |
| Unchangeable code | That module is basically set in stone | The module's obdurate architecture precludes incremental modification |
In standups and Slack, informal language builds rapport. In RFCs and postmortems, formal vocabulary signals professionalism and helps non-technical stakeholders understand severity.
Pronunciation Guide
recalcitrant /rɪˈkæl.sɪ.trənt/
re-CAL-ci-trant (stress on second syllable)
Saying 're-cal-CI-trant' with stress on third syllable
obdurate /ˈɒb.djʊ.rət/
OB-du-rate (stress on first syllable)
Saying 'ob-DUR-ate' with stress on second syllable
intractable /ɪnˈtræk.tə.bəl/
in-TRAC-ta-ble (stress on second syllable)
Saying 'IN-tractable' with stress on first syllable
tenacious /təˈneɪ.ʃəs/
te-NA-cious (stress on second syllable)
Saying 'TEN-a-cious' with stress on first syllable
fractious /ˈfræk.ʃəs/
FRAC-tious (stress on first syllable)
Adding extra syllable: 'frac-ti-ous'
Practice Exercises
Multiple choice
Choose the best answer.
Which word best completes this sentence? 'The legacy database schema has proven ______ to modification—every change triggers cascading failures.'
Multiple choice
Choose the best answer.
In a code review comment, which phrasing is most diplomatic when a colleague resists your suggested changes?
Multiple choice
Choose the best answer.
Which sentence uses 'tenacious' correctly in a positive tech context?
Complete the sentence
Type the missing word or phrase.
Complete this RFC sentence: 'The authentication module's ______ architecture has resisted three previous modernization attempts, suggesting we need a different strategy.'




