Wednesday, October 29, 2008

Riddle me this

OK, so I moan about the job market et al. But really I'm having a rather good few weeks. The VBA training courses are over*, so I don't have to worry about producing more training materials. A couple of other sources of panic have passed me by. I'm working 8-6 to make up hours, and I'm struggling with my halloween costume, but these are fairly minor problems really.

And so I do what I do every time my mind starts to free itself up: I come up with interesting little tasks for myself. I've been working on a pygame-based strategy game. I've started looking back over my textbooks in search of cool concepts. And I'm trying to invent a new kind of puzzle.

A whatnow?

Every month, the UK's actuarial trade mag, The Actuary, has a puzzle page. Since the actuarial profession consists entirely of maths geeks, these are often rather good (I'm still trying to figure out how they do the 16*16 Sudokus without employing a supercomputer or two).

However, it's quite rare for the puzzles to show real innovation. Normally they're of a pre-existing type (crosswords, sudoku, logic puzzles, number grids). The actual problems are damn hard, but they're not conceptually challenging**.

I'd like to change that.

I'm working on what I believe is a new design of puzzle. It will require not only sudoku-style pattern recognition, but also excellent spatial awareness. This is because it is played on the surface of a truncated polygon. Yes.

It's not going to make me famous, but if I'm contemplating leaving the actuarial profession then I would like to go out on a high note. Causing actuaries across the UK to spit coffee over their keyboards would be a good start.

* Actually they went really well. I discovered about an hour before giving the second training day that some of my trainees were from other companies that were paying my company for the training. This caused much panic. But the day went like a charm, the trainees really enjoyed it, and I can now put "professional trainer" on my CV :)

** The November edition contains a counterexample, but even that is just a combination of sudoku and another pre-existing type.
Read the full post

A compass is no good if you don't have a map

A definite advantage to working in a group full of contractors is that they're very happy to give careers advice. This is not something you get normally: the average co-worker, unless they're very chilled, will not tell you to ditch your company and strike out for greener pastures.

I've got a fair number of interesting ideas off them. In addition to searching for conventional jobs, one guy suggested that I take up contracting myself. On that front, I'm probably pretty employable: certainly the work I'm doing at the moment poses little challenge. Also I have an actuarial exam* under my belt, which looks damn good on a CV.

This option would probably do wonders for my bank balance. Contractors quite often get a stupidly large pay packet compared to conventional employees. There are two downsides, though. The first is reduced financial stability, which might be a problem if we hit a recession. The second is lack of career development, which is a massive issue for me. I would honestly rather hammer railroad spikes through my skull than do boring job after boring job for years on end**.

A second option, which I've just spent a fair chunk of evening discussing, is say "screw it" and go get an MBA or something. This idea holds a fair amount of interest. Technical skills for me are pretty much a solved problem, whereas managers tend be be confronted with challenges that involve people and are hence much weirder and more interesting.

My worries here are (again) twofold. Firstly, I'd hate to feel like I was running back to university as soon as it looked like the real world was putting up a fight. It is important to me that I retain my self-esteem in this area. When I feel like I'm on top of the world and everything is going consistently well - that's the time to go back to uni. Of course, at that point I may not feel like I need to.

Secondly, I read Dilbert. I know what people think about the stereotypical MBA, and I would hate to have them think that way about me. I've been in the real world for slightly over two years now, so I'm not a complete n00b, but it would worry me to study an entire course about management without ever having, y'know, actually been a manager.

I'm bouncing off the walls trying to figure out what to do next with my life. Some of those walls are figments of my imagination - for example, financial stability isn't really an issue for a young single male. This doesn't help much, though, because I don't really know which of the walls are illusory and which are solid and waiting for me to bust my nose on them.

Basically, I think this situation calls for a bit more self-confidence... and a lot more reading the job pages.

* Possibly two - fingers crossed for the November exam results!
** Which of course is why I'm doing the job search in the first place :(
Read the full post

Wednesday, October 15, 2008

The Joys of Jobhunting

As of a few days ago, I'm finally getting my act together and looking round for a new job. Hopefully a change of company won't be necessary - I do actually like the people I work for - but if they try to send me out on placement again then they'll have to catch me first.

We're now several evenings on, and certain axioms of jobhunting are starting to become clear to me. To whit:

