What you do if you weren't doing your current job?

What you do if you weren’t doing your current job? While we all harbour dreams of running a magically profitable coffeeshop, working only 3 hours a day, what would you really do if you wanted a change of career?

If I wasn’t in IT , I’d be in Finance, on the basis of …

  • My original degree is in Business (with French). Somehow I got seduced into IT (you don’t hear that very often).
  • Both Finance and IT require their own set of knowledge and expertise. Once you’ve acquired that expertise, the work can be quite profitable, as not everybody can do it.
  • Both are quite strong employment areas within Ireland, with the IFSC being one of the easiest parts of Dublin to get to from Drogheda (think Trains).

Sadly (but very sanely), neither Finance nor IT is considered ‘sexy’. There again, you can’t have everything. They’re both quite hard to explain to your Mum – as far as she’s concerned , I work ‘in computers’. This is akin to lumping Salesmen , Mechanics, road sweepers and Michael Schumacher in a category ‘something to do with cars’.

However , this lead-in does explain the contents of the ‘what’s Paul Reading?’ list. All links are to Amazon. I’d recommend all the books with the exception of the last one – it was written by a newspaper journalist and the slightly jingoistic style reflects this.

  1. Economist : The City – a guide to London’s Global Financial Centre
  2. Freakonomics
  3. Java security
  4. How the City Really works

What would you like to see on an Advanced Java Course?

Most people building systems run into the following problems again and again:

  • How to capture Business rules , in a way that both the Business users and the computer can understand.
  • How to capture the flow of actions in a system, in a way that both Business users and the computer can understand. This flow is across multiple users, and may extend over days or weeks.
  • How to deliver a system to the user (e.g. Via the Web), but to give the user a rich interface , similar to what they are used to on the desktop.
  • How to maintain and enhance older systems , now that Java has been mainstream for more than years.
  • How to take advantage of the new Features afforded by Java 5 and EJB 3, and what business problems to the solve.
  • How to build components for reuse in all environments (Web , Enterprise, Command Line and Desktop).
  • How to map information in a Java System to and from a Database (Persistent Storage or Legacy System).
  • How to deliver value to the business at every point in the project.
  • How to use the many resources and solutions already available in the Java community.

It’s to address problems like these , that I’ve been asked to put together a Advanced Java training. It’s early days yet, but I’d like to get your input as to what you’d like to see on such a course.

Java Logo
Full details of the Advanced Java course are available on the knowledgebase / Wiki. Leave your comments here.

Update: I posted a similar question on the (technical) O’Reilly Books Java blog. If you’re interested in seeing the responses , click here.

Barcamp Dublin is Go on the 21st April

The announcement on the official BarCamp Dublin Blog is here.

Barcamp Dublin Logo

To quote what is barcamp?

[Barcamp] is an informal gathering of people from technical and business backgrounds, where information and experiences are exchanged. The event is geared towards sharing knowledge and learning from others and there is a policy of encouraging active participation in all discussions.

So if you’ve never been to one before, and not sure about attending. Just Go. You’ll be glad that you did.

Update: Paul asked me to change the order of links so that the ‘official’ site came first (previously I had his blog listed top). The original links are below.

Paul Walsh has announced the date of Barcamp Dublin on his Blog. It’s Saturday 21st April in the Digital Hub Dublin. Paul is organising the Event , along with EllyBabes and Joe Drumgoole.

Update 2: I’d forgotten to mention Keith Bohanna’s post about the upcoming Barcamps. Anybody else up for organising a Barcamp north of Dublin (in Drogheda, Dundalk or Newry)?

Enterprise Java Developer Wanted

A good friend of mine needs an Enterprise Java Developer, to be based in Dublin Ireland (sorry , no Teleworking). It’s a contract position and the project is high profile and sounds quite interesting. The main reason I’m passing on it as the exact location is the only place where I cannot get to easily from Drogheda! One man’s poison is another man’s meat (or something like that).

With that information (i.e. next to none at all) I’m going to ask you if you’re interested. Yes , I could put all the buzzwords (the usual Spring , Ajax, JSF, EJB , Hibernate), but to be honest I don’t know where the technology road will take this project.

