How to deal with platform team in another country that delivers garbage?
Posted by Cute_Activity7527@reddit | ExperiencedDevs | View on Reddit | 46 comments
So we have multiple divisions in the company. Each country our corpo operates in has its local ops team that cooperates with global platform team that provides company wide solutions for us.
Supposedly its a good idea. Instead of reinventing the wheel in every country, we use company wide solutions.
There is just one issue. Those tools work in 90% of cases. When you need something specific all of them fall on face.
Missing features. It would be fine if platform team did allow other ppl to contribute and supposedly there is via innerspurce, but any form of innersourcing to mainline internal products is instantly faced with pushbacks „why you need this, we need to plan this, we have to this and that” and when you finally go through that and contribute yourself, open PR, its silance. Zero feedback or info for months.
Best part now, platform team puts its brain to use and implements the same PR / feature themselves. There is just one issue - its garbage. Feature is poorly documented, doesnt work as documented, doesnt take to account all the other corner cases you thought about during your own implementation and is released to prod with comment in Jira Issue „LOOKS GREAT TO ME, ACCEPTED”…
Like come on… you stall, fail to deliver and still pat yourself on the back.
And this unfortunately is a common practice. So my question is - Is it normal and does it look like that also in your companies ?
annoying_cyclist@reddit
I tend to like giving product teams have a choice between using shared infra and rolling their own to avoid issues like this. In addition to respecting product teams as the experts on what they're building, having to earn the trust of product teams is a strong incentive for platform teams to stay close to the needs of their customers and build things that are genuinely useful, and one that often isn't there if they can simply dictate that product teams use stuff that doesn't work.
I think some amount of this friction is normal, or at least has been a thing at every company I've worked at with a platform team. It's been a lot worse at the ones where the product team couldn't just ignore the platform team and unblock themselves.
engineered_academic@reddit
Alright we'll try this again. Anyone mentioning any country specifically after this comment is posted will get banned.
The question is how do you deliver when a fellow team is not delivering. Think Tupac vs Biggie. Anything disparaging foreigners, accents.
I'll probably have to lock this thread, but I am trusting in humanity.
gefahr@reddit
Serious question: will this also cover the rants about American companies and culture that are in probably half the posts here? Because I'm all for this as a blanket rule.
engineered_academic@reddit
Focus on the company not the country. Not all American companies are terrible. The ones that are pay highly for a reason.
gefahr@reddit
Right, we're on the same page. I'm asking if that will be enforced the same way this is.
engineered_academic@reddit
Can't speak for all mods but as far as I am concerned, hating on Meta as a company isn't a problem. Saying things about individual developers is where it gets murky. Shitting on Sundar Pichai because he makes bad business decisions is fine. Implying he is ruining Google because he is of Indian origin is not. Zuckerberg is home grown American and is doing a great job of running Meta into the ground as well. Criticism of Elon because you disagree witb his politics, strategies, and stances is fine, not because he immigrated here from South Africa, exception for pointing out that he (allegedly) broke several immigration laws in his early career.
You can criticize the use of an American company exploiting H1B labor as an exploitative labor practice. You can say that companies are abusing the H1B labor process. Saying all devs of a certain origin should be banned from getting H1Bs is not okay. Focus on the company and policy.
gefahr@reddit
Apologies, I think I wasn't clear. I appreciate you taking the time to reply.
Comments like:
"That's American culture for you." "This must be an American company." "Tell me you're American without telling me you're American."
I think a fair standard is, "if I substitute in for America/American here, is that disallowed?" If yes, then that should be too.
Of course I'm not suggesting we can't criticize companies, regardless of where they're from. This whole thread was about overbroad generalizations based on where someone is from. I'm asking that the same consideration be given to my country of origin.
engineered_academic@reddit
Yeah man fire off that report button when you see that.
I'm not of the opinion that any kind of "ism" is ok if its directed at the top dog. Equality for all is my motto. Obviously I am not perfect and have my own inherent biases. I err on the side of allowing it if there is any doubt. It can be tricky but the only comments I've removed here were "do the needful" and "on priority" which are two comments acting as dog whistles against Indian developers for two stereotypically Indian sayings and don't add any actual demonstrative value to the conversation. If people want to tell about the challenges they had working with offshore teams at their companies in a way that isn't just shitting on them as a people and focuses on the challenges, be my guest. Respectfully pointing out communication style differences and asking for help to improve the situation is welcome. Saying "lol I am from India and all the indian developers are trash at communicating" (paraphrased from a real comment on another thread I locked) is not helpful.
I think I have said enough on this topic and there will always be people with authority problems who will be unhappy with me but I will try to be as fair as possible where I can be.
gefahr@reddit
Appreciate you and the mod team.
This sub is one of the last bastions of half-decent discussion on some industry-related topics (even HN has fallen, sadly) and I want to see it stay that way.
ranban2012@reddit
America is a country. Do I and gefahr get banned for referencing the existence of America? A specific country.
We're all programmers here, right? Precision of language is kind of our... thing.
ranban2012@reddit
The heavy handed moderation here is absurd. I don't need daddy mod to tell me whether my experiences and observations are sufficiently hygienic for conversation among other experienced professionals.
This kind of moderation suppresses real conversation and turns subreddits like this one into approved propaganda and political POVs only.
engineered_academic@reddit
"real conversation" like racism? Lots of other places you can ship that dog whistle, partner.
ranban2012@reddit
That's some grade-A strawman projection. I don't need my comments to be subject to some petty tyrant with no qualifications beyond being first to squat on a subreddit.
If I allowed you to view my comment history easily, you'd see my consistent anti-racist AND anti-authoritarian history.
But I don't owe that to you.
engineered_academic@reddit
You go on ahead and sing your song king. As long as it ain't racism or other rulebreaking you got no problems from me.
ranban2012@reddit
You are not qualified to judge whether anyone's opinions or observations are racist. You just have the authority to censor at your whim, which you've done far too much here and elsewhere in this sub. In fact I'm certain that your over-use of moderation authority has significantly suppressed legitimate conversation about genuine race-relevant social dynamics that take place in the industry in the US, and likely occur in ways you can't even imagine in other cultural contexts outside of the US.
Just pretending like race doesn't exist and suppressing acknowledgement of race isn't being anti-racist. If anything it's pro-status-quo, which is actually quite racist, even if not intentional.
EliSka93@reddit
Who would be?
If we go by that requirement, basically nobody is qualified. There are very few professional "racism experts".
So should we just allow racism because only an expert can say it's real racism? I don't think you'd want that either.
I'm not agreeing or disagreeing with the mod in this case, I just want to point out that that's a bad reason to not moderate.
ranban2012@reddit
It's an argument for a much less heavy hand than is being used here. That's it.
throwaway_0x90@reddit
Don't let this person bait you. This thread has been perfectly fine with having this discussion without any mention of ethnicity or country. The account you're replying to has hidden history but I'm aware of the workaround. They've been banned from other subs and constantly posting controversial hot takes everywhere. Irritating mods and other users is their passion apparently.
ranban2012@reddit
Well thank goodness we have someone of your esteemed qualification to make those judgements.
roynoise@reddit
"Real conversation" as in being allowed to discuss objective reality without being babied by some basement dwelling keyboard warrior.
engineered_academic@reddit
Nobody's stopping you from doing anything you want homie. Sing me the song of your people.
nkondratyk93@reddit
this is kinda how platform teams work though. they optimize for 80%, the rest is on you.
Mundane-Charge-1900@reddit
The root cause problem here seems to be a lack of communication between these groups that has resulted in a lack of trust and building software that does not meet the actual needs.
Is there a way for you to build a relationship with individuals on this team?
edgmnt_net@reddit
I don't see a reason to frame it as a communication issue considering what OP has told us. At least taking things at face value, it sounds like either OP is failing to contribute properly or the platform team fails to accept contributions properly. This isn't necessarily a communication issue (although it could be). It could very well be that the platform project is mismanaged and clueless about how you need to run a project like that. For example, perhaps they commissioned a common platform to be built but nobody really cared enough about extending it and accepting contributions, so nobody's taking in PRs. I wouldn't be surprised if this scenario was actually fairly common in companies simply going through the motions to share effort and have something like inner source, while treating every project as a silo.
dr_top_chipmunk@reddit
It's almost always a communication issue.
EffectiveCup2465@reddit
I’m not sure if I want to be the devil’s advocate, but I can try.
As a platform engineer myself, I can tell you straight away: not all the platform teams are like this.
Some of them (maybe most of them) struggle with enormous pressure from the product teams. There is a constant push for “more and more”, without clear evidence, direction, product prioritisation and alignment.
Most of the product teams in my company have no idea about the 90% of the business operations, which the company is doing. It is only our team know these details and can guide, tutor, suggest an approach.
Most of the time, it is the platform teams, who will be stuck for years maintaining a poorly designed contract, because the product teams are unable to cooperate and migrate/take over/etc.
I completely understand the delivery pressure, I also understand, that for product teams, their use case is the most important, but, if you look at the larger picture - it may be super insignificant one.
What helps our team to be a bit closer to business and product teams is: 1. Monthly alignment on the most common pains. With actual action items to improve and fix. Like a retrospective. 2. Closer collaboration for the top priority projects. We build together, we scale together, or we shut it down together. 3. Explicit product requirements and explicit communication from product teams on their goals. Most of the time, the good enough solution is already there, the product all of a sudden wants something completely different, but it is impossible to plan/pre-build in advance. 4. Self-Service contracts/extension points. We are slowly adding them, but with boundaries and guardrails. It takes time to make them mature and stable.
Last but not least, platform code/service/component is the same as the product one. It can be written in a bad way, may be under-architectured, under-maintained and so on. Platform devs are exactly the same devs as product ones, the only real difference is that we almost never got any glory in what we do. We just keep the lights on, while everyone else tries to do nice shiny features.
CodelinesNL@reddit
This is an extremely common issue with "platform teams". I see this happen all the time and in my previous assignment I even wrote a 4-page recommendation on how to improve things. Which obviously never did anything because these issues are cultural. I actually have a blog post in my drafts about this, I should get around to publishing it.
The problem with platform teams is that they're building a product, but don't act as product teams. They don't dogfood their shit, they barely write documentation. They see other devs not as their customers, but as peers at best. Often they see devs from feature teams as 'lesser'.
This is so common that I see platform teams almost as an anti-pattern. While in theory it makes sense to have a team handle cross cutting concerns, more often than not you end up with a group of developers doing resume driven development and overengineering an 'ideal' platform that's borderline unusable for the devs in the product teams forced to use it.
The larger the distance between the feature teams and the platform teams (culture, distance, time zones), the biggest these issues become. It's somewhat manageable if that platform teams is sitting 3 blocks over and you can walk up to John and tell him that his custom kubernetes operator is a pile of shit. If that person is in an office 10 hours away, that's a very different matter.
There are some ways to prevent this with strict governance and rotating engineers in and out of these teams. But almost all companies make the same mistakes there. So I'm afraid I don't have a solution for you.
Oh and by the way, this effect has a name: https://en.wikipedia.org/wiki/Inner-platform_effect
ibreathecoding@reddit
Its better to have a team norms; Team should all come and align and agree on developer roles; how a userstory is accepted; what acceptance criteria means; building team norms is a good practice and once you have this doucmented obviously we should discuss in retro if there any slipage and see how we can prevent this in future
throwaway_0x90@reddit
mods should pin a warning comment to focus on the process and do not mention any particular country or ethnicity.
engineered_academic@reddit
Thanks. I stickied a comment. Thats what I get for taking a few hours to build my wife a custom bed.
gefahr@reddit
How dare you prioritize your family over volunteer work as a Reddit mod! smh.
But seriously, how'd it come out?
engineered_academic@reddit
tbd! We aren't finished with it but we skipped a ton of steps because I lack a planer and a jointer and my band saw isn't set up yet. But for some reason suddenly the ikea bed she's been sleeping on for months is not doing it for her.
gefahr@reddit
Do you guys do separate beds? I always figured if we started doing that, it meant I could finally get a racecar bed.
engineered_academic@reddit
Yeah man it's a game changer. I am a light sleeper and need to dark and cold with heavy blankets. She is like a light quilt kind of person and likes it warm. we grew up in different climates and after 5 years of uncomfortable sleeping together we just tried it and now we can't go back. My sleep was so terrible I couldn't function well, and we also have different sleeping times. She is an early riser and I am a night owl.
gefahr@reddit
Yeah we have all that same dynamic going haha. We've made it work mostly. I definitely find that I sleep more soundly when I'm away for work. She probably does too. I like it arctic. Fortunately we both need complete darkness.
throwaway_0x90@reddit
🫡
CompetitiveProof3078@reddit
Yep this is the way, have done the same, makes the actual cost of these 'cheap' teams visible
Ambitious-Garbage-73@reddit
I would separate the country/timezone part from the actual failure mode, because this can happen with a platform team sitting on the same floor too. The real smell is that the platform team is allowed to be the gatekeeper without being exposed to the cost of bad delivery. If they can reject outside contributions, silently sit on PRs, reimplement the feature worse, and still mark the Jira ticket as accepted, then the incentive system is broken.
The only thing I have seen work is making the failure boring and visible. Not a rant in Slack, not 'their tool is garbage', but a written requirement doc with examples, acceptance cases, and the exact edge cases your team already handled. When their version ships, run it against those cases and send the delta to your manager/product owner: this requirement passes, this one fails, this documented case is missing, this causes local ops to do X hours of workaround. Keep it in business language.
If management still accepts the platform team's version after that, then you have your answer: the company prefers centralized ownership and political simplicity over local correctness. Annoying, but useful to know. At that point I would stop trying to win it as an engineering argument and push for either a formal extension point, a service-level expectation for platform changes, or explicit permission to maintain a local workaround. Otherwise you just become free QA for a team that has no reason to change.
Early_Rooster7579@reddit
kindly ask them to do the needful
mvpmvh@reddit
On priority
ExperiencedDevs-ModTeam@reddit
Rule 2: No Disrespectful Language or Conduct
Don’t be a jerk. Act maturely. No racism, unnecessarily foul language, ad hominem charges, sexism - none of these are tolerated here. This includes posts that could be interpreted as trolling, such as complaining about DEI (Diversity) initiatives or people of a specific sex or background at your company.
Do not submit posts or comments that break, or promote breaking the Reddit Terms and Conditions or Content Policy or any other Reddit policy.
Violations = Warning, 7-Day Ban, Permanent Ban.
ExperiencedDevs-ModTeam@reddit
Rule 2: No Disrespectful Language or Conduct
Don’t be a jerk. Act maturely. No racism, unnecessarily foul language, ad hominem charges, sexism - none of these are tolerated here. This includes posts that could be interpreted as trolling, such as complaining about DEI (Diversity) initiatives or people of a specific sex or background at your company.
Do not submit posts or comments that break, or promote breaking the Reddit Terms and Conditions or Content Policy or any other Reddit policy.
Violations = Warning, 7-Day Ban, Permanent Ban.
throwaway_0x90@reddit
Just so y'all know, this person was trying to justify using the n-word based on a technicality in a now-deleted post just 12 days ago.
SquiffSquiff@reddit
I've worked in a company that was like this except the platform team was based in the same country. It's a company culture and as the proverb says culture eat strategy for breakfast. In my view the fundamental problem in my case and most likely in yours is that this team is/was isolated from the consequences of their actions. They don't need to solve any business problems to be considered high performing, they can sit there and say no to absolutely everybody and still be considered to be performing well in their own discipline. Unfortunately, once it's got to this point, the iron law of bureaucracy has been fulfilled to such an extent that it's essentially terminal. This is why you find so many consultancy teams at such companies- because essentially no one within the company is allowed to own and solve a problem end to end and every team is set to work against each other.
I would say that it is more normal than it should be, but that it is still wrong and you should seek to escape it not to change it it.
Mast3rCylinder@reddit
If they are able to push back so much it has something to do with management, either they are trusted by it or they have better managers to push back.
LaintalAy@reddit
In my company is very similar. I work in a group with very specific and special needs that are not met by the company platform. We have tried multiple times, it just doesn’t work and they are not very flexible (which also makes sort of sense). We have our own infrastructure maintained by ourselves in parallel. It gets questioned from time to time but it’s this or no deliverables… so we get to do our own thing.