Archive

Archive for the ‘Computing’ Category

Some Advice for New University Graduates; Dreams of Developing Software

December 26th, 2012 1 comment

I have taken a step back in an attempt to put the year 2012 in focus. As always, it started with great hopes and there were highs and it seemed for a moment, that working life was back on track, but lurking in the background was an impending disaster. The problems were not fixed, I can see them now, but that is for another blog post.

In this post, I went with another angle of working life, I pondered for a moment, what on earth would I tell myself as the twenty something university graduate? What advice would I give to another university graduate now?

Tools, Frameworks and Languages

The tools for writing applications are definitely here. At the end of 2012 there are an abundance compared to slow pre-Internet age of 1992. You have lots of opportunities in programming languages such as Java. It runs on a virtual machine and you can forget about dreams of C++ being a guru engineer and purely object oriented development. The landscape is changing. I would say learn something about functional programming languages. You have to learn version control systems such Subversion, Mercurial and Github. Take advantage of the new technologies for learning, videos and on line courses, broadband Internet, and ways to amplify your knowledge. Remember: technology is not the answer, a panacea on its own, it only exists to serve to every human being, to provide efficiency, improvement and greater achievements in progress. Out there is such a breadth of knowledge waiting and so little time to learn it all. Choose your technology and learning wisely.

I would warn myself about the dangers of social networking, and suggest you would do the very same. Privacy is dear. Code and ideas are dear. Keep some part of life in the off-line mode for your own security, if nothing else. Other people have been known to take ideas with out credit and attributions. That drunken binge or that slur against some person could in the future become a living nightmare. Only ever put on the Internet, the stuff you are truly happy to let be public knowledge; find the balance between share-nothing and share-almost-anything for yourself. Be wary of code that you do put out there in the Internet.  In my opinion in the future it could be held or used against. If you are showcasing ‘wares make sure it is the best work that you can do, don’t be shoddy or lazy about programming. Being part of open source framework as a committer is a good thing, it will open doors, and you get to meet electronically people on the other side of the planet. You might even be lucky enough to meet the other committers at conference or visit on holiday; maybe they may come to you. Life is better with the people you know; who know you and therefore have a bond with.

Because they are too many tools, frameworks and programming languages out there, I would advise myself to choose the special interest wisely with a view of what is going to benefit my career in the long term. Nobody can be master of all trades in IT. Now, our profession is too long in the tooth for that. If you want to be good developer, be that, a database girl be that, a security dude, then be that. Practise, rehearse and train in order to “get good”, only then will you become great at whatever it is you choose to do. Choose something you enjoy not the thing that your mother and father tells you that you must do. Listen to your beating heart first, before listening to the opinion of other people. Develop that gut, that the gut-feeling, the little voice in your head, the spirt that comes sometimes you feel exciting or when there is a sudden whisper of foreboding, an ill-wind, whatever, because it is true. It is the one statement of a fact that is not a YAGNI, you are going to need it, your inner voice.

You must live and work with other people. If the code is an experiment and is just for fun, then advertise as that with a definite label. Code is also nothing with people. Unfortunately code is the easy part, it is the dealing with the people, the communication, the handling of information between groups of folk, the social aspects, which are the hard parts.

Elitism

Surprise, surprise: be warned that Elitism is still in effect. Nothing has changed since the early 1990’s in what is legalised prejudice of university graduates. Employers are allowed to specify on job advertisements that they are only interested in certain set of candidates from so-called red brick universities [2] even though this smacks in the face of diversity and fair entrance. There are employers wanting the so-called best software developers out of university or higher education college, if you have less than second-class first level degree (2-1) your application might tossed directly straight in the bin [1]. In my day applications were sent by post, now it is quite easy to discard a very crafted Word or PDF document in to the digital waste receptacle in the sky. Yet, it is common knowledge, or it should be, in the IT profession that a certain Mr Bill Gates, of Microsoft, did not even graduate with a degree.

My advice is to the same now as it was then, Keeping On Moving [10], there are always alternatives to elitist organisations, which may well go out of business sooner rather than later. I learnt very quickly there is always one choice, colloquially, known as The Law of Two Feet [9]. All you have to do build on the network that you started whilst in university. The teacher or lecturer you did the best project for, the mate that you had the best times with at the pub, even the gym is a place to find and discuss opportunity. If you have impressed a friend or colleague and if they are really your friend, know you personally, then you are more likely to get opportunities of work that are more suited to your skills.

Job Shock

During the early 1990’s the world was recovering from previous financial crisis, albeit it was a smaller compared to the massive crunching meltdown that we have had running now for five years, since 2007. For the record, I am also grating my teeth too, in frustration with you too.  I feel. I am a human being too. The shocking stories of the job search of recent university graduate have left me cold.

There was a time before the monetary union of Europe and the Euro, when each country in the European union had it’s own currency like the Deutschemark, the Franc, the Peseta and Lira; and therefore their own national bank of control, of monetary policy, then there was the possibility and the economic reality of at least Germany still being the powerhouse of Europe and the World when Britain was in the doldrums. Indeed, Germany was able to survive the recession of the early 1990’s, I know because I was living there for a time.

Since the turn of the century, the sudden explosion of the Internet, the reliance on better communication links, the rise of common markets, radical improvements of technology, better efficiencies in trading have meant we have a global economy.  The door has closed forever on hoping over the English Channel to find lucrative work, even if the language barriers were not there at all. A recession in Germany most certainly means a downturn in Britain and Ireland.

