There is a reason why 40oz beer comes in a plastic bottle, they know that by the time your life has fallen to the point that you’ve pounded one by yourself some bloodshed is about to occur. Or in the IT world, you’ve reached the level of being a product manager of an application framework, aka API:
API: Aspiring Programmer Improvises (better known by it’s marketing term Application Programming Interface) is a Buddhist take on the modern software development where two otherwise unrelated parties independently conspire to induce great pain and suffering on a third party unintentionally. Have you ever wanted to punch someone in the face really hard for no reason but were afraid of the consequences?
Fear not. You can be an API developer.
Now, I cannot say what I really want to say on this topic because people get really upset. Here is how API championing work is done.
Step 1: Someone from marketing fails at marketing. You can’t trust those people with swag anymore but people like them because they handed out a lot of swag in their lifetime so now they are responsible for the least accountable part of the development process: convincing other companies to put their intro level developer apprentices and interns into splicing the crap together so it barely passes Q&A. On a Friday.
Step 2: Well, thing is, we don’t really have the money for this. Or time to train you. Or really any motivation to explain this to you but here are 3 year old help files we wrote and here is this guys phone number – he refactored our code a while back and almost has it working so bother him.
Step 3: Thing barely works. Intern uses Babelfish to translate what he thinks his project does and sends it off to marketing. They set aside $50,000 for banners, booths and collateral explaining how this will make their piece of software bigger than Microsoft Windows in the 90s and perhaps even more relevant to modern life than fire and round wheels.
That is exactly how it works. Every software company, ever.
Now this is where the people who don’t work in software development should really just STFU and repost crap fed to them by marketing.. but they don’t.. so let me clear it up for you. It’s not about Open API. Those words don’t mean what you think they mean. Literally everyone will open up their API (i.e. introduce you to the spaghetti code written by last summers intern) just to avoid a lawsuit. They don’t break competitiveness by “opening” their API or providing this mythical “intellectual property” any developer working for $3/hr in Bangalore can refactor and implement. No. The way you crush your software business enemies isn’t with lawyers and restrictions and NDA and confidentiality. From the Art of War by Sun Tzu:
To defeat your software enemies you must give them the illusion of weakness. Open your API. Then defeat them through plausibly deniable incompetence, constant changes, lack of documentation, lack of accountability and robo-updated support requests sent to the purgatory (aka QA/dev).
By now most of real developers are ripping out their hair. Kiddding. You’re already bald. But seriously, let’s kill this bullshit myth of open API. It’s not about defeating your enemy with a “no” – it’s about perpetual emasculation of their credibility through constant changes, delays, promised features, bad documentation, and so on. If you’re not evil enough already, follow these simple steps:
Illusion of an API is more powerful than an API
The best way to get people excited about working with you is to completely get them vested into your mutual failure. Invite every developer you know to your development meeting and treat them with the Magna Carta of false hope: a yellow note pad. Sit in front of the room with a pen in hand and say “What would you like us to open up in our API next?”
This same methodology is used by 900 sex lines (are those still around?) where you pay $3.99 for the first minute and $0.99 for each additional minute as you explain exactly what kind of fantasy you want. Except with the removed benefit of having to keep your pants on. Euphoria is still the same. Sell them on the fantasy of two unrelated platforms freely exchanging information.
Bring your own bastard. Other developers might be snarky, sarcastic or god forbid actually call you out on your bullshit. It’s good to have a real developer there, crouching in the corner behind the podium to assertively dismiss any idea or misconceptions that might lead to additional work. Remember, it’s not about opening up your API and creating further workload that won’t give you any additional revenue streams. It’s all about hope and dreams.
If you and your bastard developer dance well the whole room will leave with hope that things will work but everyone will mutually hope it doesn’t go beyond people actually trying to use the frankenstein and lead to more support.
But that one dude will still try
Some people have too much time on their hands. So they’ll try to turn your pile of body parts, failed projects, Fiver contributions, open source files dragged into the wrong folder and a company logo into a fully functioning system. Let’s face it, you’ve failed as a product manager. Take accountability, admit fault and resign. Or…. Make those bitches pay:
Step 1: Randomly change your API without notice. This is the simplest way to break someone at their core and send them down the swirling vortex or uninformed people and half hearted escalations. It buys you at least a month or two. It’s like giving someone an overcooked steak and a double edged knife to cut it with – the harder they try to prove it’s not their fault the more they bleed!
Step 2: Keep the API the same but change data types. This way you can claim that your API has not changed but it will break the integration nonetheless. You used to have a txt field? Well toodaaloo motherfucker, it’s encoded HTML now.
Step 3: Rate limits without documentation. Some people will straight up make it past the hair pulling and bleeding all over their keyboard – too late for Sun Tzu methods now – it’s time to go on full Chinese water torture now. Drip. Drip. Drip. Make your system randomly drop API calls and requests at certain hour. On certain days. For certain vendors. Make sure you have your vendors pass an ID string so you can randomly discriminate against them. Don’t bother randomizing this, even when you get called out on it so what – it’s their word against yours, here have a free tshirt.
Step 4: Come up with a new API. Let’s face it, eventually people will grow tired of your incompetent/evil stuff and to fix this stalemate they will fix it with the new API. That is still in progress. By a developer whose skills are still in progress. Who wants to earn the respect of his elders through revolutionary ninja code fixes and brand new code framework toolkits that will definitely never grow defunct when their developer gets a real job. Bonus: Newbie has no f’n clue how to optimize software either, making the new API more inefficient as it gets more users. It’s how developers reach enlightenment and get promoted to actual software projects – when their initial stumbles work but produce catastrophic rewrite-from-scratch-worthy crap down the road.
And there you have it folks. The completely accurate and factually correct assessment of how to look like the nicest, most open, developer friendly and growing platform in public while being a complete sadistic sociopath hell bent on making your partners realize it would take less effort to write their own platform then spend another fucking minute supporting yours. But this is of course totally unrelated to this.
Now the 64k question: Who wants to be an integration vendor?