1) The jobs that catch your attention are the ones you have neither training nor experience in.

I've lost count of how many really cool jobs I've looked at and reluctantly clicked past when it became clear that BA Hons Cantab was not going to cut the mustard.

2) The jobs that match your specialist skills are boring as hell.

As a maths grad, my options are apparently finance, finance or - just to push the envelope a little - finance. I do not find finance particularly interesting. It varies between the accountancy end of the spectrum, which requires basic numeracy but no real maths knowledge, and the predictive disciplines (actuarial, quant, etc), which require the ability to pull large numbers of assumptions out of thin air and then pass the blame when it all falls through.

There's also cryptography, but apparently only if you have a first class degree. I have a 2II. Ohttre gung.

3) The jobs that you don't need specialist knowledge for are dangerously vague.

At present, the best example of this is "project management". Beware of any job with this label: chances are it's a pure documentation job. What has happened is that large number of job jobhunters have decided that PM is the fashionable thing. In response, large numbers of recruitment agencies have started mentioning PM in all their ads, regardless of appropriacy.

Ditto "analyst", which normally turns out to be a sales job.

4) More recruitment agencies does not equal more opportunities.

It is incredibly hard to find actual decent job opportunities online. The major online recruitment agencies just recycle each other's listings. Any good jobs vanish like a rump steak in a piranha pool, and the remainder circulate until they're withdrawn or some idiot applies for them.

This seems to be a classic case of the Internet exposing how dysfunctional an industry is. Maybe recruitment agencies are better in person than online, but I doubt it.

5) Life's too short for this crap.

Every single vacancy you come across will have the phrase "please send CV plus cover letter in it". Sounds easy, right? Problem is, it takes a fair few hours to thrash out a decent cover letter. This can quickly become a limiting factor.

Requesting a cover letter is good sense on the part of the company. If applying for the job ceases to be a ten-minute task, applicants can't just employ a "CV shotgun" approach but must actually consider whether it's worth their time to apply. It encourages respect for the application process.

Unfortunately, this encouragement of respect is entirely one-way. In general, companies don't bother to reply to CVs they don't like, not providing even a soupçon of feedback. When you've spent three hours preparing your application, this is very lame.

Conclusion) I hate jobhunting.

As far as I can tell, the entire jobhunting process is a sneaky trick by companies to help them retain their employees. I've been actively hunting for less than a week and I'm already concluding that sticking hot needles through my fingernails would be less painful than attempting to leave my current employer.

But I know that, if I don't, before I know it I'll be a 40-year-old "placement specialist" and candidate for Ark B. I want to do something with my life, dammit.
Read the full post

Monday, October 13, 2008

That height rant

My, how things have gone downhill. Remember the good old days of conspiracy theory? You had the shooting of JFK, the CIA, the KGB, various mafias. And if all else failed, just call in SPECTRE.

These days, sadly, the conspiracies are much more mundane. I'm the victim of one at the moment. I've never successfully interrogated one of its operatives (damn cyanide pills), but I've been calling it CAT.

Campaign Against Tallness.