For university graduates, this means that getting a job search is much harder than 15 and 20 years ago. The competition is fierce; the depression is deep. Some graduates wondered why they have invested their formative years in to getting a university paper only to find themselves flipping hamburgers at McDonald or desperately applying to become a retail shop assistant at the local Debenhams or Next fashion store [3][4].

The Job-Shock of 2012 is clearly worse than 1992.

Eric, Newcastle

I have just passed my 1 year anniversary from my master’s degree. There’s nothing to celebrate because it’s also the same time I started looking for jobs and 1 year on, I have had no success. I have been to nearly a dozen interviews to progress on my career to be an engineer and have had no success.

Laura, London

I completely understand what you guys mean. It is so hard to keep motivated when you keep getting told, “Sorry, you haven’t got enough experience” and then you say “but that’s why I want a job!!”

With the two years from finishing my degree to starting my graduate job I gained experience and continued to apply. Getting experience isn’t easy though because quite often you need some experience to get experience. My advice is to plan what skills you want to show experience in then make a plan from their, starting with smaller experience and aiming for the bigger stuff when you have something in hand.

We are losing young and gifted people across a wide-cross section of disciplines [5]. Some are giving up on their dreams of having a career. Sadly, some people who thought about a career in information technology, software development, programming or designing applications, may already be saying to themselves: too long and hard to achieve the result I dreamed of; do not think to apply because it never happens to people just like me.

Continuous Reinvention

I am here to tell you that if you want to get a programming job in information technology then it is possible. Don’t give on IT just yet. The roles are there, if you keep looking for them. It is quite similar to dating. Two people will never meet each other, if they stop searching of the other lover. If either one of them gives up then the cause of true love is lost. But then, how do I find a job? A better question is, how do I find a job that I really will enjoy? The best and ideal way to do this is, I think, is to find that company and group of employers that is enthusiastic, altruistic and cultured. In other words, the company must have a distinct lack of dysfunction, but you as a graduate candidate have already found that to be true, yours suspicions, which you most likely experienced on the job hunt are quite correct, I am afraid.  You absolutely correct to note that every company that advertises, “We hire only the best candidates”, is logically not “the best”.  Learn to read those job specifications and as some would say read between the lines. Ask some searching questions: what happened to last year’s recruitment? As an addendum to the infamous and standard question: How did this job become vacant?

Start networking when your career is in infancy. Keep your ear to the ground and listening and learn the behaviours of others. It is sad, but true, in the IT career too, you have to watch your back as well. Resist the temptation to be closed and unapproachable, instead be that person, open to change, a mind like parachute. Remember who put the faith in you and got you to this great position that you are in now. You have a university degree or better, not many people in the world get that, and those who try to put you down, are jealous, because when they had their chance in life, they bloody blew it. Just because they took a mis-step then that does not mean you are going to. If you really want to be black and proud and be bad meaning good, then for heaven’s sake, buy the CD or download the MP3 of Public Enemy: Fight The Power, Rebel without a Pause and Bring The Noise [8]. Rock on out in your bedroom when you feel the world is against you. For all other people find some inspiration and music to gets you going, motivates and inspires positivity in yourself, whatever it is, whether music, theatre, classics, walking the dog, or a landscape that you remember as a child, then keep on at it and make it your central core, your sword and shield in the battle, the battle of survival.

When you leave university and get on the job market for the first time, it is a great time to learn and identify the different types of institutions. For instance, you may have thought that big company ACME was the best for you to a get a job in, perhaps you were tempted by the glossy brochure, or the suited and booted personel at the job fair, maybe they had the best gizmos in the handout bag at a conference; and then you later find out that the much smaller FROZFIZZ is better. You will be probably be surprised at youreself suddenly turning to the FROZFIZZ, and finding this smaller enterprise attractive. Maybe it was because they have a better training scheme, perhaps they send there employees to get  proper IT certifications, and perhaps they offer a real chance to use the next interesting new technology or framework there. More often or not, the FROZFIZZ employees seem really happy ,warm and generous. It is not fake, because you can confirm from a friend who recently got a job there. That is good-cultured. You know it when you find it. Some people spent their life trying to find the good culture. Okay, FROZFIZZ has a much lower starting salary than ACME and they cannot afford to pay an contributory pension plan or some other additional benefits compared to ACME. This is the time after university to learn how to measure up and down different employers when, most likely, you have not yet got the husband or the wife or long term spouse to bloody annoy you and you can concentrate on what is best for you and your career. Twenty years down the line, you will not regret choosing happiness in organisations like FROZFIZZ rather the gravy train of ACME. In fact, it is better to have worked at series of FROZFIZZ like companies than stick to the pressure and unloved atmosphere of ACME for ten years, even if you start climbing the promotional ladder in to senior management. The one thing that I want to hit you home with, that is almost universal truth, “The People are the Company”.

In software industry, which is a global economy, being comfortable where you work and when you work is the most important reason for having a career. Yes it can be learning Java or Scala or Groovy some other programming language, but if the company is dysfunctional then the world can feel like a horrid place. In this day and age, we are rapidly seeing the decline of a job-for-life. If you cannot change the organisation, then change the organisation.

Some people, do leave the country just to find that the one opportunity to start an IT career. If you want my advice, and you are seriously considering it, then do it. If nothing else, you will learn a new language, if English is not the native language of country that you will work in, and you will have a different culture and outlook of life to tune it in. It will demonstrate to the world, on your curriculum vitate that you are one of the few who is remarkable, courageous and brave. Although leaving the country is tough and deliberate decision for many people, you can always come back after a few years. Even fewer souls, permanently leave Great Britain for the USA or beyond and never return, their lives changed because they made the decision. It is all about finding alternatives.