One small catch. We need to weed out all the muppets that are out there. So, you need to have been blogging about Java for the last couple of months. If you’re interested , leave a comment and I’ll pass on your details.

Dear Bruce Eckel : Hybrid Java, Google Web Toolkit and Adobe Flex

Dear Bruce,

First up, thanks for the book. Yes I’m saying thank-you about 8 years too late. ‘Thinking in Java‘ is what got me going in the language and in my mind is one of the best Java books written (sorry Tim). Giving it away free only cemented your reputation as the Bono of the Java world. OK, Bono without the Guitar, the Stetson and with a couple of overloaded constructors thrown in, but a man of stature nonetheless.

Thinking in Java Front Cover

Secondly, I’ll forgive your flirtations with Python, on the basis that I’ve been having an affair myself with JRuby. I now understand the pain that you’ve been having at home, the endless repetitive arguments to get simple things done, and the temptation of a newer, younger, more flexible model.

So , I think you’re onto something here in your blogpost. I can feel the pain, the need to deliver Rich clients to users over the web. I think that Ruby / Google Web Toolkit / Struts 2 / Name your web toolkit has further to go than you may think , but eventually these ‘heroic efforts‘ (nice quote) will run out of steam. On the basis of your recommendation alone I’m willing to look at Adobe Flex, but I’m not sure if this is going to solve all the problems.

Now , a lot of us Java guys don’t like change (and as if you needed proof, just look at the comments on this O’Reilly blogpost on the Google API’s). All the same , we have a problem that gets worse every passing year. 6 Years ago we could have been sure that 90% of web sites were running Internet Explorer 4. Now we’ve got IE, Firefox, Safari (in all their different versions) as well as an explosion of mobile devices. The Windows Vista launch is only going to fragment things further with yet another platform to support.

No one web solution is going to display the same in all of these browsers. We’re not going to get a single solution from Microsoft / Sun / Adobe that everybody from developer to my Granny is going to install. So we’re going to have to take the ‘least bad’ route – something that looks great, but degrades gracefully to standard HTML on less capable devices. Excuse my ignorance, but I don’t know (yet) if Flex does this.

Yes Hybridizing open source Java is the starting point for the solution. Unfortunately we’ve a long way to go yet, and Flex is perhaps only inspiration along the way.

Yours sincerely

Paul

Motorola, Logica and Irish Economy

RTE, The Idiot, Infactah, and Eirjobs are writing that Motorola all to cut it’s software jobs in Cork.

Motorola Logo

First of all, I’ve been in this sort of ‘waiting for the axe to fall‘ situation and it’s not nice. It’s not nice losing your job, and it’s not nice having to wait 6 months or so until the plant actually shuts down. It’s not nice wondering where the next mortgage payment is coming from.

In my case I was working for Dell in Dublin , when they decided to move their entire Public Sector Sales organisation to the UK (made commercial sense, couldn’t argue with the decision). The worst part was dragging yourself in to work to face your colleagues in an atmosphere of gloom – and this was when everyone was promised (and got) internal transfers.

The Irish Indo (Registration required) is reporting that this will send ‘shockwaves through the Irish software Industry‘. It’s big news , but we’ve been here before and we will be here again. Motorola axed most of it’s radio division in Swords in the late 90’s. Logica (also in the mobile Telecoms area) once employed close to 1000 in the IFSC in Dublin, but are now down to (barely) double digits.

Some anecdoes about the upside of both these major layoffs :

  • A large part of the Motorola management Team ended up working in Navan for Case (the big red tractors). While tractors may not be as sexy as phones (leave a comment if you disagree), they were a key part in getting a new Startup into the area.
  • Most of the Logica people found jobs , after a difficult interim period (this was the dot com crash after all). There now exists a ‘Logica Mafia’ that useful to tap into if want to connect to anybody in the Telecoms – Software development world.

The other interesting thing was the number of people who found jobs outside of the ‘traditional software industries. One team of ten people, had only 2 that were in software development 5 years later. The rest used their redundancy cheque to train as teachers, start their own business , travel to Australia and New Zealand …

