I missed a call while I was out for a walk, and I of course I thought it was the agency, but it was the senior of the two guys from yesterday asking if I could ring him back to talk about the interview. About a million things went through my mind on the way home, none of which were the actual answer: "We really like you, we will pay you within the range you're asking for, but, er, um, could you buy a better suit, dude?". That's a good suit! I got it for a wedding! Five years ago! Oh right, fair enough.
They're a company called JHC, they make something called Figaro that's used by stockbroking firms, they are as I said packed into a converted warehouse (lots of up and down stairs Escher madness), they have another company that handles all the small sales, so all the heavy work they do is already paid for by big firms, they're full of smart bright people, they ask you what sort of music you like in the interview, the interviewers were very annoyed that the receptionists gave me a form to fill in asking me to state my ethnicity (Irish is an ethnicity, apparently!), and they work 9-5.
They also have a front end written in Java/JSP, talking via RPG to a back end written in Delphi on IBM iSeries AS/400s, and they use some source control system called Surround (I think) that they're getting extremely annoyed to realise no-one else in the world has ever heard of. I'll clearly learn a lot (and they're clearly looking for someone who's willing to learn instead of matching this mess of reqs), but I suspect the financial stuff may be the most use in the long term.
They only gave me two tests, one problem solving, one programming. Problem solving was "take a figure in pence and determine how it would be written on a check" EG 123456 => "one thousand, two hundred and thirty-four, 56 pence". So I sat for a little while, possibly looking a little stumped, because I was working out edge cases, then rattled off a solution (chop off pence, work your way through the pounds-up-to-a-thousand, the thousands, the millions etc), about five minutes from start to where I'd convinced them that I got it, for an intended twenty minute test. Though it was another ten minutes to write it all down in pseudocode for the other guy to see it, by which time I'd added all the fiddly bits (like, if you have a 'hundreds' term and a 'sub-hundreds' term then you need an 'and', but if only have one or the other you don't).
The other test was programming: take list of numbers, build sorted binary tree, output sorted list. They even had a definition of what binary trees and nodes were. They gave me an hour and left me alone with the computer. I asked them after about half an hour about the line where it says "Binary tree will also have a link to the head node, which is the first one encountered", because if it has to be the first one encountered, then that means you don't want a left-right balanced tree, because I was going to do one, but if you don't need one then I don't really need to have created a separate class for the tree, I could have just used a node. So, if you don't want that, then it's done now. Which was blatant showing off, but I really wanted to underline that if you want someone who speaks algorithms, that's me.
And now I'm floating on air. Start on Monday, if they can find a computer for me.