Remember you always a choice. Just ask Carol Vorderman [7]. Stay the course, and achieve your dreams of becoming a professional software developer; I guarantee you will not regret it.

[1] http://www.standard.co.uk/news/work/sign-of-the-times-graduates-take-to-streets-in-search-of-job-8226282.html

[2] http://en.wikipedia.org/wiki/Red_brick_university

[3] http://www.independent.co.uk/news/education/education-news/redbrick-universities-are-more-elitist-than-oxbridge-634051.html

[4] http://www.guardian.co.uk/money/2012/jul/04/graduate-recruiters-look-for-21-degree?intcmp=239

[5] http://www.guardian.co.uk/education/2012/jul/31/lower-second-degree-employment-prospects

[6] http://en.wikipedia.org/wiki/Organizational_culture

[7] http://www.guardian.co.uk/theguardian/shortcuts/2012/jul/04/dont-judge-job-applicant-by-degree

[8] http://en.wikipedia.org/wiki/Fight_the_Power

[9] http://en.wikipedia.org/wiki/Open-space_technology

[10] http://en.wikipedia.org/wiki/Keep_On_Movin’_(Soul_II_Soul_song)

+PP+

Where There is Still Hope

December 4th, 2012 Comments off

On Monday evening, 3rd December, 2012, I went along to the British Computer Society London in the Strand for a lecture from non other than Professor Sir Tony Hoare. It is not everyday you get meet a personality who has been so well deserved lauded in the computer science, in its history and its modernity and  brief time of existence. Tony Hoare was the inventor of the famous Quicksort computer algorithm in 1960 (at the age of 26). I remember a first encounter with the QuickSort algorithm in Herbert C. Schildt’s Programming in C book.

Professor Hoare was in town to give a Peter Landin lecture on Laws of Concurrent Design. The talk was essentially about mathematical calculus of computer programs; how they could be expressed in terms of mathematical functions, and set of basic axioms with rules, then could be composed together to proof notations about concurrency and sequential operations.

Professor Sir Tony Hoare at BCS London, December 2012

Oh gosh, it has been awful long time, since I personally looked at additional mathematics course book. Yet I understood this level of discourse in the talk. I found that I could understand the Exchange Axiom to my surprise. Although, I think Professor Hoare had simplified the actual formulas for the benefit of his talk and the level of the audience.

For the ordinary punter, dealing with this abstract mathematical terms is clearly out of the level of usefulness, however these are the theories that allows computer scientists to build programs such as compilers, static analysers and the tools that language writers use to build new programming languages in order to give us the world of devices and applications that we all use today. Without these pioneers in the computer programming arena, we would be, I think, far far behind. Indeed, we are standing, everyday, on the shoulders of giants and reaching for the stars.

I thoroughly enjoyed the Professor Hoare talk, and the fact that this guy is older than me and still working (at Microsoft Research in Cambridge, England) is inspiration enough to say to hell with silo management and bad attempts to be hip with the agile practices. Say hello to diversity in corporation, the future is for real. Here is a real star: a living legend.

+PP+

PS: I also got meet up with some fellow ACCU members who also turned up for the lecture.

Silicon Valley Code Camp 2012

October 8th, 2012 Comments off

The Silicon Valley Code Camp is a free event organised Peter Kellner and others every year in October. The SVCC talkes place at Foot Hill College, Los Altos Hills, California. It is now in its seventh edition, which in my opinion extraordinary.

This years unofficial attendance was about 3800 participants, over range of technologies. It is not just a Java conference, the SVCC embraces native programming languages like C++; web development through JavaScript and Dart; the JVM platform with  Java, Scala and Groovy;  Microsoft technologies, Silverlight, C# and DotNet; and non-development sessions such how to find start-up funds, cloud computing and even how to recruit the best team in the valley.

What astounds me is that this is all available free to attendees, the sponsors pay the hosting, hiring and the obviously for food and beverages. This is training and education for free, albeit the speakers are not trained professional educators, but mostly from my witness, they do know what they are talking. To submit a talk here, you just volunteer your services. It is a decision, can I make the time and effort to lecture or speak about a topic that is interesting for attendees? If you can do that, then it is good chance to change the world. After all, it is the learning experience, in my opinion, it is chance I feel to give back something to community that somebody gave in the past to me.

Here are my slides to my talk Leveraging Java EE 7 and the Cloud with JavaFX, which took place on Saturday 6th October at 3pm

The attendance was smaller than JavaOne, but I am not disappointed in that at all, the smaller the audience size, the more intimate it is, the chance to get to know and ask questions about the developers. Why they like Java? What are they hoping to achieve? From these question, I was able to tailor the presentation slightly to be more about JavaFX than JavaEE.

Java EE 7 is now repositioned from Moving to the Cloud to HTML5 Web Sockets and RESTful services. It is draft specification and you can download the latest document from the JCP.org under JSR 342, which probably needs an update.

I met several members of the community including:

  • Van Riper
  • Kevin Nilson
  • Andres Almaray
  • Ixchel Almaray
  • Csaba Toth
  • Chris Richardson
  • Peter Niederwiesen
  • Dave Nielsen

 

+PP+

QCon London 2012 Part 2

March 18th, 2012 Comments off

 

