Archive

Archive for the ‘alternative’ 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+

Code Anything At Will

August 25th, 2012 2 comments

In this entry, I am handing over the natural keyboard to you. Don’t be afraid. Don’t fret. There is absolutely nothing to be worried about. Just take it and code something wonderful. Code something beautiful, mega-gorgeous, substantial. How about something profound, something that inspires you? Completely tear it up whilst you are in the zone, and when you are finished, teach your programming stuff, your software to someone else. If you are game, you can open-source your ‘wares.

I have been doing this software development thing for so long, now, and I still love it. I will never stop. It is time to inspire others.

  Code X at Will, Peter Pilgrim, Promotional Poster Image

See you at JavaOne 2012 in a month or so.


  Register for JavaOne 2012 , From 30 Sept to 04 Oct

+PP+

Windows 7 Driver Conflicts Drove Me To Distraction

February 29th, 2012 Comments off
I have an older now Dell Inspiron M1530 XPS laptop, which I upgraded to Windows 7 in 2010. I found it incredibly brain-dead that we as engineer, let alone an end-user consumer, are suffering from driver conflicts. 

HV40 Camcorder

The first discovery of this mundanity was a simple firewire port IEEE 1394 with Windows 7 no longer works, and it was not just my laptop, but other people discovered this issue. For many video editing such as trips to conferences like the Java Posse Round-Up, Devoxx and JavaOne I use my trusty HDV Canon HV40 camcorder, which is one of the last pieces of kit that supports Mini-DV tapes. I had no problems connecting it to computer using a firewire cable several months ago, then a few nights ago, whilst here snowboardng in Austria, I wanted to do some editing and then I found connectivity problems! 
I was astounded and slightly surprised. After connecting and reconnecting the firewire cable, I found that Windows 7 failed to recognise the camcorder. I did a windows update, search Canon HV sites for a driver, and trawled through the Internet. I found other people who also discover the issue here, here and here. Actually Adobe had the best information on their troubleshooting site, I suspected that there was driver issue. The best advice was to update the 1394 to the legacy driver. Really? At this point, I voted with my feet. 
Luckily I traveled with a Linux Format magazine Ubuntu 11.10 DVD as a potential life-saver. (I once lost the ability to boot in my machine whilst I was abroad in foreign lands, long distance from home, and a Linux live-boot disk got me out of the woods. I subsequently repaired the master boot record and the active partition!) I booted Ubuntu Live and plugged in the HV40. Lo and behold it was recognised by firewire IEEE1394. I was a able to capture using Kino.  I was able to control and capture footage using this simple program. I only wished it could capture and output MPEG2 as well. The only two capture options are Raw DV and Quicktime Movie  files.
 

iPhone 4S

After the debacle with the HV40, I next plugged in my iPhone 4S. You could now hit me in the face with a salmon. I discovered driver problems with Windows 7 and the iPhone 4S. Was this not working at Devoxx 2011? Of course it was. It turns out there is conflict between iTunes 10.5.3, Apple Mobile Device Drivers and a Samsung Mobile MTP driver. The problem is that the phone is no longer recognised as a legitimate DCIM and USB Storage Media device. Therefore, it was impossible to transfer some of the wonderful Austrian mountain footage directly to the PC. I removed all the Samsung programs and features. Again lots of other people have found this issue with Windows 7 drivers here, here and here.
Rather than waste time, in configuration, trial and error, I voted with my feet. I went straight to the Ubuntu Live partition and then decided to install Ubuntu over the old LTS 8.3 partition that I used to have in the Windows Vista. I had used Linux alot in 2008 to develop and test Java server side code. After booting in to Ubtuntu 11.10, I also found driver errors [1], but the different is that I found solution that actually worked eventually [2].
> sudo apt-get install libimobiledevice2-dbg libimobiledevice-dev libimobiledevice-doc libimobiledevice2
> idevicepair unpair && idevicepair pair

Benefits of Alternative Operating Systems

Don’t get me wrong, just like some many other developers, I also thought that Windows 7 was a huge improvement over Windows Vista and was the proper advancement from Windows XP Service Pack 3. It worked in 2010 and now these failures have shown that you cannot trust yourself with only one egg in the basket in terms of operating systems. It is really good to have alternatives!  It is also impressive to see how much open source development, the engineers have solved some of these proprietary connectivity problems. Linux got me out of hole. Twice! Competition is good, even if some of the competitors are free. 
Going forward with any new machine, I personally buy, I will always reserve a partition or two for Linux, because you never know what Windows driver is going fail on. It is pity because I use the Adobe software for editing content and therefore need to have Windows around.
In a way, I always hope there will be general purpose operating systems out there, even if the rest of the human race is moving to tablet and embedded consumer devices. For content producers, software engineers, and architects, we must always have, in my belief, the possibility of choice. If the manufacturers take away our choice or freedom to solve issues, and/or work around them then we will be in trouble.
 
By the way I wrote this entire piece in Blogilo [3].
[2] Ubuntu Forums : unable to mount ipod (QueryType failed, error code: -256)

Categories: alternative, Quality, Ubuntu Tags:

