Friday, 17 August 2007

My worst interview

Q: So tell me the difference between Statement, PreparedStatement, and CallableStatement and when you’d use each.
A: Um, you use a Statement to perform a query from a database.

http://burtbeckwith.com/blog/?p=44

Minus the ridiculous number of buzzwords on the CV, this could have been an interview I attended 3 years ago. I had a howler!! TBH I was a bit green back then and the interview was a wake up call.

Thursday, 5 April 2007

The new job

So thats the end of week 2 in the new job and I'm shattered. I've already learned loads and I've still got a mountain to climb. I've arrived just in time to do my objectives and they are looking pretty full up already. I plan to sit the SCJP (I think I've put it off long enough) learn Ruby strengthen the old SQL skills whilst trying to soak up as much domain knowledge as possible.

Friday, 23 March 2007

Lunch

Lunch is the most important meal of the day! Well maybe not but if you like a sandwich, like I do, it's possibly the most enjoyable. So here are my fav sandwich shops in Glasgow:
  1. Where the Monkey Sleeps;
  2. MYO;
  3. ItaliaMania;
  4. M&S;
My goal for the remainder of this year is to stretch this list to 10 and get M&S out of the top 5, at least.

The last day and the week before the first day.

So that's it, I've written my last line of code for the government (never say never of course).

I had a great night out with the folks at the old place, drank plenty of beer and danced till about 3 or 4 in the morning. Many thanks to all that could make it. For those that couldn't, I'm sure there will be many other opportunities in the coming months to share a drink or two. Special thanks to Johno who made the trip up from Manchester for the occasion, to Kenny for taking loads of great pics and to Monica and Michael for getting me in a taxi home. Thanks also to Niall for the leaving speech, I really appreciate all the nice things you said.

During the last week, between jobs, I've had a gas with Jules and the kids and have managed to get a few jobs done around the house. It's been really nice spending this time with the Tom and Maisie, they really are coming along a treat. It's also helped me appreciate even more what a great job Jules does.

Jules and I also managed to get a night out alone (kid free) together and took a trip down memory lane. My big bro's band, that we used to watch at every opportunity back in the 90's, played at a friends 40th. It was great to see them up there again, tight as as usual.

Wednesday, 28 February 2007

A new start

After almost 5 1/2 years in my first job since graduating I've finally decided to move on. I'm off to work for an investment bank, which I'm expecting to be a culture shock considering my current cosy public sector position. I have to admit I'm really excited about the opportunity to work in a proper agile/xp environment and that has been my main reason for accepting this job over others. Being a sentimental kind of guy I have to look back over these last years at what have I achieved, I've:
  • Got married to Julia;
  • Had two beautiful children, Tom (Jan 12 2005), Maisie (Nov 15 2006);
  • Bought my first then second house;
  • Led a team of great developers to develop one of the most high profile systems in the criminal justice domain;
  • Learned loads of acronyms... OOP, AOP, XP, TDD, DDD, EJB(painfully), JMS(as painfully), JSP and I'm sure many other that don't Spring (see what i did there) to mind;
  • Read loads of great software development books;
  • loads of other stuff.

Thursday, 15 February 2007

You must read

I was talking to some guys from another dept in the pub the other night and one of them mentioned Patterns of Enterprise Application Architecture by Martin Fowler. We discussed it a little and I then brought up a few other texts which I have read and was surprised that no one else had heard of them. So that prompted me to write this. I've been reading software development books regularly now for about 3 years and this is the list I think is essential reading. If you are in the same boat I'm afraid you'll find nothing too original, if not I hope you are inspired... not by me of course, but by the texts themselves.

Title: Extreme Programming Explained
Author: Kent Beck
Why: This book explains how software should be developed... IMHO. It details how to plan, design, code, and test in a easily digestible and, more importantly, inspiring way. It introduced to me great concepts like pair programming, iterative development, test driven development and stand up meetings etc.

Title: Test Driven Development
Author: Kent Beck
Why: This book holds your hand through the process of TDD. Once you have finished reading this you should know exactly how to code test first and, more importantly, not want to do it any other way.

Title: Domain Driven Design
Author: Eric Evans
Why: After reading XP explained I often wondered about how to gain and manage domain knowledge effectively... this book explains it. It explains how to manage Domain Models across large teams and introduces some great design patterns, my favorite being the Value Object pattern (not to be confused with the J2EE DTO pattern). It also shows you how to manage domains in a number of different environments.

Title: Refactoring
Author: Martin Fowler
Why: In the same way Kent Becks book teaches TDD, this book holds your hand through the process of refactoring. It then goes on to introduce a whole host of code 'smells' and refactorings that can be applied to them. As an aside i think the term 'refactoring' is being abused at the moment. It is being used to denote large scale code redesigns or even ground up redevelopment. From my understanding of MFs book this isn't what refactoring is about.

Title: The Pragmatic Programmer (From Journeyman to Master)
Author: Andy Hunt & Dave Thomas
Why: Like the Ronseal adverts this "does exactly what it says on the tin". It introduces an number of great approaches that all good/great programmers should abide by. Things like the DRY principal (Don't Repeat Yourself) and how they apply this to the whole spectrum of systems analysis, design and development and other gems like Tracer Bullets and Broken Windows are priceless.

There are a number of other great books I toyed with putting on my list. P of EAA was a contender along with Rod Johnsons J2EE Design and Development, I also considered Bruce Tates Better Faster Lighter Java. These are all books that I have really enjoyed and have been taken with. However, I had to draw the line somewhere.

BTW if I had read the GoF book I'm sure it would have been there... I promise to get my finger out and read it this year. As much as the Head First Design Patterns book covers most of the patterns, I know, it's just not the same.