The last day of QCon, Friday, had already started with a keynote, Resilient Response in Complex System, John Allspaw. The general advice was concentrate on recovery rather than attempting to avoid failure. The talk emphasized the need to train developers and operators in failure situation, following the model of military or emergency services. The idea of a post-mortem, retrospective, learning from the forensics of situations, are needed in order to provide a resilient response. I think Allspaw’s core message was to practice, learn, analyse, and then improve.

 

QCon London 2012

Professor Philip Wadler takes the stage

 

Lambda Belief

 

Friday sessions began on the Scala and Functional language Track. I went to see Faith, Evolution and Programming Languages: From Haskell to Java with Professor Philip Wadler of Edinburgh University. What followed was short history of functional programming and mathematical logic, beginning with the Gerthard Gentzen (1935) , who devised Natural Deduction and sequential calculus.

Natural deduction was the idea that rules of logic come in pairs, with that it is possible to simplify Proofs – in order to prove A and B, then I need to prove A and also prove B, then work on A implies B or vice versa.

Next, came the achievements of a certain Alonzo Church (1932), who invented Typed Lambda Calculus. The lambda calculus permitted construction of functions and records from constituent parts. Phil Wadler introduced a constant running theme throughout his talk – that is, it always two people who appear to make a significant breakthrough in understanding computing and mathematical logic. So in the case of Alonzo Church, it was not until the year 1980 William HowardCurry Howard Isomorphism – conceived the idea of partial functions calling another partial function in order to combine together a real function. Haskell Curry had discovered an artefact in the 1950’s, called combinators and isomorphism. Howard was also influenced by Curry. The main type system used in Haskell is called Hindley-Milner type system, discovered in the mid-1970’s. Robin Milner wrote a seminal paper called Polymorphic Types. Jean-Yves Girard derived System F and John Reynolds found discovered Type Interference for the polymorphic lambda calculus.

The great ideas are so great, that you discover them twice.

QCon London 2012

[R] Professor Philip Wadler, Edinburgh University and dressed in his “Lambda-man” tee-shirt

For the second part of this talk, Prof. Phil Wadler spoke at length on the influence of Gottlob Frege (1879), who formalised mathematical quantifiers as the upside down A “for all implication – assumptions”. It talked about John Reynolds (1974) – who discovered type Polymorphism/ Reynolds was interested in data abstraction, which meant he did not care how you represent on the type entity, but has a certain behaviour. Girard showed that the lambda calculus program can be written to terminate.

From the polymorphism, he introduced his own mark in history Odersky and Wadler (1997) – Pizza Parameteric polymorphism, which told the story of modern times, Igarashi, Pierce, and Wadler – featherweight Java, Gosling, Joy, Steele, Bracha (2004) – Java 5, and Naftalin and Wadler (2006) – Java Collections

The final part of the talk was about Haskell: Type Classes. and some recent ideas, such as finding a canonical language concurrency, search for description that transform one object to another object (parametricity?). Phil Wadler saved the very best for last with two assertions.

Lambda calculus is universal programming language.
Lambda calculus is Omniversal

 

QCon London 2012

[L] Sadek Drobi and [R] Guilluame Bort of Zenexity, co-authors of the new shining star, The Play Framework

 

Let’s Play

I went to the Play Framework presentation: Non blocking, Composable Reactive web programming with Iteratees in Play2 with Guilluame Bort and Sadek Drobi. With Play Framework version 1.x they decided not to use the WAR file, any part of the Servlet API, because of the typical implementation of Java EE web application servers were one-request-per-thread which did not scale. Bort and Drobi knew in order to scale significantly as web platform: a thread did not need to be blocked when doing I/O and with the Servlet API the thread is blocked all the time. Instead, Play version 1.0 was based on reactive programming techniques and the promise to avoid the blocking of Java thread. They also went to templating scheme and followed a Ruby style convention-over-configuration philosophy.

One part of their talk that the authors discussed at length was the quick iteration feature. Developer did not have to deploy to an infrastructure. Instead, the designer and the developer, working together, could just code and watch what happens to the application at runtime, without having to stop and start an application. This idea of quick iteration of change is fundamental to allowing designers to experiment and create better designs.

Zenexity had to work around also the implementation of java.io.InputStream and the read call, which will block the thread if there is no data. These methods block until input data is available. A reactive model had these characteristics 1) inversion of control, 2) the source controls the execution and 3) holds onto the control without loosing it.

The architecture of Play Framework version 2.0 brings in the idea of composable streams and stream handlers Iteratees.  An Iteratee is a consumer. It is just something that consumes the input and it produces a value from the consumption. In combination with Iteratees, Bort and Sadek, also provided Enumerators, which are all about producing streams of a data. Enumerators also have adaptors called Enumeratees!

Overall, this could have been a seriously great talk, because all of that was missing was some tantalising demonstration of the Play Framework for beginners. I would have love to have seen that amazing user interface demo using these brand new Composable entities. New starters may well have been left confused and slightly bewildered by the lack of Scala code explanations.

 

Bazaar

 

Off the beaten track, I went to a talk in the Working Distributed track. It was given by Ola Bini and was called Anarchy, Cooperation and the Bazaar. This was a very good non-technical talk on the subject of open source software and its development. It delved into Eric S. Raymond’s classic paper about the Cathedral and the Bazaar. Ola Bini also delved into business of open source, how it is distributed, how developers work and why it has been a success. He also pointed why certain corporations and entities have failed at open source. There was a purest view of open source GNU and Richard Stallman discussed and contrasted against the pragmatists, Apache, Linux and Mozilla.

I found this talk rather a fascinating diversion and emphasised the learning I have had to do with communication between individuals and teams.

