NEW: English for Tech Bundle → Save 40%
code-review
legacy-systems
technical-vocabulary
workplace-communication
debugging

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

TermIPATech DefinitionConnotationExample Context
tenacious/təˈneɪ.ʃəs/Persistently pursuing a solution despite obstaclesPositivePraising a teammate's debugging approach
recalcitrant/rɪˈkæl.sɪ.trənt/Stubbornly resistant to commands or changesNegativeDescribing a legacy API that rejects new integrations
obdurate/ˈɒb.djʊ.rət/Hardened against change; unmovableNegativeA monolith that cannot be decomposed
intractable/ɪnˈtræk.tə.bəl/Extremely difficult or impossible to manage/solveNeutral-negativeA race condition that defies all fixes
fractious/ˈfræk.ʃəs/Irritable and prone to causing frictionNegativeA teammate who disrupts standups
refractory/rɪˈfræk.tər.i/Stubbornly resistant to treatment or processNegativeA 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:

ContextInformal (Slack/Standup)Formal (RFC/Postmortem)
Difficult bugThis bug is being super stubborn todayThe defect has proven intractable despite multiple remediation attempts
Resistant systemThe auth service really doesn't want to play niceThe authentication module exhibits recalcitrant behavior when integrated with modern OAuth flows
Persistent effortJamie absolutely refused to give up on that fixJamie demonstrated tenacious problem-solving throughout the incident
Unchangeable codeThat module is basically set in stoneThe 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.'

Frequently asked questions

Cite this page

Speak Tech English — How to Describe Stubborn Code and People in English at Work. https://app.speaktechenglish.com/knowledge-base/how-to-describe-stubborn-code-and-people-in-english. Audience: non-native English speaking software engineers and tech professionals (level C1).

Last updated
2026-09-07
Audience
Non-native English speaking software engineers & tech professionals
Level
C1 (CEFR)

Related searches: how to describe a difficult bug in English · vocabulary for legacy system discussions · diplomatic language for code reviews · how to say something is hard to fix professionally · English words for stubborn or resistant · formal alternatives to stubborn in technical writing