Now you may be thinking, what kind of conspiracy is this? It doesn't sound very intimidating, does it. But before you come to that conclusion, please examine Heathrow airport's Terminal 1 building. As a 6'4" tall guy, I have no problem with the ceiling (6'7") or even the doorframes (6'5"). What I do have problems with is the emergency lights (6'3"). The emergency lights in their sharp-edged, plate steel cases that are positioned right above the centre of the main walkway.

I feel this particular design feature conclusively proves not only CAT's existence, but also its dryly sadistic sense of humour. Blofeld had nothing on these guys.

Another CAT operative is at work in the car industry. Ever seen one of those cute little smart cars? Ever tried getting into one when you're 6'4"? Didn't think so.

And don't get me started on clothes. You would not believe how few trouser brands there are that even fit a 34" leg, let alone look good. Size 12 trainers? Sorry, that's one size higher than anyone holds in stock. Tough cookies.

So what actually is the evil goal of CAT? My best guess at the moment is that all its members are sensitive about their diminutive stature. By selectively eliminating tall individuals, or at least limiting their ability to breed*, they can ensure that soon everyone will be their height or lower.

For example, another of my (6'4") friends has a massive white streak in his hair from running through a (6'2") door. If he'd been running any faster, he'd have been permanently removed from the gene pool.

Of course their evil plan is ultimately self-defeating. Someday they may succeed in wiping out all the tall people.

But at that moment, CAMS (Campaign Against the Medium Sized) will stab them in the back. Bwahahahaha...

* And doesn't this just bring a whole new meaning to "not tonight baby, I've got a headache"?
Read the full post

Monday, October 06, 2008

That VBA Rant

So in addition to my regularly-scheduled job, I somehow agreed to do some training for the group of grads who joined the grad scheme the year after me. In Visual Basic for Applications. Which I loathe.

Now it's easy for me to say I hate Microsoft products. I'm a Linux user and a civil liberties geek, so it's fairly natural for me to hate those monopolistic bastards and their locked-down software. But this goes waaaay beyond that.

Visual Basic was the first programming language I ever learned. A friend introduced me to it when I was fourteen, and I was soon able to produce a cute little quiz program that got me really good marks in IT class. At the time I thought VBA was the bee's knees.

The process of disillusionment took a while. It probably started when I took an internship at a software company that did all their work in Python. The people were really nice, but it was immediately obvious how bad my programming style was. Stuff that should be completely intuitive for any programmer just wouldn't fit into my skull. I left with a much expanded repertoire of concepts, and a very strong sense of what makes code easier or harder to maintain.

My education continued over the years. A key resource was the comedy site The Daily WTF which, in addition to being hilarious, is a brilliant primer on how not to write code. There's a strong dose of the scientific community to professional programming: most coding conventions have arisen from years or even decades of gradual refinement by large numbers of skilled practitioners.

The icing on the cake was probably my university years. I did maths, and the programming modules were by no means focused on best practice, but I got very very good at elegantly expressing difficult algorithms in code. Software is the true language of mathematics; standard mathematical notation is just a shorthand.

And there's something beautiful about writing code for a well-designed programming language. When concepts and implementation tie together neatly, it brings a tear to your eye. Python is very good on this point: if you can think it, you can probably express it in Python code.

And then I took on a summer job with a telecoms consultancy. Who did all their programming in VBA for Excel. And I realised how very far I'd moved on. By week 4 I was gnawing at tables trying to get this kludgy toy language to do what I asked it to.

It doesn't have proper error handling. It doesn't have a proper object layer (try passing a function as an argument and call me a liar). It's not even remotely self-consistent in approach or content. Most of the Excel component is a wrapper round the Excel UI, which means that things like text search aren't at all programmer-friendly. Source control? Don't be silly.

Almost every language has something going for it. Java is slow and ugly, but at least it's portable. Lisp is impractical, but so very elegant. C++ is time-consuming, but good grief it's powerful. VBA is ugly, platform-specific, hard to use, lacking in basic and advanced functionality, but... there is no but.

As languages go, VBA stinks.

And yet, despite knowing this, I've managed to land myself in an industry with the highest concentration of VBA users on the planet. The vast majority* of actuarial "tools" are just spreadsheets with a VBA layer to do the messy stuff (batch-processing, goal seeks, etc).

I really can't take much more of this. It's as if I was a semi-pro mountain biker and the company forced me to ride around on one of those tiny clown bikes. It's as if I was a fencer and the only weapon they'd give me was a feather duster.

What makes it worse is that most people don't think this way. They've never even spoken to programmers, they show no awareness of software best practices or concepts like separation of concerns. Their idea of version control is taking a backup copy every few days (and that's only if they're particularly on-the-ball). Even commenting the damn code is seen as a bit avant-garde.

Most of them have had no formal training. Now I freely admit that neither have I - I'm a software dilettante. But I know my limitations, and I put a fair amount of effort into discovering what lies beyond them. By contrast, most people in the finance industry are alchemists: they take what they've learned from one or two tutors** and elevate it into divine knowledge.

I worry that, if I stay too long, I'll turn into one of them.

So I'm producing this VBA training material, and hating every minute of it. It's like swimming through treacle. The only good thing I can say is that, once the training is over, the company will have someone else to lumber with VBA-related tasks.

Rant over.

* The only alternative appears to be COBOL. This kinda says it all.

** Who learned it from their tutors, who learned it from their tutors. The chain generally terminates with a bloke who read "VBA for Dummies".
Read the full post