Ola Bini did cover the amazing success stories such as Linux, SourceForge, Codehaus, Github, RapidFTR, to name but a few. He concluded that it will be essential to notice the very low barrier to entry in creating a brand new open source project online with the help of Github. Such GIT developers can easily create an open source project. It is the best way to get people to look at your work, and if they really like what they can read and see, they can branch the code so easily and mash up with their own ideas, and of course they may contribute back to your source. The owness is you and your skills as a source code manager to pull in other contributions.

 

Caching, Grids, and No SQL

The final talk of QCon London 2012 was Caching, No SQL and Grid: What The Bank’s Can Teach Us? by John Davies. The talk started with the discussion of the data statistics of banks. Trading requires lots of data, lots of connectivity and lots of throughput and low latency. The latter two points are finely balanced.

John Davies declared that we need change the programming model. He stated the hardest thing to drill into a programmer is to think about programming for a distributed architecture, which to my mind was a bit sharp and harsh. These thought require techniques and much learning through coaching and mentoring. He spoke at length on the EJB model, which was a start but scalability was limited to the server or cluster of server

After the EJB model. we were offered up the topic of Virtualisation, where Davies announced that we can take any physical location and split it up in order to better share a resource. Each Virtual Machine would independent from the other – all VMs on the same physical machine relied on the same hardware. 

He compared the typical way of deployment applications in any business, including banks with Amazon EC2 (30 minutes). Unfortunately the banks did not at the moment support cloud environment, because of concern data privacy, intellectual property, trade secrecy, auditing, and mainly because of security reasons. John Davies said virtualisation and cloud environment are the way we must go, it is the future, even for investment banks.

The next topic was Local data storage versus Grid storage versus Cloud storage. Davies declared if we can distribute to a local VM [virtual machine] we’re most of the way there. He said that the big problem was provisioning these environments to the next level, from local VM to the local grid VM, especially if we move the VM to other networks. Davies compared strategies:

Local – very fast, perfect for developing and testing

  • Private Cloud / Grid
  • Very secure – perfect for banks & governments
  • Very scalable but there is a slight latency
  • Costly you have to invest in the physical boxes

Cloud

  • Pay for what you eat
  • Extremely scalable
  • Latency and security can be an issue
  • Service provider license could be difficult in a competitive market (when the tide flows it affects all boats in the sea)

Grid technologies

  • GemFire
  • Terracotta (Big Memory)
  • GigaSpaces
  • Coherence
  • Neo4J

Many other technologies overlap in area, predominately the caching side, these too are viable alternatives EHCache, Memcached, JCache.

    No SQL databases
  • MongoDB is pretty popular, HBase with Hadoop and Cassandra occasionally too. Others are rarely seen by John Davies in his context and environments.
  • GemFire – originally an OOD, now has a pure Java implementation, recently acquired by
  • Terracotta – uses Java VM replication, recently acquired by Software AG. It originally came out as a clustering solution, about 10 years ago, and Terracotta became very good at that clustering. Technologies move up.
  • GigaSpaces – originally the only viable implementation of Sun’s JavaSpaces, which was created by East-coast Sun Microsystem. JavaSpaces never really took off since EJB was favoured by the West-coast Sun Microsystem. GigaSpace has the concept of a “Space”, you can write something into a space, read it, take it, and be notified something changes. Perfect implementation of MASTER/WORKER pattern.
  • Coherence – formally “Tangasol”, now owned by Oracle, entity beans had a particularly way of writing to a database, it was originally conceived as a cache. Once people figured out that cache was distributed, you could effectively remove the dependency on the database.
  • Neo4J – The wild-card, a graph database. It is an interesting technology, it is a graph database with fluent and relationship queries, which is quite unique. For instance, “find all the friends of Sarah Plumber that are related to her Mother and over 25 years old.”

I also think that there is some type of standardisation that will come through the cloud development provider. It may be a Java EE 7 specification, if they want to tie together with Oracle and/or it could be separate organisation that does this, particular, like an OSGi for the Cloud PaaS providers. Well the future is bright. Cloud and PaaS will eventually be a requirement for enterprise developers for sure.

QCon London 2012
[L] Sadek Drobi, co-founder and CTO of Zenexity, Paris, France

End Game

 
I enjoyed my two days of work related training at QCon Conference 2012. I would like to thank my employer IB Boost for making my presence available. It was really good to see some familiar faces, and I know I missed somebody. Software development in London is changing, it is optimistic, there are interesting projects going on, despite the economic downtown. The vector of progress is still moving onwards one way or the other. When I go to a conference I intend see just where this vector is pointing, I have some ideas of what to look in the next 12 months. I see you at QCon London 2013.

Shout outs (in no particular order)

  • Robert Smallshire – Dear Fellow, thank you very much indeed
  • Barbora Nasincova – Zero Turnaround
  • Simone Barbieri – application manager at BWin
  • Oliver White – Zero Turnaround
  • Baruch Sadogursky – JFrog Developer Advocate
  • Alex Blewitt 
  • Liz Berstock – QCon
  • Yaov landman- JFrog
  • Chris Richardson – b
  • Floyd Marinescu – b
  • Professor Phil Wadler 
  • Sadek Drobi – Xenevity
  • Guilluame Bort – Xenevity
  • Kresten Krap Thorup – Trifork
  • Aino Vonge Cory – QCon
  • Steve Freeman 
  • Geeta Schmidt – QCon organiser
  • James Strachan – awesome talk
  • Michael Brunford Spall – Guardian
  • Alex Russell – I still want to get into HTML 5 ;-)
  • Adrian Cockcroft – Netflix
  • Gil Tene
  • Ola Bini 
  • Rich Hickey
  • Barry Cranfield – London Java Community
  • John Davies – Incept 5


