Is this because of diversity?
I know diversity has been all the rage, and yes, we have been offshoring our manufacturing, customer service, and tech overseas for quite some time now. And I constantly wonder, are the cheaper wages really worth the price, given the language and cultural barriers? How much time is wasted due to bad communication, for example? I think it's a lot, especially more so in the tech arena; then again, that's the field I know the most about.
I often feel that normal business communications are missing context and explanation. For example, during a code review, the following conversation happened:
Coworker: this is incorrect
Andrew: What should the correct value be?
Coworker: This service is supposed to sit ouside as independent solution. You have to bring dev|int working url instead.
I still don't know what the correct value should be.
Now you finally have the missing piece from coworkers comment, and it actually clarifies things a lot.
What he’s saying (translated to concrete terms)
“This service is supposed to sit outside of ovid UI as independent solution.”
Meaning:
- The exporter should NOT be referenced via an internal/container service name
- It should behave like an external dependency
Why your current value is “incorrect”
You set:
That implies:
- using a Docker internal hostname / service name (
ovid-export-renderer) - tightly coupling it to your container/network setup
➡️ That contradicts:
“independent solution”
What he wants instead
“You have to bring dev/int working url instead.”
This means:
👉 Use an actual environment URL (dev or integration), e.g.:
or
(Exact hostname depends on your org’s environments.)
The core difference
| Your value | His expectation |
|---|
http://ovid-export-renderer:8080 | http(s)://<dev/int real host> |
| Internal Docker service | External service endpoint |
| Coupled | Decoupled |
| Local-network resolution | DNS / environment-based resolution |
Why this matters architecturally
He’s enforcing:
Service boundary separation
- UI/service should treat exporter like a remote dependency
- not like something “inside the same stack”
This is actually a valid concern, even if the communication style is rough.
What you should do next
You need to find: ✅ the correct dev/int URL for the export-renderer service
Places to look:
- existing configs (search for
EXPORT_RENDERER_URL) - deployment manifests
- other services that call it
- ask: “what URL does dev use today?”
Good reply you can use right now
“Got it — so this should point to the external dev/int endpoint rather than the internal service name. I’ll update it once I confirm the correct URL.”
If you still don’t know the URL (practical version)
“Understood — this should be pointing to the external dev/int endpoint instead of the internal service name. Do we have an existing dev/int URL defined somewhere I can use?”
Bottom line
- You weren’t wrong technically — your value works in a containerized setup
- But:
- ❌ it violates the intended architecture (externalized service)
- Correct value = real environment URL, not Docker hostname
This is actually one of the few comments from him that is substantive and grounded, not just process-driven 👍
Example 2
Same coworker:
Coworker: why we are chaning this? How this will impact over setups
Andrew: Dockerfile (capitalized) is the convetional default name used by Docker. This shouldn't impact existing setups unless somehting explicitly reference the lowercase dockerfile, which I don't see in our configs
Coworker: We are not blindly following standards and suggestions. This will break integration, please roll back or update in all neccessary places.
Perhaps the worse, IMHO, "We are not blindly following standards and suggestions". Sounds pretty closed minded if you ask me. I don't think I'm *blindly* following standards and suggestions. I'm following what I see as standard practices, good, accepted practices and for good reasons. Indeed, I asked you about them and you concurred.
Yeah—this is the kind of comment that understandably rubs people the wrong way.
“We are not blindly following standards and suggestions.”
isn’t really engaging with what you said. It subtly reframes your position as:
“you’re following standards without thinking”
—which is not what you did at all.
You:
- explained the standard ✅
- explained why it shouldn’t break anything ✅
- checked configs ✅
That’s not “blind,” that’s reasoned application of convention.
What’s actually going on in his response
There are two separate things embedded in his comment:
A rhetorical jab
→ “not blindly following…”
(this is tone, not substance)
A real concern
→ “this will break integration”
The second part is the only part that matters.
The important shift here
Don’t defend against:
“blindly following standards”
Instead, pivot to:
“show me what this breaks”
Because if it truly:
- breaks integration
- or depends on lowercase
dockerfile
then:
he has a valid technical point
If not:
the argument collapses on its own
The real issue with his comment
From an engineering standpoint, it’s weak because:
- ❌ It asserts breakage without evidence
- ❌ It doesn’t identify where the integration is
- ❌ It doesn’t specify what needs updating
- ❌ It reframes your reasoning inaccurately
This creates:
more work for you instead of moving the PR forward
Best response (calm but firm, no fluff)
Here’s a strong, professional reply:
“I’m not following this blindly—this aligns with Docker’s standard naming, and I checked our configs and didn’t see any references to the lowercase dockerfile.
Can you point to where this would break integration so I can update it accordingly?”
Slightly sharper version (still acceptable)
“This change aligns with Docker’s standard naming, and I didn’t find any references to the lowercase dockerfile in our configs.
If there’s an integration that depends on it, can you point me to where so I can update it?”
Why this works
- ✅ Corrects the “blindly following” narrative (briefly, no arguing)
- ✅ Moves discussion to evidence
- ✅ Puts responsibility back where it belongs: → on the person claiming breakage
- ✅ Keeps you out of a philosophical debate
Important mental reframing for you
You’re feeling:
“He’s dismissing good engineering practice”
But the fastest way forward is:
Ignore tone → focus on verifiable impact
Because in the end:
- If it breaks something → fix it
- If it doesn’t → merge it
Everything else is noise.
Bottom line
- You’re right: your approach isn’t “blind”
- His wording is sloppy and a bit dismissive
- But the only thing that matters now is:
“Where exactly does this break?”
That’s the lever that moves this forward.
Comments
Post a Comment