8 ms·
And this is why you decouple your systems as good as possible. The humans in your company need to be able to just prolong premium times manually. When the custo
by chris_engel 5y ago
And this is why you decouple your systems as good as possible. The humans in your company need to be able to just prolong premium times manually. When the customer pays in diamonds. Or you want to say thank you to someone and add half a year for free. Ir you decide to accept payments in bitcoin tomorrow.
Never build the payment system tight coupled to the rest. Humans need to be able to overrule anything, anytime.
This should be a rule of thumb for everything.
- salawat 5y agoI agree, but herein lay the rub. For every exception, you need someone on top of it. You have a limited pool of people to distribute this knowledge to, and the responsibility for maintaining this knowledge to even if that just invoves knowing where to look to figure something out. Overrides are tricky to accomodate, standardize, and organize if you don't nail dpwn the appropriate data model for the process.
- deleted 5y ago[deleted]
- heipei 5y agoYup, this was a lesson I learned the hard way when I built out billing for our SaaS product. I had spent weeks thinking about user accounts, team accounts, subscription, integration with Stripe, how the UI would look, how I would verify VAT numbers for European customers, etc etc etc. In the end I threw all the code away because not a single customer that we had would have used self-checkout billing anyway, everything happens via email, purchase orders, billing portals like Ariba, etc. Monthly subscriptions are far and few between, pay-per-use is something that almost no customer would be interested in. Some customers actually wanted multi-year subscriptions, which Stripe doesn't even support. It's emails and spreadsheets all the way down if you're building a product for an Enterprise audience.
- bcrosby95 5y agoBased upon this series of postings, it sounds like the problems in the original tweet are the result of decoupled enterprise payment systems, rather than the opposite. As if someone somewhere forgot to manually flip some flag or that they paid wasn't properly distributed throughout the byzantine distributed system.
- marcosdumay 5y agoThe GGP used the wrong term. What he describes is a system that is overridable, not decoupled. You are right in that decoupled systems aren't good.
- zippergz 5y agoThis is all well and good if you build your product from the beginning with the vision that it will some day be sold by sales people to huge companies. But if your expectation is that it will always be self service, a bunch of design and engineering work to make it flexible just looks like wasted effort. If you guess wrong in either direction in your early development you'll have problems. Either get to market more slowly because you spent time up front building for a future that may never come, or get to market quickly and deal with the repercussions later.
- ghaff 5y agoIt can be both. AWS and Google in particular (Microsoft was obviously always an enterprise company) started out the individual credit card route and I'd argue a major reason they've been able to grow--AWS better than Google modulo GSuite--is that they recognized they actually needed an enterprise sales force and the things that are associated with it.
- SteveNuts 5y agoGoogle has been exceedingly difficult to work with from an Enterprise standpoint. We spend millions with them for Google Workspace and I don't even know our account executive's name, nor have we ever talked with them if we even have one. Everything is done through our VAR. In the meantime I'm well aware of and speak to our Microsoft rep regularly, they know our business and what we need, and have been helping round up resources for upcoming projects and initiatives. It's night and day between MS and Google. It seems like Google thinks their products are so perfect and infallible that they can cut out the human element entirely. That may work for personal Gmail accounts and such but not so great when you spend millions with them.
- closeparen 5y agoIsn’t it the point of a VAR that the VAR, not the vendor, owns the client relationship?
- 5y ago
- tharne 5y ago> Humans need to be able to overrule anything, anytime. This needs to be a guiding principle of anyone who builds any sort of software.
- anoncake 5y agoThis. "I can't do this, the computer doesn't let me" ought to be as absurd a statement as "I can't do this, the intern doesn't let me".
- RotaryTelephone 5y agoEspecially in avionics...
- kwyjobojoe 5y agoSaab sells a plane where moving the controls manually does not disable the autopilot....
- nijave 5y agoI'm not sure this is necessarily a good rule of thumb. There are plenty of times humans need to be protected from themselves--that's why regulation exists to prevent fraud, etc. It'd be ludicrous for a single sales employee to override payments right into their personal account. It is SOFTware so it can always be changed. The question becomes who can do the changes and when (which ends up being much trickier to answer)
- KptMarchewa 5y agoAnd then bunch of naive idealists build system for payments without most important feature - reversibility. Of course, it's used only for speculation and illegal stuff.
- numpad0 5y agoI think this class of issues partly comes from that sales people have much relaxed, politics focused cognition compared to engineers, and are in disregard of non-human entities. They don’t have distinction between MUST or SHALL or SHOULD, everything is MAY or at best RECOMMENDED, and everything you may say or do must be attributed to a person. So when told there is this thing which must be done by sales that prevents machines doing what that affects customers, it’s interpreted as either an IT guy is making incomprehensibles or hypotheticals because machines cannot be subject of a sentence, and as an empty demand with no return because neither party gains credits from the conversation. And we’ll end up in “I told you! You had to!” “Told you what? You didn’t say anything”.