2011 The Year of Chasing Pavements

January 15th, 2012 6 comments

I remember the year 2010 for the FIFA World Cup Final in South Africa watching the amazing tournament matches on BBC TV. Sadly, 2010 marked end of the JAVAWUG, I stopped leading the Java User Group, because attendance to the monthly talks nosedived in the summer mouths. I had had enough of running a user group, even though creating the entity was one of the best decisions I ever took.  So I personally invested money in my own training, Scala Object Functional Programming with Martin Odersky in London.

The misery of Lloyds Banking Group with Halifax Bank of Scotland really reached it’s pinnacle in 2010. LBG had wasted an opportunity to innovate in the 2008 and 2009, whilst UBS had written off 40 billion Swiss Francs in the credit crunch, it had survived market dislocation of 2007 to 2008, and subsequently wrote off  less than a billion pounds. The government and the chief executive on 2009 forced through a unsatisfactory merger with HBOS, claiming that they were going create “one bank”, and then I knew the truth. Now everyone in the world knows the truth. They decided, in 2010, to invest in Microsoft Silverlight and deprecate / divest in any Java enterprise involvement. It was a punch in the face for me personally. I desperately tried to get out of the bank into another bank before the inevitable happened.  It would have been much better to be one punching out first than be the one who felt punched … Too late was the cry, then when I heard the news shortly after arriving back to work after JavaOne 2010. I left Lloyds, I laughed out loud, then not long afterwards, I read a blog Microsoft had then deprecated Silverlight itself, such is life, some say.

I really have bittersweet memories of 2011, like Adele, my relationship with software development, my career was over. I thought I would hold out for a Scala position inside investment banks in London. I only ever met one person in a bank who was actively developing with new Scala technology. To my own mind, all I found was lies, damned lies and recruitment marketing *noise*.

I almost quit software engineering with Java, because of stupidity, and personal distress, around the time of early Summer 2011, I wanted to just stop right then. I could have chosen a completely different path, but I was saved by fate. Ironically the riots in England happened two months later (August 2011), which meant it showed also that some of our young English people were just as upset, frustrated with their lot, circumstances and life and worries about the future. The economy was shot, we all knew it. I was young in the 1990s and suffered and rose through the downturn. Boom and bust then and it is still going on.

Companies were laying off more and more people in 2011. Listening to the news or watching the TV, we were constantly reminded of the pain, suffering of society. All of this, the very real lack of confidence, the downgrade of social expectations, reached a peak with a dwindling pool of disposable incomes, the worry of getting into ever increasing debt, a lack of vision from the main political parties, and missing solutions. I wonder just what it was going to take to get through. I had just become a JavaOne 2012 paper reviewer, which was a massive positive. I was going to JavaOne 2012, another positive, my talk was accepted. I received invitations to talk at the Silicon Valley code camp and JavaFX User Group, which more positives.  These were balanced by the negatives. I noticed empty buildings in the city and the interviews had dried up. I also observed the pained expressions of people really going through an economic downtown in London, as I was out and about, and then it took just one unsightly social event in Tottenham (ironically Adele’s hometown), to tip the balance.

Chasing Pavements for me meant also searching for a full time job and/or hunting down a lucrative IT contract. Adele’s song transposed itself in to juxtaposition of contemporary thoughts, about the compromises that anyone may make in their lives, and I found my asking the same questions over and over. Am I worth it? I hated this job-search-contract-win-thing, this constant thought at the back of my head, of introspective and retrospection. I hated it so much that almost stopped about thinking about what is so important. What is it about Java and Software development that I really like? Who am I? What am I about? What do I want to next? If that is the plan, how can I get there? So how will I live, survive and support a family?

At the beginning of the year, I thought it would be fantastic chance to get into Scala development role, whilst I still added my long hard worn experience in Java EE, Spring Framework, enterprise middle office development. I actually thought Scala professional development would have been some catalyst, an injection into the phase. With being out of work, I was free of the constraint of silos now could I get a role that uses Scala in some great project, probably in a financial role. What I found in the job market of 2011, was fire fighting roles mostly, just business-as-usual, keeping the engine fire going, and no chance to add a new technology or change. In other words, I found inflexibility, doubts and boredom. The amount of contract and job interviews that I attended where the interviewer wanted me to program Java like if the language was C/C++ was shocking. I learnt pretty fast to ask up front before going there. If I noticed multi-thread in the specification, I thought this is serious, I had better ask. In the end, I had to quickly blow out my Scala dreams in London and re-market myself [again] as a credible Java enterprise engineer again. It did not help at this time, that Scala was getting the wrong type of news on the Internet wires, people started to complain about Scala’s complexity, and there was suddenly a slug contest starting for the next language beyond that of Java. The final nail in the innovation coffin, at least for banking IT ,were the consistent questions. Do you know Java performance tuning or how to tune a JVM? Suddenly squeezing the last ounce out of Java was the name of the game, as well as, trying to tell them first, Java EE should take care of threads and two that they still not put business logic inside stored procedures in PL/SQL and a database. Ah well, I said. I did try.

