Wednesday, April 26, 2006

Update frequency is low

Although my update frequency has gone down quite dramatically recently it is not because I am running out of ideas about what to write about. It is because I am running out of time to research/write them up properly.

A big factor in my recent time-demise (despite having given up TV and getting up at 6am everyday) is my new training program (if you recall, I recently achieved a benchmark level of fitness that allowed me to say my back had recovered and so start a proper training program). The new training program is proving to be pretty tough going, but I am feeling a LOT better for starting it. Although the work-outs are tough, the improvements are beginning to come (hand in hand with Mr Fatigue that is).

Anyway, for those that are interested in my training program, you can find it here. The instrument of choice in this instance is a Concept II model B (see below; really quite old and noisy by today's standards, but it brings back found memories from when I rowed at uni) rowing Ergometer (here is the brochure for the recent model D in case anyone is interested - basically smoother and a lot quieter).

Sunday, April 23, 2006

Hiring: Defence Against Spirals and Flooding

There is a term to describe the process by why many large companies are filled with mediocre people, and the term for that process is "the hiring spiral". I first encountered this phrasing in the book "The Search: How Google and Its Rivals Rewrote the Rules of Business and Transformed Our Culture" by John Battelle. The book describes how Larry Page and Sergey Brin were so worried about the hiring spiral occuring at their company that they were personally involved in the interview process for just about everyone until to it became really impractical.

The hiring spiral goes something like this: Consider a company started by some "A" people. They go ahead and hire another "A" person and then another one. Then they let these new people take over hiring. Those people then (being somewhat shortsighted) hire a "B" person who is no threat. Over time, more "B" people are hired who then themselves start to be involved in the hiring process and proceed to hire more people. They hire, you've guessed it, "C" people. Eventually, you have a pyramid with a handful of "A" people, more "B" people, and many many more "C" people. Thus, mediocrity overwhelms (ironically; it underwhelms).

Now part of this is due to the fact that there are just not enough "A" people to go around (though I think this has a lot to do with the misguided amount that companies are willing to pay - ie they are cheap) and also because some people don't need to be "A" people for the job at hand (though I do think that there are "A" people at all levels...).

Now, restricting this discussion somewhat to the software industry (though I see no reason wy this shouldn't be applicable across many others), some investigation has been made into the productivity of programmers. It seems that there is an enormous variation in the time it takes different programmers to do the same thing. Basically, the summary is that the spread in programmers' productivity is huge (of the order of an order of magnitude in difference).

Therefore there is a somewhat compelling case for paying top dollar for the best programmers. In my experience the best programmers in a company will get at most 30-50% more than the average programmer. However, their productivity will be something of the order of x4 over the average. Rather than think you need one or two senior programmers and many junior ones, simply hire the best programmers you can. Even if you pay them double what the average programmers are paid you are still likely to get a factor of 2 improvement in productivity (actually, the productivity gain you see will actually be even bigger because the number of communication channels is kept to a minimum - remember communication channels among n individuals scales like n**2).

So, if you are with me so far then you want to hire from the very top end of the pool but the people who are doing the hiring, having insecurity complexes and blinkered views, will do their best (perhaps subconsciously) to stifle this plan. They want job security, so they do not want their underlings coming up and overthrowing them from their fiefdom. This is an extremely shortsighted view. Since managerial productivity is largely measured by how the team performs they would be better off proving that they can create an environment in which the individual superstars pull together to behave as a superstar team. Just because their (the manager's) technical skills might be in question, their recognition for leading such a team would grant them serious qudos.

OK, so, you want the best of the best and are willing to pay top dollar and everyone buys into why this is the right thing to do. Unfortunately, you now face the problem with the actual interview process itself; that some interviewers don't interview well and some interviewees don't interview well (= "not well enough" & "too well").

What should be done in my (oh so very :-)) humble opinion is that the good interviewers at a company should take over this role (this leads to secondary issues about their job expectations and career/compensation path but we'll leave that subject for another time) . The good interviewers have a natural talent for identifying people that are spinning a yarn and for drawing out that are not so forthcoming. Smart technical people who specialise in interviewing can be more objective about someone's skills than someone in a team who is facing a potential competitor for promotion can. Teams will of course reject this approach and argue that they need to have a say in the hiring process so they can see whether the person would fit in with the team and all that. In matrix organisations most of the (perhaps mediocre) people you actually end up working with on projects are from completely different teams (that have a different "culture" to yours) and this diversity is actually a good thing (this talks about the advantages of racially diverse juror groups but I think it is a small jump to get to different backgrounds/perspectives being good for groups - stimulating ideas and fresh attitudes). So, getting the best people that provide fresh ideas/viewpoints/stimulation to a team should be the priority, not satisfying all the team members' egos that the new person isn't such a threat or if they are then they are a likeable threat.

So, as long as this selection process isn't made into a bureaucratic HR one then I don't see a problem with this process being outsourced away from the team that is looking to some specialist interviewers with a proven track record.

The other thing that I think a company can do when sieving for candidates is to post a real problem to be solved that way even if the candidate isn't hired their thoughts on the problem at hand might help the team find a workable solution thus bringin some positive contribution to the company (for the investment the company makes in the time/effort spent interviewing the candidate). This also has the advantage that only people serious, and capable, apply (it probably gets rid of 70+% of the applications that would otherwise be received, and gets around headhunters submitting the CVs of all and sundry in the hope that one of them will be selected).

Look at the way Google labs did their hiring process; ''{First 10-digit prime found in consecutive digits of e}.com" (this was just step #1) - it doesn't even mention that it is Google that is hiring! OK, so it wasn't a real problem, but the skills to get it are real and it saves their time by them not having to look at the people who punt their CVs just to see if they get from anywhere.

I think this is a great approach for getting noticed/hired. Perhaps rather than publishing a specific problem for applicants to solve, a company could post areas they are looking to strengthen and only look seriously at applications that follow that pattern....seems to me to be an idea not entirely without merit.

Saturday, April 22, 2006

Time passes

[This is very appropriate given my latest attempts at updating this blog.]

I got a random call this morning from a number that wasn't registered. The other party hung up before I could answer but it was more rings than the infamous "one-ring con" calls.

After a while I called back to see who my potential interlocutor was. It turned out it was someone whom I hadn't been in contact for an age (you'll see a lower bound on how big that age is below) and hadn't gotten around to migrating his contact details to my upgraded phone. The conversation went something like this (I'm blue):
  • Hello
  • Hello?
  • Err...you called me earlier... ?
  • Ah yes, that was my kid playing with the phone. Sorry.
  • Your kid ?
  • Yes, it's James, my kid was playing with the phone.
  • James! It's been a while! How are you doing ? Sorry, did you say "kid" ?
  • Yes, 1.5 years old.
  • Kid... ? 1.5 years old... ?
  • Yes.
  • Wow! Congratulations!
  • Thanks!
  • So, ummm, I guess that means that you are married then?
  • Yes!
  • Wow! Congratulations!
  • Thanks.
  • Are you still playing pool ?
  • Yes, I still go to the old place, sometimes I even take the young one.
  • Wow!
  • We should hook up sometime.
  • Definitely.
  • Pop in at the old place sometime.
  • Right, will do.
  • Seeya.
  • Bye.
Apart from my horrible communication skills this conversation really brings home how quickly time is passing by. I mean, the last time I saw James, he wasn't even dating...

Sunday, April 09, 2006

Persistence

The thing with the information age that we now live in is that it is becoming increasingly difficult to get away from the past and have a new beginning. In the old days if for whatever reason something bad happened and your name had some unwelcome associations you could move areas and start again. However, now that we have this online identity, it has this persky persistent quality to it.....

Further to this article, here are some other developments:
  • Someone I know found out they were working with a believed ex-mobster.
  • Some MySpace teenagers are finding out that what they are putting on MySpace is coming back to haunt them legally.
  • Employers are googling people before they hire them; and also it seems googling them whilst they are hired and then firing them if they don't like what they see.
  • The social photo sharing sites have some content on there that I am sure some people would rather not have made public (but are now easily searchable through the tags - riya.com seems to also put a box around the face and ask "Who is this?" !!).
Now, the latest one seems to be DontDateHimGirl.com. This site is apparently really catching on. It looks like the submitted data is anonymous and unverified which means that it is going to be easy to submit false reports - either to get at people you don't like, or bury any real write-ups about yourself in the middle of a lot of obviously crazy ones thus making the it-is-obviously-just-some-crazy-person-out-to-get-back-at-me-for-something story seem more believable.

This whole online persistence (particularly, persistent links between content/rumour and identity) thing is basically why I am keeping no easily searchable online linkage of this blog with my name - I have no idea what direction this might go in the future, nor what other people will forge in my name, and nor (perhaps most importantly) what people (with power) in the future will think of any today-considered-innocent content (see for example this). I don't mind my friends knowing I write this but I do mind anybody being able to find out (=> don't post my name in the comments or any links please).

