Joel Spolsky is the reason I am a Java Techie. See him in Dublin IJTC Wednesday

Joel Spolsky is flying in to Dublin next Wednesday to give the keynote speech at the Irish Java Technologies Conference. Mark 7.45pm on Nov 7th in your Diaries folks – Jake has the offical announcement and ask him in person for the full story. In case you don’t know who he is, Joel was one of the early Microsoft employees, one of the first bloggers (since 2000) and is an expert on management and Java software development projects based in New York (possibly due to his stock of stories from Israeli Military Service).
Joel Spolsky Image

So how did Joel make me a Java Techie? You know Excel, that Spreadsheet thing you use everyday. Part of the reason it’s so flexible is because of Joel’s work back in the early days at Microsoft- he was program manager for the team at that created Excel Macros, which eventually morphed into Visual Basic for Applications (VBA). A long time ago when I was still a business person I got involved in automating manual tasks using these Microsoft Office tools. From there, every job got more and more techie until it reached the stage where I must blog about Java every day. It’s all Joel’s fault.

Tickets at the door cost €245.Booking here costs €189. Joining the DubJug (Dublin Java Users Group) for free before booking gets you a further discount.

Advertisements

UCD – part time MSc in Advanced Software Engineering – open for applications

UCD are currently looking for applicants for the Msc in Advanced Software Engineering (a great title for a course!). I’m currently finishing up the dissertation on it , and would recommend the course, both on the basis of the content, and the format (6 weeks over 2 years + exams + dissertation). You’re still dealing with academia, but at least academia trying to look out at the real world.
More details , including how to apply , and in Mel’s mail below

Hello,

I’m sending this email to anyone currently or previously involved in the MSc
in Advanced Software Engineering in UCD
. We’re recruiting new students for the coming session. If you know anyone who might be interested, please
forward them the email below.

many thanks

Mel.

The School of Computer Science and Informatics in University College Dublin
invites applications for the MSc in Advanced Software Engineering.
Registration takes place in September 2007; the first module will be held in
December 2007.

This course is ideal for someone working in the software industry who wishes
to develop new skills and gain a postgraduate degree, but who cannot study
fulltime for whatever reason.

A student on this degree takes 6 week-long, intensive modules over a two
year period, followed by a writing a dissertation. Each module takes place
on the UCD campus, while the dissertation work is undertaken off-campus
under the supervision of a UCD academic.

For full details please see
http://www.csi.ucd.ie/Postgraduates/MScAdvancedSoftwareEngineering.html.
Contact the course director directly at mel.ocinneide [at] ucd.ie with any
queries you may have.

Dr. Mel Ó Cinnéide,
School of Computer Science and Informatics, University College Dublin,
Belfield, Dublin 4.
tel: +353 1 7162482 fax: +353 1 2697262
http://csiweb.ucd.ie/Staff/AcademicStaff/meloc

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

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.

Irish Blogger lynched on O'Reilly site for comparing Google Spreadsheets with Java

There are times when Web2, blogging , feedback from readers and the wisdom of crowds is great. And there are times that it’s extremely painful.

OnJava Logo
Like this Blogpost I wrote over on the O’Reilly site. Do Google Spreadsheets mean the end of Java?

I expected some people to disagree with me , but at least disagree for good reasons. The key point, that Web 2, it’s applications (of which Google spreadsheets is only ) and their API’s will fundamentally change the way we solve business problems using IT has been lost in the knee-jerk reaction.
Copy of the blog post here.

Google Spreadsheets Mean the end of Java

Or to be more accurate ‘Google Spreadsheets mean the end of Java as we know it’.
Google Spreadsheets Logo
Think about this. Who pays your wages Mr Java-Developer-who-has-just-had-a-couple-of-years-at-the-top-of-the-pile? Clients, or if you’re in a larger organisation , the business folks (i.e.’internal’ clients). Do you think any of them care about Java? Do any of them know what Java is? All they want is to get things done, quickly , and with as few mistakes as possible.