There were even so laughable attempts to pair-program or show off just how supremely agile certain teams were operating inside of bank’s in my experience. I had a bad feeling practising agile or wounded version of SCRUM. I know because I attended many interviews where they wanted me to pair program as part of the recruitment process. In my view, investment banks, are the most dysfunctional areas in where to introduce XP programming or SCRUM. I wish you sincerely very good luck finding and retaining the very best and greatest of developers. This is because the idea of self-managed teams goes against the traditional financial IT project management grain of wood and the inflexible silo environment that the Agile manifesto sets out to improve. Luckily, there are better approaches at being agile, which could work inside a bank.

I began to see the word Agile as a severely crippled in 2011 and now cringe-worthy in 2012, and maybe because I listened and had been in the privilege company of one certain Barry Hawkins now. The word Agile by itself is now meaningless. I was so pleased, by the way, to have attended JavaPosse Round Up three times in a row (2009, 2010, and 2011) and yes I say to Barry, we should shoot Agile in the head and reinvent software development processes now.

In 2011, there were happy times and I have to say it was the great people at QCon London, the JavaPosse Round-Up, the ACCU Conference Oxford UK, JavaOne Review Selection Committee, JavaOne and Java-dot-net presentation team, Kirk Pepperdine and Heinz Kabutz, Stephen Chin, Silicon Valley Code Camp, and the entire Devoxx team associates and some cool friends in Menlo Park California who really made the year positive for me.

I am badly affected by the year 2011, I think. It is going to take me a while to get over it, despite the many successes that I happened to achieve. It still feels now, in January 2012, that I am glad to have escaped that one, I felt that I was just treading water in my own mind, and my own confidence has taken a severe low blow. Don’t get me wrong, of course, I know there are lots of people out there who are feeling worse than I do and have much more pressing worries. Hey, nothing feels like it, until it happens to you.

Also when you are searching for work that itself becomes unpaid work too. So bang goes my time investigating or researching interesting topics like Play Framework, Scalate, JavaFX or Scala or something distinctly completely non technology like learning a new language or playing a musical instrument. I hate job search for this sole reason alone, because it consumes all of your valuable quality time. When you are job hunting there is always thought running at the back of your head wondering if you are not doing enough of it, especially when you need to provide income, for your family and loved one, and soon.

The year 2011 has made me more guarded about communicating outside of cliqué of respected people. My desire to self-promote is weakened to point now where I do think hard – do I need to write that tweet? should I upload that photograph? I am more sensitive in 2012 than in 2010 when I was freely enthusiastic about running a Java User Group. Now, I tend to keep mum, clam up for a bit during a heated discussion, I observe the participants instead, actively watch and listen to the others before jumping up with my view. The benefit being that I have more quality control rather than an out pouring of quantity, especially when most of the stuff I see is everyone else’s rubbish. Besides nobody I know or who I am connected with tweets depressing psychological bullshit or downbeat personal vibes, like “I going to kill myself tomorrow morning” or “OMG my man has cheated on me! I found out he has just slept with another woman!”. It is all deeply impersonal, self-gratification mockery and it reeks of indiscipline, when sometimes all you should say is the real personal stuff in the time of need. Therefore, I predict I will continue to be reticent in my out-going communication well into 2012.

This week we heard about 3500 people to go, face the axe at Royal Bank of Scotland, inside the corporate investment banking division. The economic downturn has made fools of all of us. If it has not happened to you (yet) or you don’t happen care (too bad for you then), just pray it never ever does (death may take you first) and also lucky you.

January February March April
Planning Bathroom
InstallationInterview w/ Blackrock, HSBC, BarCap, JP MorganPlanning Java Posse RoundUp 2011 and vacation rental
Bathroom installation (1st half of the month)Attended interviews for various investment banks including RBS and Black RockJava Posse Round-Up 2011 QCon Conference 2011
JCP Panel Discussion
Won a Kindle Wi-FIOutplacement StartsSkills Matter Functional Exchange, Cuke-Up! Guest VIP pass courtesy of Wendy;-)Created my “Scala Adoption” talk with my JVM language and  knowledge predictions, uploaded it Linked-In.comTerry’s B-Day
Attended ACCU Conference 2011 OxfordPerformed my
“Introduction to Scala talk” at the ACCUMy B-Day

Interviews dried up for a while. I did not know why, but I started to worry about the prospects.

May June July August
Interview w/ Black Rock
Interview w/ CitiGroup, Interview w/ Credit SuisseRumours of Morgan Stanley Scala development interestKohsuke Jenkins SkillsMatterMy outplacement continued

Start your own Internet Online  business with Linked-inc.om

Catastrophe!

Clojure at CitiGroup (seriously)?! Yes CitiGroup were recruiting for functional programmers for their Risk Front Office divisionInvitation to JavaOne Selection ReviewScala Exchange at Skills Matter. Guest VIP pass courtesy of Wendy ;-)

A series of Mizuho Interviews – perhaps they should have been using Apache Camel or ServiceMix(?)

Clojure Dojo

End of Scala adoption my attempt at investment bank in London

Re-marketed myself as Java EE engineer – This Scala adoption did not panned out at all. It seemed me to be a lot of fear, uncertainty and deception to me.

Invitation to be 2011 JavaOne reviewer for call-for-papers ;-D Thank you Simon Ritter

A London consultancy interviewAttended Job outplacement workshops on Networking and Linked-In ;-) Interviews now dried up for the Summer

Reviewing JavaOne 2011 call-for-papers

JavaFX Session accepted for JavaOne ;-D

Booking travel for San Francisco in October!

Personal disaster recovery started with some real retrospective ;-/