Musical Heroes of the Last Evening of the Java Performance Tuning Course

September 18th, 2011 Comments off

We were five students of Kirk Pepperdine’s Java Performance Tuning Course, which took place in September 2011 near Chania, Crete.

We were amazed to find out that we were actually three guitarist, one harmonica player and a supporter. We had spontaneous fun on the area of the living room reserved for musical instruments. I was reminded of the fact, that I had not pick up my own musical instrument for awful long time. We found welcome relief and enjoyment, and it was good to have Maxi, the talented kid, to share our fun.

 

Kirk Pepperdine

Attendees find the course to be a relearning of everything they thought they knew about performance tuning

Roland Brandqvist (playing Maxi Kabutz electric guitar and singing brilliantly the Police’s Roxanne. Roland has band experience ;-o )
Mario (acoustic guitar; a good guitarist also on electric)
Henri Tremblay (harmonica and singing – the Quebecois can rock the blues specially good)
Maxi Kabutz (playing his Roland electronic drum kit; this lad is only 13 years old and he is good)
Simone Barbieri (lending his support as groupie. AS Roma  ;-)
Me – Peter Pilgrim (playing acoustic – I am so rusty out of the saddle)

This recording took place on the last day of the course, Thursday 15th, we all stayed at the Kabutz family household and enjoyed a fabulous barbecue. We found out that we are all musicians of some type!

PS: Special shout-out and thank you to Simone Barbieri for taking my humble iPhone 3GS and making the video recording!

A Week In Scala: ACCU 2011

April 14th, 2011 2 comments

It is Wednesday 13th April 2011 and I am here at the ACCU 2011 Conference again in Oxford, England. It is great to back. The last time I was in Oxford for ACCU 2008, I gave a talk on JavaFX 1.1. This morning, I presented An Introduction to Scala: The Object Functional Programming Language. The responses have been very good so far:

@devpg: Listing to ‘Introduction to Scala’ at #accu2011 reminds me to use it in a project

@rachelcdavies: @peter_pilgrim enjoyed your talk. I’m new to Scala and this was just right for me. #accu2011

@TimPizey: Installing Scala after lightening introduction by Peter Pilgrim at #ACCU2011

@matty_jwilliam: @peter_pilgrim great talk today. Tonight has been all scala (and beer) #accu2011

@gasproni: @matty_jwilliams: @peter_pilgrim great talk today. Tonight has been all scala (and beer) #accu2011

@TimPizey: Day 1: java > 1.4 is a mess and is going to get worse, move to Scala or other JVM language as soon as you can. #ACCU2011

@russel_winder: All the JDK8 stuff is already in Groovy and Scala. #accu2011 #groovy

@ewan_milne: #accu2011 Intro to Scala – here’s the Fibonacci algorithm!

@lisacrispin: RT @peter_pilgrim As promised My latest SlideShare upload : #ACCU2011 Introduction to Scala: An Object Functional Lang… http://slidesha.re/hufsPG

The attendance was fairly good. There was no pressure then: Rachel Davies (agile coach), Kevlin Henney (consultant and top speaker) and Ewan Milne (ACCU Chair) were in attendance. The competition was Scott Meyers (C++0×10) and Jutta Eckstein (Agile software development). My Scala talk did not do too badly with this quality of simultaneously talks and their respective speakers.

I was pleased with the face-to-face feedback as well. Kevlin Henney was impressed by the description of the Scala type reference engine. Ewan liked it too. Delegates Michael from England and Khalid from Pakistan/Norway enjoyed the overall presentation for being just enough technical detail to be inspired to try Scala.

Here is my entire slide deck as promised on Slide Share:

You can download my PDF slides directly from XeNoNiQUe. I attempted to share with SlideShare web site however the conversion process they used washed all the nice beautiful colours on my slide deck. Boo!

Enjoy Winking smile

(I welcome feedback of any sort. If you want this talk for your business, especially in London then hook me up)

This is My Week of Scala. You get out of the task exactly the proportion of result that you put into the plan. Next episode I will have more aggressive discussion on Beyond Java and stab at the history of how we got here.

Listen!

Post addendum 1

Dinner was great. I joined fellow ACCU 2011 speakers, Schalk Cronje, Steven “Doc” List and Lisa Crispin for a short stroll to the nearby Plough pub, which is about 10 minutes walk from the Barcelo Hotel. The ACCU brings a different crowd. I was the first time I met Steven “The Doc” and Lisa. Steven ( Thoughtworks) had this great idea for Source Mastery Quest for gaining true experience and skills through crowd sourcing and peer recommendation and certification. Lisa talked about her experience in software development in Austin, Texas in the early 1980’s where everybody wrote the same code in the exactly the same style. Being an Agile tester she reminisced the old way was what we should be doing now in software development.  Shalke (McAfee) I had met before at ACCU 2008 and other conferences, he tends not to do so much C++ development now these days. I think it is great to networking with new people, swap business cards and share ideas. The best ideas are those sometimes we have in those corridor moments, or conversation over a beer or glass of wine.

Post addendum 2

