I have just had massive blow out. I seem to be fighting and arguing all the time now with close people near me. I feel ratty even talking to acquaintances. A turning point has been reach, and I honestly do not what on earth to do next about it.
It would appear that investment banks are extremely confused on what their long strategy is to do with Java and even Beyond Java:
- The sheer unpredictably of interviewer requirements, unpredictably of technical, social, team make up, and process whether it is agile or non-agile
- All interviewers are different because all client are different; this is understood and they all have different personalities; however common rapport is increasingly hard to achieve in the mix there
- Difficulty of getting to the conclusion of a potential engagement; the perfect match is proving harder to achieve
- Lack of foresight in clients in that they really want. It seems that they only interested ever in a fix for the pain right here right now – they are unwilling to look at changing the application architecture; infrastructure; underlying algorithms behind the scene
- Expect wizards to turn up and perform a spell of magic – and clear all ills. We still do not if there is a special technical skill that is out there (a silver bullet) if there is such a thing.
- The state of the job market software engineering in financial services / investment bank in City of London is unknown. Is it good or bad? Everyone seems to have a conflicting view.
With case (5) I could have said several years ago. “Ah! The missing skillset of knowledge is Java Servlets or Struts or JSF or EJB or even Spring Framework”, then I could have done something about it. In 2011 the answer is “Well, Hellfire, save matches, fuck a duck and see what hatches!” and my own little addendum to Steven Tyler’s [American Idol Judge] surprised vocal curse-rhyme is, “Hail Jesus and Mary! Spread your legs, buttocks and latches. Give me good sex, herpes and whatever catches”. In other words if there is a magic inspired Java technology X that one needs to get an engagement in 2011, then it is news to me.
The deep worry of (5) is, I believe that it is further evidence of Java ecosystem fragmentation and disparate wealth and spread of technologies. On the one hand I would be over joyed if the clients now let start looking Beyond Java on the JVM, but they are unanimously sticking with Java the programming language, sticking purely to it, becoming the late majority and progressing to a laggard category.
These dogs [bitches] are holding back the innovation and early adopter categories (including me, myself and I; and also add you, yourself and you). We know that the backward compatibility guarantees is the constraint on the Java programming language. You and I can see that this rubber band stretching between laggards and early adopters has to break at some time soon as the client themselves are demand more of the applications that run on the Java software platform. We can no longer be held to ransom for application strongly tied up to legacy WebSphere application server 4/5, WebLogic Server 8 or steadfast only runs on a JDK 1.4.2. The clients must know that they have to upgrade their application, give up these legacy environments, reinvest for future ROI, refactor for sustainable architecture, in order to ultimately be competitive in their technology model, which is by now proportional to the performance their business model.
In case (4) I see a lot of job specifications for things like Java performance and multiple thread programing / concurrency expertise.
The candidate must have extensive Java knowledge and must be experienced in writing streamlined (memory and CPU efficient) code. Additionally, they must have a very good understanding of Java multi-threading and Java performance tuning.
This suggests to my mind, client are facing a lot of issues about pain now, fire-fighting and fixing the problem short-term. It just does not suggest fixing performance in a long-term strategic way through innovation and changing the architecture or searching for a better algorithm or collapsing layers appears to be non-thought here. Not up for discussing. Nada.
It seem all to soon to be like a Hollywood action movie scene: Just load the fucker and fix it so the actor can keeping shooting bullets from my rifle, whilst not thinking of day when rifles are replaced with ray-guns. (One can therefore forget talking to prospective client about Scala adoption or looking at radically different solution á la Clojure)
With case (2) this is human interaction sociological issue, the quality of interviewers seems to less than desirable IMHO. If the other side of the fence has different fixed ideas about software development rather you appear to do, then we are sunk in a face-to-face. And low and below if the organisation has dysfunctional view of Agility, then the wheels will come off …
With case (5) asking the candidate or the contract for wider flexibility suggest that the client has a lack of clarity in the first place. It is this idea of, in a British way, or wanting to dot the I-s and crossed the T-s, ticking all the boxes from A to K, in order to get SIGN OFF from the manager’s manager that is a deeply flawed and ultimately troubling. Yes one can say the job market behaves in the Keynesian model of economy, it is a seller’s markets now, but who the fuck is a ultimate master of Java, C# and C++, Perl, Python, Swing, Spring Framework, ASP, Hibernate, Core Java, JPA,Scripting Languages, Web and programming language and framework simultaneously and not already working for the software deity G.0.D? I would like to know who these mythical people are and meet them today; and I suspect so would you.
With case (6) it is hard to get the real truth of the information of engagements these days, when one is involved fighting in a war. The war is the talent search game and recruitment of good programmers. The amount of misinformation is as dangerous as finding right information. The trouble is discerning if your information is valid and good, the signal-to-noise ratio is not good today.
I am deeply worried about the future prospects. Currently my own money and budget have limits, but there are not infinite. I can postulate, blog and express my enthusiast about a Beyond Java (on the JVM platform) universe as much as humanly possible, I can talk a good game (á la Paul Gascoigne) on Java technology and the platform, as I have done it before. I am human and have limits though, and I am beginning wonder genuinely what those are at the moment …
My tech lead rant is over … Stupid, silly and uninspired … unsure what value there is there … software pride weak … we don’t reach … we don’t join arms … ah we as software developers take it up the ass as per usual …