There Are Wrong Answers
From the veritable shit-storm of financial fail the world has sailed into, you would think that managers would have some degree of skepticism towards hippies peddling messages of happy inclusion.
It seems like every damn company is forcing its employees to join hands and attend “team bonding” days, and recite mantras on how there are no wrong answers, everyone is equally valuable, and we are a big happy family.
Handle My Balls
I had the misfortune to attend one of these days. I would’ve claimed to be sick, but the event being held at a pub gave me misguided hope. We spend eight long hours drawing happy thoughts on whiteboards and throwing small rubber balls to each other. Afterwards I felt even more hatred towards the goddamn idiots who actually thought this crap was beneficial. There was no beer.
Still, I got paid – and discovered which of the female employees had the best ball handling skills. What kind of idiot would pay contractors to come on one of these courses anyway?
We Don’t Need No Education
Most answers are wrong. To some it seems like there is plenty of right answers. If this is due to the question being not specific enough then apply the backhand liberally. Otherwise you probably should not be pretending to know what you are doing and giving people solutions that I’ll invariably have to come in and fix. Fuck you.
Texas Instruments made a shitload of cash after training its sales staff on aggressive techniques. The Art of War was mandatory reading. Survival in business doesn’t come from prancing around like a bunch of fairies and giving your co-workers an ego-reacharound over their stupid ideas. People learn from mistakes. Let them know when they have made one.
If you can crush egos before they develop, then your business will run smoothly.
Econ 101: The Long Fail
Fundamental to web economics is the Pareto distribution. It usually applied in serious papers or serious hype justifying business plans with no potential customers. There is an illustration here, worth at least thirty words. 3laws’ first image tag. Welcome to Web 1.0.
By coincidence, this shape models the available funding for a typical failing company over time. The green zone represents 80% of their total funds, and somewhere in this zone the main product was expected to be creating that elusive thing known as “income”.
In The Guinness Book; For The Shit I Took
As usual, I’m deep in fail territory, right up the end of the funding Long Tail. Management has decided the project will succeed at all costs, yet they don’t have the balls to keep on spending until the project is done. As the amount of money dries up, they spend less and we start to head deeper and deeper into the yellow zone.
The product was rushed off to the client as soon as a build could be coerced into working. The client is unhappy and lawyering up. Programmers are fixing bugs and salesmen are sucking cocks around the clock.
The company should have filed for bankruptcy last year, but are managing to scrape together enough funds to stay afloat. It’s a hint that cash flow is getting borderline when they need ‘a couple more days’ to find $12k for an invoice when their staffing bill is around a half-million a month. Time to start billing in advance. First law.
Take Your Broke Ass Home
They are cutting costs by random firings and writing stern emails about printer usage. This will be kept up until there is a full complement of sales, HR, and management supporting a single immigrant programmer.
If you find yourself in the long tail then recognize that you are in “totally fucked” territory. The only thing that is keeping your project going is hope and the only thing that will make it succeed is a goddamn miracle. Hope has no place in business. Know when to cut your losses and GTFO. Third law.
The Genesis Of Fail
Fail usually follows a pretty standard lifecycle, starting from a embryo of an idea in someone’s mind, until it grows into a beautiful rainbow chrysalis in their wild fantasies. Then comes the implementation, and the results are usually hilarious. Lets take a guided tour through the genesis of an epic failure, as our random noob wakes up one morning hoping to change the world.
National Epic Fail
Mr Conroy wakes up one morning and checks his email. “Sweet Baby Jesus!”, he exclaims, “3laws said ‘Fuck’ on my kids’ internet, and something must be done!”. Then he realizes that despite having the technological ability of a goldfish he has somehow ended up as the Minister for Communications. He thinks of his daughter reading on the internet about his failures regarding the National Broadband Network, and knows that some content must be blocked. For the children!
Suddenly, in an orgasm of misconceptions, confusion, and desperation a Fail is born. You see, a noob will always attack a problem with a predefined plan: “I need to achieve X by doing Y”. The Fail will swim around in the mind slowly growing and strengthening, until the parent is utterly convinced of how he will change the world with this exact plan.
The experts are called in. We tell them that achieving X is more difficult than they thought, and that Y definitely isn’t the way to go about it, for several reasons. We offer alternatives, but they aren’t Y, so our recommendations are ignored.
Parental Advisory: Do Some Fucking Parenting
Noobs seem to be able to continue to build truly epic failures, despite clear evidence that things are just not working. They beaver away, singing “Tra-la-la-ladies-blocking-the-ladies” with a big dumb grin on their face. The bemused look on their face when the monster they have built turns around and starts violently raping them is quite hilarious. Guess that dream of being able to go fuck a mistress while the magic technology looks after your children for you isn’t going to happen Stevie?
Conroy is looking surprised that his blacklist leaked, and isn’t 100% illegal content. The lead developer here is still confused when the ‘push messaging without rate control’ sometimes chokes up servers. Fuck. We told you retards this would happen.
There is a silver lining to this cloud. The experts got paid. First Law.
Serious Business Only Please
What the hell is it with you fucking role-players, anime lovers, fanboys, furries, etc? Its hard enough to find what I want on the internet without your inane and pointless bullshit cluttering up the place.
You’re the one whose choking Trojans
All it takes is a robot in an insignificant little cartoon aimed at 10 year old kids in Japan to collide with a real life product code for something worthwhile, and everything is ruined. All you can find on the internet for that product code is a bunch of fat geeks discussing how many dice Optimus Prime would have to roll to determine if he was capable of raping said robot while wearing a fursuit.
The internet is for Serious Business. If all of you lovers of make-believe crap and sexual deviants could kindly form a line and GTFO in an orderly fashion then the rest of us will be able to get some useful things done.
Decisions: Your Problem
Its full fucking steam ahead here. The client has seen the final product. Release day is imminent. Version numbers have been updated to indicate the official status. Directors are fellating each other excitedly in the boardroom. Birds are singing, butterflies are circling around…
You are doing it wrong
I have a huge goldfish bowl of coffee, and a feature request. This feature requires so much reworking of the core model that very little of the app will be unaffected. Large sections based on lazy assumptions and slack requirements capture will have to be chucked out and rewritten. It will take two months.
It won’t take two months. We don’t have two months, the client wants it now. The music swells to a crescendo, and we are about to begin the hilarious dance with management known as the Whiskey Tango Foxtrot. Lets watch…
Madam, may I have the pleasure?
Its not my place to make business decisions around trading off product quality against time. That role is reserved for the guy who is going to be held responsible when it all fails. The first steps of the dance is for him to say things like “just use your judgment”, “do what you think is best”, and “allow me to blame you when I suck cocks at the project management”. Playing the part of the ho, I then follow his lead with a list of costed and risk-assessed options.
Expensive, late, or crap. Pick any two. Next time you might want to try some foresight with your low-ball estimates.
I had a lovely evening.
The Kleptography Expert
Cryptography is impressive. Cryptography means security, and as an expert in security you are at the lofty peak of design authority. You can look down on the plebs discussing scalability, design patterns, and optimization. You can flex your authority and shoot down anything that doesn’t meet your rigorous standards.
Little wonder that many junior developers share this wet dream. Our Klepto Expert had taken the fast-track course of his own devising. He read My First Guide to Cryptography, and then declared himself an expert. Simple!
WTF is a Three Letter Agency
I first met Mr Klepto when he was assigned to a government project I was working on. He had junior level skills, but knowing the manager helped him slide into a design role. I only noticed him rise above the ambient government asshattery when he set about “improving” security by replacing all uses of the RSA CSP with his own half baked homebrew algorithms.
Apparently RSA is insecure because all that peer review and intensive scrutiny means everyone knows how it works. Looks like the world’s PKI will be coming down like a house of cards. Better call your bank and make sure those lazy bastards are on the case.
Fail Starts With F
In the words of those clever chaps at SANS & MITRE: “CWE-327: You Suck At Crypto More Than Adi Shamir”. You fail extra hard when you base your shitty algorithm on a turning grille cipher, used to teach cryptanalysis because its so crap. You are gunning for bonus points when you add random data to the output stream to make it “harder”. You win the prize when you don’t know how to spell the field you claim to be an expert in.
Noobs are wrong when they think I do the security consulting because its fun, glamorous, and I get to tell people what to do. I enjoy drinking beer, and I wish they would fuck off and fail somewhere else. The only reason I get involved in this shit is because I can use scary and complicated words to extract more cash from your manager.
Protips #462
First impressions when you meet a client count big. With a decent entrance you can make every suggestible noob in the place think you are the solution to all their problems. In this edition of Protips, you’ll learn a secret pro maneuver, which is guaranteed to increase your rate, and your chance of banging the receptionist.
Every Day I’m Hustlin’
Office buildings have positive pressure due to the air conditioning. You want open up the ceiling hatch of the lift. When the lift arrives at their reception, people will hear the ding and be looking at the doors when they open. People will be influenced by a feeling of lightness due to a slight pressure drop. It will feel like something just happened, and you’ll be casually strolling in with the wind blowing your shit around movie style. You will look like the goddamn messiah arriving.
Get The Most Not The Lesser
The HR chick will feel like you are “a good fit” because she wants to fuck you. Think I’m crazy? You forget that working in HR has only slightly more qualifications than supermarket trolley handling. Metacognition is hardly up there on the skill list. Their laughable aptitude tests won’t be a problem – presumably you know the fuck what you are doing technically.
Well TBH you were odds on going to get the contract anyway – but enjoy the extra twenty bucks an hour, and the hot receptionist.
Knee Deep in Improvements
Right now I feel like Ludwig von Herbgaarten, Landscape Gardener extraordinaire, and three time German Gardening Monthly “Man of Hard Wood”. Ludwig has just laid down a spec-fucking-tacular garden under contract for the Crown Prince of Ubercashistan. He tells the rest of the team to finish up the fence and fertilize it and trots off to spend some well earned time in the palace harem. When he comes back there is a fence through the middle of the fucking duck pond, and the entire place is knee-deep in horse shit.
And all my pretty flowers died, you incompetent noobs.
You just lost the Game
You hand over a polished, well designed product. A maintenance team shouldn’t have any issues adding minor functionality on client branches with your well designed and documented setup. Yet every damn time you get called back six months later to help with some issue they are having, and find the size of the codebase has tripled, functionality is up 10%, and functioning functionality is down 50%.
Not that I claim that software engineering metrics are anything but complete bullshit, but if function points per kloc starts to go down like Paris Hilton, then it must be due to someone playing design doctor with their dick out.
Get off my lawn
Blame can be laid at the door of the juniors of course. They are positively itching to whip out their dicks and do some real software engineering so they can pull chicks at Sharepoint conferences or something. They ignore the fact that all the hard parts have been deliberately done for them because their role is suited to their ability (editing config files, and perhaps a new implementation of IShitSelector for some picky bastard of a client).
When a chance comes up like this to stamp their clumsy boot print all over my nice design, how can they resist? Can we really blame them? Of course we bloody well can. My recommendation is going to involve “your ass” and “fired”. GTFO.
The First Rule of Fail Club is
I’m a nice guy. A top bloke. I give credit where credit is due, and I don’t mind yielding when someone else has a better plan. If you’ve done well, I’m going to let you know about it. If it’s saved me time, then I’ll probably even buy you a pint.
That said, if your shit sucks I’m going to drop the cruel hammer of reality on your fragile ego.
I Never Less Than Three’d You
I contract for a place with a problem. Everyone happily works away like little beavers, and there is little interpersonal conflict. The problem is that nobody will ever say “Hey. Your shit is fucked. Fix it”. People are being too nice. It means problems are identified and instead of hurting someone’s ego by asking them for a fix, the issue is worked around. This leads to a great big back-slapping circle-jerk bukkake session, an architectural disaster. You do not talk about Fail Club.
If your server is taking data from 10Gbps fiber link and stuffing it down a low bandwidth connection to a client, then not having rate limiting is fail. Sending “only the changes” when you are talking analogue sensors means “sending shit constantly”. Maybe I’m just “pessimistic”, or just maybe people calling themselves a “Software Engineer” should understand the fucking concept of “less-than”.
Burn the heretic!
Their biggest problem is that their previous version worked – before they had the fiber link, it was 1200cps serial. It worked back then and I’m just being pessimistic. Or, see how my crazy “less-than” theory is holding up here?
This is only the beginning of the fail. Server dropping subscriptions? Add a resubscribomatic to the client. Patch, patch, and patch again. 30% of the codebase is dedicated to working around issues in or fixing issues in other components. The look of horror on peoples faces when I say “Welp, I guess Barry is just going to have to fix the Frobulator” is hilarious. They all hate me.
Solutions? Come up with a terrible design, pass it out for review. Anyone that claims to be happy with it should be immediately fired. Encourage a productive working environment by encouraging your staff to grow a pair of goddamn balls. Problem solved.
Lies, Damn Lies, and Ballistics
Lets say there exists a component which was implemented by a monkey. It needs some major work with the Refactoring Sledgehammer to bring it up to scratch, which would take a month or so. Lets just say its hypothetically a fairly important core component too, like a feature tracker for a UAV laser targeting system.
Lets also say the management team are a bunch of noobs, who think that by claiming a “final deadline” is approaching every two weeks it will motivate their staff into finishing early.
Shut Your Lying Whore Mouth
Of course I don’t give two shits about your stupid project. If I’m told its a two week deadline, then its definitely not my job to play Detective Dick Swinger and sniff out if I really have a month to do the required changes. Also I still get paid to give you advice based on your lies – so my recommendation is going to be a dodgy band-aid fix.
After six months of this shit, you are going to have so many layers of hot-fixing its amazing anything will work. So when the feature tracker jumps to your car, lights it up, and you get a Maverick up your asshole, don’t come complaining to me. You probably shouldn’t been driving around in Palestine anyway.
Basic Addition for Dummies (and PMs)
There’s a thousand hours left, retards. Even if we do “pull together” and “give it 110%” its still going to take 900 odd hours. You suck at project management, stop playing immature little games and thinking that a little “motivation” is going to magically fix your blown out schedule.
Are you are planning on asking for my opinion on how to fix your shitty project? I’m going to be equally motivated whether the deadline is next year, or tomorrow. I don’t give a shit how much money is on the line, because I was smart enough to not invest in your stupid idea.