I managed not to sleep again. Woke up at 2:30AM because my iPhone buzzed. Oh yes. I had put in to a schedule “Richard Bair at the Silicon Valley JavaFX User Group”.  Eight hours behind in time zone. I did watch the UStream.TV feed of the talk. JavaFX 2.0 is coming along nicely, the binding API worked very well. I can see this was true through the live coding demonstration on Richard’s MacBook Pro, and I have a good feeling about the new JavaFX Bean property models. The layout API is where action is needed next, because in the early access I have found it less understandable in comparison to the JavaFX Script 1.x releases. I am quite sure the FX SDK team are working hard on it as I type. Shout out to Stephen Chin and Jonathan Giles.

You Talk For Long Times: Tale of Two Agilities

March 22nd, 2011 Comments off

Today, I know for a fact, that the market is dead. It is easy to see why it is, and why everyone involved agile or agility or so bloody confused.

 

The Tale of Two Agilities by Barry Hawkins, XtraNormals. 

 

Explicit material over 16′s only: adult, swearing, alcohol

  • We do Agile at my job
  • We have the Scrums, there is one everyday
  • They are called compound statements. Books have lots of them. They are typically mastered from the age of three or four.
  • Do you teach Rails?
  • I have been to RailsConf, it was awesome, there were flags and chicks. Rad!
  • I have told my Agile boss that we need maintenance programmers
  • It is waste for me to do maintenance programming
  • Maintenance programmers are cheaper, hardware is cheaper too
  • We are agile we can change what we are doing every time, we don’t plan, timelines are useless
  • You talk for long times

PS: Barry Hawkins played this amusing YouTube video at the JavaPosse Round Up 2011 lightning talks.

Deeply Worried Q1 – Q2

March 16th, 2011 2 comments

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:

  1. The sheer unpredictably of interviewer requirements, unpredictably of technical, social, team make up, and process whether it is agile or non-agile
  2. 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
  3. Difficulty of getting to the conclusion of a potential engagement; the perfect match is proving harder to achieve 
  4. 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
  5. 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.
  6. 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 …

Categories: alternative, banks, beyond, future, Java, jvm, language, London Tags:

The Fundamental Business Case for Scala Web Presentation

March 10th, 2011 Comments off

Here is screencast of a web presentation.

It is called The Fundamental Business Case for Scala. I admit this was long overdue by three weeks or so. JavaPosse RoundUp and a new Bathroom installation were in my way and therefore my time was severly crunched. 

This talk is aimed at non-technical staff in the organisation, non-programmers and business oriented people, line managers, team management, and of course the dearest stakeholders. I attempt to fly and pull up to 30000ft above the clouds, so that you ,the business decision maker, are not overloaded with technical programmer jargon. The only things you need to know, you will already know, are: Java the software platform, object-oriented programming and a dose of common sense. The talk is about getting Scala adopted into your organisation through the act of necessity. Change is inevitable and it is happening all around the Java software platform and it includes the wider community ecosystem. Change is uncertainty, what are specific factors that influencing the trend towards Beyond Java? In this presentation I attempted to answer this question.

The Fundamental Business Case for Scala from Peter Pilgrim on Vimeo.

Please do let me know if you have feedback, without it I cannot hope to improve this talk. I really do need to make this a living talk, organic, your ideas and suggestions are valuable. Send me an email or tweet please.

Thank you in advance

(Sitting in the Westminister room at the QCon London 2011, Westminister, London)

Moving Beyond Java on the JVM: To Be Or Not To Be

December 21st, 2010 Comments off

Recently, I have been thinking about Java and Moving Beyond Java. I ruminated aloud in a couple of Audioboos and so here are a summarised listable version of these thoughts and ideas.

Java

  • The Mother Language – Lingua franca of the Java Virtual Machine platform
  • Java SE 7
  • Java SE 8
  • Work related. Programming language is risk-averse, it changes slowly and carefully. Oracle steward ensure that it is safe. Business owners and web site owners will be able hire or contract.
  • A de-facto programming language for new learners, students of computer science
  • Die-hard stalwarts can stick with Java the programming language, because eventually some of the benefits of the other languages could make it into Java ecosystem as frameworks and libraries
  • Performance-related Java programming: There is a native-like programming approach for writing Java applications like they do C++ / Speed performance

Beyond Java on the JVM

  • Neil Ford, Ted Newark and Myself are examples of external luminaries (the forces) that are telling you why you should be thinking about moving beyond Java
  • Continued learning
  • Reduction of Boilerplate (Almost all)
  • Declarative programming (JavaFX Script)
  • Ease-of-Development
  • Dynamic typing (Groovy)
  • Scripting language approach
  • Closures (Almost all)
  • Control abstractions (Scala)
  • Improved concurrency models parallel algorithms, actor, CSP and software transactional memory
  • Better simple abstract data types (case classes and objects in Scala)
  • Better language support for immutable object (@Immutable in Groovy)
  • Better annotations (Groovy has loads)
  • Some languages support an object functional approach (Scala, Groovy, Fantom)
  • Other object functional languages may support Higher order functions (Scala, Clojure)

General behaviour, psychology within the movement of herds "staying up to date and getting good".The decision is yours in 2011