These business people would be happy to run their organisations on Spreadsheets. Do you remember the cartoon where Dilbert convinced the pointy haired boss that he could fly the plane using Excel? There’s more than a element of truth to this. I know of at least one US Fortune 100 company that (until recently) conducted most of it’s operations on little more than Microsoft Office and duct-tape. It worked, not very well, but it worked.

Until now , the next line would be ‘Excel (or any other type of Spreadsheet) is not secure / scalable / sharable / not web friendly’. That was until Google launched their Docs and Speadsheets. It’s an online version of Office with some spreadsheet functionality. Play with it a bit and you’ll see that there’s plenty missing. But this being Google , I’m willing to put good money on

  • (a) new features rolled out (think steamroller) and
  • (b) These Spreadsheets being massivly scalable / secure / sharable.

This being Google, there is also an API (developer page here). It’s got massive holes in it (e.g. you can’t yet use it to create a new spreadsheet). But when Microsoft bring out their version of online spreadsheets (and they will) not only will they clone the Google API (to get market share), they’ll need to go one further and introduce new features / remove the usage restrictions in order to compete.

So, secure, scalable, sharble online spreadsheets are here to stay. So lets take a look at Mr. (or Ms.) Pointy haired boss thinking about their new project:

  1. Hmm, I think we need to be able to gather which health plans our employees are enrolled in.
  2. OK, I’ll throw together a spreadsheet to show people what I want
  3. Before I’ll give to our friendly Java developer and let him ‘do’ a website from it.
    Soon I’ll just share this on Google.
  4. Great , Loads of people are now using it, I’ll just the (Ruby / PHP / Insert other language here) guy to add one or two extra features.
  5. Most Excellent. Why don’t we spin this off as a Web 2 company and sell it to EBay??

There you have it, Massively scalable , Highly secure websites (see Google Authentication API), without needing to know anything about EJB, JMX , JBoss, JDBC or any of the hard won knowledge that us Enterprise Java Developers have built up over the last 7-8 years. I’m exaggerating, but not much.

What do you think? Is Enterprise Java dead, or is Web 2 just another boost and a slightly different way of doing things for us Java people?

Other Java Posts from Technology in Plain English

Some other notes:

This article was originally published on the O’Reilly books OnJava Website.

Grabbing people's brains and shoving them into a PC

It didn’t go down too well when an elderly relative asked me over Christmas ‘what exactly do you do?’. After fobbing him off with the usual ‘something in computers’, he was shocked to find out that I spend most of my time ‘Grabbing people’s brains and shoving them into a PC’.

This kind of blog-related-violence is normally associated with Twenty-Major (Warning , Parential Guidance required , unless you’re over 80), so before you call the police , let me explain.

Look at your hands. Unless they’re scarred and calloused (from the weekend’s DIY) the chances are that you work in the knowledge economy. You could work for a Bank , Insurance company, Legal company or be a medical professional but most of your work consists of one thing:  You push pieces of paper around that have some magical value.
Or you would push pieces of paper around if it hadn’t all been computerised in the last 10 years. Now you swap files and emails to get things done.  And you swear on a regular basis when the computer can’t find the information you’re looking for, or someone doesn’t understand the email you sent them. But the important bit, the information processing,  still remains in your brain.
Red Piranha Logo

Which brings us to Red-Piranha (site update in progress) and the shoving of people’s brains into a computer. While we can copy an MP3 music file (with Adam’s and Bono’s imagination in it) and send it around the world, but we can’t photocopy your brain. We don’t want all of it, just the part that gets the magical value-added work done. The bits about drinking beer and playing volleyball on the beach we’ll quite happily leave with you.

So this is what Enterprise Web 2.0 is all about : getting the computer to take a load off your brain so that you’ll have more time to spend on the beach drinking beer. Chapter 3 (draft) of our Enerprise Web book has just been put online, which shows you exactly how to do this.