Not a nice place to be lads. But it will get better.

Java and those pesky Google APIs

Recently one or two people disagreed with what I had to say about the impact that the Google, Amazon (and other) API’s will have on Java. Considering the ratio of positive to negative comments (about 3 for and 30 violently against), I obviously need to express myself in a clearer way. The link to the original post is at the end of this article, read on before you consider flaming me.

Amazon Web Services Logo

So , deep breath , here goes.

Compare the the way you develop now , with the way you built software 10 years ago. Do you remember having to manage your own memory? Or the pain of trying to deploy your software on different machines without a JVM? Or the hassle of trying to write distributed software using Corba? Or using a text editor instead of the fine IDE’s (Eclipse, Netbeans or JDeveloper – take your choice) that we have today? Would you consider building your software without a tool like Ant or Maven?

(Shudder). Things have moved on ,and I am very glad they have. Likewise, the way we develop 10 years into the future will be very different. I don’t know what the future will look like, but here’s a simple guess.

The biggest trend today is the move from software running on your computer , to software being delivered over the web. I’m not talking about the buzzwords being thrown about regarding ‘Service Orientated Architecture’ or ‘Enterprise Service Bus’. I’m talking about simple API’s that are available for use over the web today. Like the API’s and products from Google – including their Documents and Spreadsheets, and their Authentication service.

‘Everything should be made as simple as possible, but not one bit simpler’ – Albert Einstein

‘You Ain’t Gonna Need it’ – Anon, XP Mantra

As a good Agile Developer you’d probably agree with these quotes. But what if the most simple way of doing things was not to develop in Java at all? Most people don’t build their own operating system – they use Linux, Windows or OS X instead. Most people don’t write their own Java Server – they use Tomcat, JBoss or your server of choice. The pattern is the same. A small, dedicated core of developers builds the product, and the rest of us say ‘thank you very much’ and use it to get things done.

This range of ‘off the shelf’ solutions is increasing all the time , even before the online services arrived on the scene. As a Java developer , you’ve said ‘thank you’ , downloaded the latest version and integrated it into your solution. The time you save means you deliver other cool features instead. Java is very good at this ‘download and integrate’ process – not only is it a key benefit of Object Orientated Software, but Java has the widest range of solutions available (if you don’t believe me , just check out Sourceforge).

Java can also let us build our solutions (either partly or fully) around the online API’s. Java has great networking and XML handling ability already. In time this will become as normal as the idea of using a JVM. Great – we use these API’s pretty much like we do libraries today, and we can continue developing pretty much as before, right?

Wrong.

Remember, what is the most simple way of doing things? What if the most simple way of doing things was not to use Java but to use a more simple language (like Ruby or PHP) instead? Until now there were a couple of advantages that Java had over these ‘simple’ (and that’s a compliment) languages. When using online API’s these advantages disappear, or worse, become a liability.

  • Scalability and Robustness. Enterprise Java is massively scalable (it’s one of the reasons for it’s complexity). But can even you outscale Google?
  • Security. Enterprises haven’t (yet) learned to trust the security of online applications. This trust will be hard earned over time. But already you can make the argument that you data is safer with Google / Amazon / other service provider than on your average virus-ridden home PC.
  • Language Ties. To use the Java libraries you needed a JVM somewhere in your solution. Once you had a JVM , you might as well write your own solution in Java. But when the product you are extending is hosted elsewhere, you are free to code in the (most simple) language of your choice.
  • Always on. As long as you have a connection to the web, your programs can use the API’s. Scripting languages like Ruby and Python can claim to be even more portable. Not only can they run natively in most environments, they can also be deployed via a JVM if that is your choice (under the guise of JRuby and Jython)
  • Features. Need a feature that you don’t have in your scripting language? Just borrow it from Java by running in the JVM. How can Java win a ‘features arms race’ against that?

So do we face a form of developer apartheid, where a ‘hard core’ of Java Experts develop web API’s that the rest of us use via scripts? Let me know what you think. Like the original blogpost said, it may not be the end of Java, but perhaps the end of Java as we know it.

Follow

Get every new post delivered to your Inbox.

Join 733 other followers