Friday, 5 October 2012

Don't believe in dingos II


No sooner than dust has settled on the acquittal of Lindy Chamberlain, Australia wakes up to another defamation campaign targeted at Konrad S and Jerzy F.  At the tender age of 7 (8? 9?? ...whoteva...), Monika W claims to have been subjected to a terrifying staircase dangling ordeal, involving Konrad S (cousin) and Jerzy F (friend of family) holding her by the ankles over a balustrade.  As in the infamous Chamberlain case, the obvious *conclusions* have been discarded in favour of more laborious fabrications produced by the alcohol dependent accuser, supported by dubious eye-witnesses and requiring unfathomable strength on behalf of the accused.  Both of the defendants have independently offered to undergo the lie detector test, and their testimony held up in cross examination.  On the flip side, one can question the purpose of the accuser's flamboyant attention seeking statements, such as "they flung me up and down like a violent rollercoaster" and "I saw the earth disappear underneath me feet and thought - Huston, we have a lift off".  Additionally, one of the apparent eye-witnesses, Marta S, succumbing to the guilt on a boozy night, has recently admitted to never seeing the action at all!

The accusations have particularly hit hard Konrad S, who exiled to UK in order to escape the violent mobs lining up in front of his house.  This has not prevented Monika W from hunting him down in London, moving in, destroying his door locks, forcing him to binge drink till he begged for mercy.  But was the relationship always this sour?  Historical research uncovers plentiful evidence of nurturing Konrad S taking Monika W to the park, granting her the wish to stay as long as she wanted, and even longer.

As the age of the tabloid sensationalisms dawn on us, Murdoch empire crumbling, Middleton breasts failing to make the front page - will this mud slinger's 15 minutes of fame come to an end?  Will the good name of Konrad S and Jerzy F be restored?  This reporter dearly hopes so.

Reuters,
Radek S

Tuesday, 2 February 2010

Lure of the fat rabbit warren

I bet like myself, you got into IT due to the love of programming. Your first hack game, be it on ZX Spectrum or Commodore 64, gave birth to an ambition to code bigger and better. Eventually, you finished uni, got an IT job, started living the dream. Right about then, you had the first introduction to finance...

Sitting in the pub with your media colleagues, the suits arrived. Their aristocratic demeaner and fat wallets captured the attention of other punters, especially the barmaids'. Once within an earshot, you overheard “millions of transactions per second, gigabytes of data, 6 figure bonuses”. A thought appeared in your head – why not me?

Fast track, you finally made it into finance. Recall the eerie feeling walking into an Investment Bank for the very first time. More unsettling than the need for the ironed shirt, shave, punctuality. The vast scale of the office, smart appearance of its inhabitants, you never swam in waters so deep. Till now, the pecking order was defined by programming prowess only, yet your new colleagues seem to match you in geek and raise you in financial enlightenment. Faith in their über brain powers is only strengthen by the complexity of everything around you. “It will all make sense as soon as you've played with it...”

You reach out for documentation – there is none. You ask for chief in command – we’re an egalitarian society. Can someone provide some background – all busy with a production issue. Business requirements – they’ll be passed to you with a spoken word/messenger chat/2 liner emails. You dive in, with the conviction that such established and profitable institution must have eventually understandable codebase. But no matter how hard you try, all you witness is blatant anti-decomplexifications, lack of architecture, unmaintainability, slavish following of the outdated – all begging for a rewrite that unfortunately "will bring no value". The code comprises endless, loosely cobbled if-else conditions, filled with enough acronyms to exhaust ASCII set permutations. Within such spaghetti mess, new features are added with a stab in the dark and regression tested by peanuts earning offshore.

Your colleagues concede that fresh approach is needed, but are unwilling to back this up with action. Whilst aware of better approaches, they seem detached, passionless, almost bored, though still consenting to outside of working hours effort to fire-fight the dying system. Second class citizens among their business colleagues, who actually drive the IT processes. When business screams “jump”, IT obediently responds "how high". On the odd chance of asking “why”, unpleasant answer might come to light: so that business can sweep shit under the carpet, be careful it doesn't splash out once you land.

Such state of affairs is no coincidence, let’s look at the facts. Banks are the most desired places to work for in London. They attract talent with reputation of high standards, seemingly interesting problems (volume/scalability/performance/complexity) and fat paychecks. The belief of greatness is brainwashed into every new joiner (preferably graduate), and non-conformist are happily let go. Being top of the food chain, banks have no natural HR predators beside themselves.

Yet a team of the greatest developers still plays second fiddle to the worst performing trader, hence acquiescence is more of a virtue than excellence. To keep the IT in line, a highly feudal managerial structure is put in place, controlling bonuses and contract extensions. For technical guidance, 2 cast system prevails. Business functionality is worked on by a mobocracy of grunts, infrastructure is policed by managerial lackeys sitting in the Ivory Tower – “Infrastructure Team”. Absence of personal accountability among the grunts usually achieves the desired anarchy, but should a mutiny arise, “Infra” is quick to pounce and restore chaos. Disobedience is rare though, as management skillfully keeps developers overworked and confused with a plethora of tricks. These range from a simple denial of a refactoring request, impossible deadlines that breed hacks (never to be refactored), and potentially most genius – usage of a single shared environment where individual developers not only trip up each other, but also bring down System, Performance and UAT testing.

IT starts behaving unlike any other developer community outside of finance. Work/life is imbalanced by the natural desire to mother a perpetually sick system. Perks such as subsidized cafeteria and free gym make it easier to stay in the office building longer. Rebellious tendencies to produce quality are squashed by “Infra” pogroms. Dreams of architectural position cannot exist within …a place with no architecture. Status quo is accepted with sad dignity. And the strictest rule enforced: don’t ask/don’t challenge.

What gains are to be drawn out of such legions of overpaid and constantly underachieving programmers? With no economical vantage point – is there more at stake? Could it be that hell is running out of fuel and depends on overheated CPUs running inefficient code? Has a harvest of our creative souls and passions been requested by Beelzebub himself? Either is a good excuse for evil orchestrated recession, as a result of which the banks arise from the ashes stronger then ever, causing a mass exodus of IT staff from other industries. With Prince of Darkness’ front shop Oracle (with the blood red logo) acquiring Sun and hence Java; and M$ always in his back pocket – the devil now controls all the trade tools of his soul/heat supply …And this is where you can break free.

Turn away from Java, turn away from .Net. Start coding Haskell, Lisp, Erlang, Ruby, Python, anything that favours elegance and readability over primitivity and verbosity of “Programming for Dummies” examples. Limit overuse of patterns and frameworks, silver bullets of Java/.Net. Adopt the simplest of protocols, minimal set of libraries. Write code in lightweight editors, incapable of transparently evil code generation (just look at Eclipse generated hashcode() and equals()). Start working for a charity. Do as I say, not as I do – one day I’ll break free and join you…