Friday, April 07, 2006

Quick and dirty fixes made permanent

It is confession time again!

I have this habbit of not wanting to replace/pay for an expensive repair job on things that apart from a single defect are otherwise in perfect working order. Below are two examples of what I am talking about:
The snowboard in the pictures is a Burton 167cm Floater with Drake step-in bindings (think Switch with a hi-back) mounted on top of Palmer plates used in conjunction with Northwave boots. Two full seasons ago I broke the tension adjuster (a lever-like thing to push the hi-back into the boot once you've stepped in) for the last time (I think I broke them about 6 times in total (my riding style can be somewhat aggressive at times) - but then it became impossible to get the replacement part; they had stopped making the model and I had bought the last remaining stock already). After pondering about the cost of getting new boots and bindings I decided to see if there was any makeshift solution I could come up with to buy me more time to consider the intracacies of such a significant purchase.

[UPDATED 09/04/2006: I found one of my broken tension adjusters. I've included a picture for reference.]


The initial solution was to take the cork of a wine bottle and cut it in half lengthways (after consuming the wine of course). I would then step-in and then whilst pushing the hi-back in with my hand push the cork into the gap between the hi-back and the curved metal at the base. This wasn't so bad except that it was a bit fumbly what with thick gloves and all that. The solution was then further refined to make use of Champagne cork and to stick it to the curved metal at the back/base of the hi-back and then wrap the whole structure in masking tape. Although a little more difficult to step-in (though cork does give so it wasn't tooooo bad) this actually worked very well; about one-and-half-season's-worth-of-trips well (I also think it made a fairly strong fashion statement with one hi-back having brown masking tape and the other (in the picture) having white)!

As this season has now drawn to a close I have decided that the board, boots, binding (and some of my wear) should be retired after years of good service. I am now looking forward to seeing what modern technology can do to enhance my white powder experience! If anyone is interested in the stuff I am retiring then let me know...

The laptop in the picture was purchased about 4 years ago and after about 24 months the screen began to fall down of its own accord (I understand this is due to the (largely inaccessible) screws that hold it in place wearing a grove into the pivots). This was really quite annoying as the laptop rocks! It's a Sony Vaio SRX7F/PB and has 384MB RAM, 850 MHz P3, 80GB HDD, 10.4" display, and only weighs 1.25Kg. Additionally, although it is 4 years old it still has 4 hours of battery life, runs XP Pro, has an integrated 802.11b wireless, and a Firewire port which is most needed as it connects to my 2nd generation 20GB iPod (which thankfully still also has good battery life). For my uses (not as light as you might assume) this is still very adequate (well, it could do with more RAM, but unfortunately this is the limit that its motherboard will handle) so I decided to apply the same "let's find a makeshift solution" to see if I couldn't get the screen back to its former supporting-its-own-weight-whilst-tilted glory.

The solution was to take some yellow post-it notes (the thin kind) and fold them in half and then slide them into the gap between the two halves of the laptop at the base of the monitor. This simple fix has completely restored the screen's abililty to support its own weight at any angle. This, needless to say, is awesome as it is effectively as good as new again (well, better, as now it has a funky piece of yellow post-it notes sticking out the top).

And it gets better! I can even close the laptop without needing to remove the yellow post-it notes, thereby putting this makeshift solution on a par with the masking taped cork one....!!

Thursday, April 06, 2006

Another quick video

Wow!

Ali G's business case

There must be some copyright violation (by the uploader) going on here but this is great:

Tuesday, April 04, 2006

Software Development

For all the fans of the Waterfall software development methodology, here is a conference for you - be sure to check out the following:
  1. "Working Harder, Not Smarter",
  2. "Put Testing Where It Belongs--At the End" (keynote speech),
  3. and the "Register Now" page.
;-)

Actually, according to the wikipedia link above the inventor of the method (W. W. Royce) criticised it on the second page as being "is risky and invites failure" (mainly because of the effects of cumulative delays). If you have any experience with large company software development projects you should know exactly where this is coming from...

Changing subject slightly, here is an interesting home page - it belongs to Bjarne Stroustrup, the creator of C++ (he has quite a lot of very sharp insights).