Prepared my JavaFX 2.0 talk by writing demos for JavaOneTLC Presentation Pronto released on Android MarketConfirmed attendance to Kirk Pepperdine’s Performing Tuning Course in Crete next monthStructuring my own Progressive JavaFX talk outline for JavaOne 2011 in October

Aborted Collective Code-Camp event in London, I concluded the UK is not Crested Butte, Colorado.

Holiday in Lanzarote – quiet area, drives inland and site seeing (much do something like this together next year)

 

September October November December
Decided to look outside of banking IT for contracts and Java development roles Find new recruitment agentsKirk Pepperdine’s Java Performance Tuning Course
Enjoyable course and time in Chania Greece, a real highlight!Attended a couple of ThoughtWorks interview – a lot of brain and intelligent tests
Attended JavaOne 2011
(Thank you again Simon Ritter!) Performed “Progressive JavaFX 2.0″ talk ;-DAttended Silicon Valley Code CampJavaFX Sillicon Valley User Group, performed  talk for Stephen Chin and bay are community

Stayed with my friends Larry and Patti at their lovely house

Initial Interview with IB Boost Ltd

Interview with two “cloud” computing companies – 100+ JVMs on 32+ servers

End of personal disaster recovery for now

Interview with household-name broadcast TV company on Java and Agile

Interview with two Gaming Betting companies

ThoughtWorks UK interview process took far too long for my liking that I had to bail on them

Disastrous non-interview outside of banking that caused me to come to my senses!

Preparation for Devoxx University session w/ Stephen ChinInterview with IB BoostAccepted job offer IB BoostDevoxx 2011
University Session w/ Stephen Chin”Happy is a cigar called Hamlet”

Started work at IB Boost Limited

Regarding wider community Java stuff, I decided on non-involvement for a while at least.

 

Getting into IB Boost Ltd Returning to private life with no regrets, mulling my thoughts about my lucky escape.Family life, buying presents, gifts and enjoying festivities.Xmas at homeLooking forward to the next year 2012

IMHO the best recruitment agencies are ____  TBD  ;-)

IMHO the worst recruitment agencies of all time are  ____  “ballleeetttted!”

+PP+

JavaOne 2011 Impressions

October 4th, 2011 Comments off

JavaOne 2011 Impressions

The first news is that JavaFX 2.0 has been released as general availability [Alternative download here]. Oracle have delivered on their promised, or may be it was Sun Microsystems vision, to reinvigorate the user interface on the desktop. I think this is a fantastic result, and the entire Oracle JavaFX SDK team has to be congratulated for staying the course. It would have been so easy to give up the goal and not persevere with this project.

 

JavaFX 2.0 Released!

Let us remember that JavaFX was originally an alternative JVM language called JavaFX Script, that Chris Oliver created and imagineered at See Beyond way back in 2006. Oliver was the person who fundamentally thought about marrying Java the runtime, the platform and the language with a scene graph engine. It took real engineering talent to write an SDK, which was both performant and designed correctly, which interfaced the ordinary Java developer with deep tendrils into the hardware accelerated native platform. The JavaFX SDK team had to get this architecture right, just once and for all. It took two goes. Albeit these tendrils in to a rendering runtime went first into Windows DirectX 10 platform, Oracle are blowing the competition away, by investing in a Apple OS X port and a Linux version of the JavaFX SDK. [As a Java Champion, with Kirk Pepperdine, we did mention to Oracle management that they should also consider a JavaFX Solaris port]

The announcements are coming thick and through:

JavaFX 2.0 Windows XP / Vista / 7 and 32 / 64 versions

NetBeans 7.1 Beta

JavaFX 2.0 Mac OS X Developer Preview Release

JDK 7 Mac OS X Developer Preview Release

 

Progressive JavaFX

Of course, I had my own presentation Progressive JavaFX 2.0 which was well attended. The audience were receptive to JavaFX 2.0 demonstration, admittedly I wrote them against the last Beta release 45. I will make sure that the demos and the code is readable against the JavaFX 2.0 GA before I announce it.

In terms of my own talk, Progressive JavaFX 2.0, I had a brain wave as slept from sudden exhaustion on Monday night, after the Oracle Tech Network reception, to split my talk in the longer term in two tranches the technical side and the user experience / design. I will aim to do this for 2012.

So yesterday at keynote, Richard Bair and Jasper Potts demonstrated the amazing JavaFX Labs. The majority of this demo was written against JavaFX 2.0 final code, there was a part of the demo that leverage JavaFX 3D internal parts. The exciting part was watching Jasper Potts muck around with XBox Connect and manipulate a 3D Duke, created by designer in Maya. Seeing is believing as they say, you need watch it in order to understand. Maybe I will capture a video on Vimeo here on this blog.

 

JavaEE 7 and Cloud Focus

On to the Java EE side, Oracle is definitely changing tracks with the Cloud. There is a serious effort now to get Java EE the standard mechanism to standardise Platform As A Service, Elasticity, Caching, Orchestration and Web Service Definitions, JAX-RS, Context Dependency and Injection extension and include a new JSON API library.

 

“Oraclers”

Overall, JavaOne 2011 is still the Mecca for Java developers, despite the downtown in the economy, the reduced number of Java engineers, and the loss of the Moscone Centre central hub. It is still just worth getting out over the pond to touch base with the “Oraclers” [ This term was borrowed from the Black Eye Peas's Will.i.am, at the 2010 Oracle Open World appreciation event / Treasury Island ]. The “Oraclers” recognise that Java Champions and the community do matter. We thank them for this support.