Monday, December 8, 2008

How To Be World Class

A VP of one of the big EDA vendors once asked Jason, one of Verilab's founders, "How on earth does Verilab keep managing to consistently get such high grade engineers?" At the time, I'm sure we clucked and strutted and gave some deep theories. But in reality, our basic reply was, "Dunno. We just know 'em when we see 'em." Spotting talent is a bit like taking photographs. Just because you're good at it doesn't mean you're good at explaining to others how to do it. However, Malcolm Gladwell, whose book "Outliers" I've just finished, has something to offer on the latter. Here, in a nutshell, is what he says (he's a lot better at this than I am though, so don't worry about me spoiling things - you should still read the book).

To become world class you should:
  1. Have some innate talent. This is, however, the least difficult part. Gladwell argues that you only need talent at or above a minimum level (e.g. an IQ of 110), and that's good enough. There is little or no correlation between world classness and innate talent *above* that minimum level.
  2. Be lucky in your surrounding circumstances so that you get the opportunity to work hard on "meaningful work".
  3. Actually work hard. Specifically, accumulate about 10,000 hours of practice.
In fact Gladwell's thesis really focuses on those first two points (the third point is not new - see http://norvig.com/21-days.html). He goes to some lengths to argue that innate talent, especially once you've reached some minimum level, is highly unimportant. Conversely, he stresses that the surrounding circumstances are crucial. An example of the latter is top class Canadian ice hockey players. Apparently they are heavily biased towards people born in the earlier part of each year. Read the book to find out the details of why, but basically it's because kids born in January, February or March are more likely to get the opportunity to put in the 10,000 hours of practice that will make them great.
As I say, worth a read. But I'll leave you with a thought about how to interpret it all for your own benefit.

First, you almost certainly have the required level of talent. If you're reading blogs about EDA, or consulting; if you're interested in high tech; you're smart enough. Let's move on.

Second, you can't really know if your surrounding circumstances are bad enough to kill off your chances. How bad things seem can as often be a function of your attitude to life in general - glass half full or half empty. And I'm pretty sure that for the vast majority of my huge audience of readers it would be true to say that greatness has arisen from surrounding circumstances far worse than yours. So, no excuses here either.
Which leaves only the final point. The 10,000 hours. This is where the focus should be. A modern phrase is, "Work smarter, not harder." Well, apparently not. Work smarter *and* harder. OK, so, remember to send me a ticket when you win your Nobel Prize.

Friday, December 5, 2008

Stress Management for Entrepreneurs

Sean recently wrote about the need for entrepreneurs to learn to deal with "unfamiliar pain". I think he's right. Running a small firm, where you have to worry not only about your own welfare, but those of your team, can be a pain in the brain. That can be particularly the case in that volatile industry sector known as high tech. I'm not sure if I've learned to deal with stress, or if I've just become so used to it that it's now merely part of the background noise. But I do know that I'm now able to shrug off things that in the past would have had me rocking gently back and forth in the corner of a dark and quiet room while muttering. So here are five stress management approaches I've come up with over the years. Your mileage may vary.
  1. Moral outrage is a luxury the entrepreneur can ill afford. My parents brought me up to abhor a lie and with a strong sense of fair play. I've never minded people playing tough -- I played tighthead prop in rugby. In the winter. Near Ferguslie Park -- but I try to play things straight, and expect to be treated likewise. As a result, I have a tendency to get well-nigh incandescent if I sense someone cheating me or anyone dear to me. But in business, that is, I've come to realize, not a positive characteristic. First, genuine cheats are, in my experience, rare. Business is complex, and different interpretations of contracts and other agreements are common. One man's cheating is another man's ambiguous non-compete agreement. That's why we have lawyers. I've never really bought the idea that some things are "Just business; not personal". But I've learned over the years that it's often best to treat things that way. Second, even if genuine cheating is going on, I've learned it's more productive to consider it in the same way I would a donkey stamping on my foot. That - like cheating - is not a pleasant thing to experience. But I don't get angry at the donkey in a "How dare you stamp on my foot" sense. By classing the cheat as a donkey I reduce the discomfort to a managable level. It's still a pain, but my desire to rip the cheat's head off tends to dissipate.
  2. Learn detachment. I'm not a Buddhist, but I find their approach to detachment useful. I've actually learned the value of the phrase "Well there's no point in worrying about that." When I was younger, I found such an exhortation senseless. It implies that worrying is something we choose to do. I assumed it was pretty much involuntary. But in fact I've discovered that it is absolutely possible to simply switch off a worry for a time. The underlying concern may well still remain, but my fevered response to it can be turned down. Especially good for dealing with problems of the moral outrage variety, particularly when they're keeping you awake at night. It takes practice, but I'm no Zen monk and I've managed it. Give it a try.
  3. Control secondary pain. This is, I think, related to Sean's "unfamilar" pain. I've found that there are often two pains or discomforts associated with any given unpleasant situation. First, there's the pain itself. I stub my toe, and my toe is sore. Pain, plain and simple. But then there's the pain I experience because of the existence of the first pain. "Oh no, I've stubbed my toe. Maybe it's broken. Maybe it'll get gangrenous. Maybe it'll get infected and I'll die. My wife and kids will be destitute. Ahhhhh!!" The key difference between the two pain types is that while you may not be able to control the first pain, you can very often control the second. Moral outrage is a good example. A large client pays slowly. They know you can't afford, and don't want to enforce the clear contract payment terms. So they cheat by paying late. They said they'd do one thing, and then they blatantly break their word. The first pain - the hit on your cash flow is real. And, within typical operating constraints, there's not much you can do about it. But the second one - the anger at the very fact they are cheating - is almost all in your head. With practice, it can be controlled.
  4. It could be worse. A lot of stress is instantly lessened by putting it in perspective. Again, my awesome parents drilled this kind of thing into me when I was a kid. "The poor children in Africa would love to have your dinner", I'd be told, while complaining about Wednesday mince an' tatties. And it comes to the rescue often in running a business
  5. You are already dead. This is my favourite coping strategy, and it's best illustrated by recalling a part of the World War 2 drama series, "Band of Brothers". The scene involves a young paratrooper, Blithe, confessing to his Lieutenant that he had stayed hidden in a ditch rather than fight on D-Day. Spears, the Lieutenant, asks if if he knows why he hid in the ditch, and Blithe replies that he was scared. Spears replies: “We’re all scared. You hid in that ditch because you think there’s still hope. The only hope you have is to accept the fact that you’re already dead. And the sooner you accept that, the sooner you’ll be able to function as a soldier’s supposed to function...” It may seem a bit dramatic to treat business like the assault on Carentan, but it works for me.

Wednesday, December 3, 2008

Excel-lent (update - or not)

All is forgiven. The automatic HP update demon has just offered to give me a new and critical (yellow triangle an' all) update. I'm assuming it's going to fix my Excel problem. So I'm happy. Well, kinda. A bit. OK, not at all really. Turns out the update (coming, remember, via HP's own Vista utility) is entitled:

"?? HP ??????????"

with a description of:

"??????,??????????? HP ??????????????????"

:-/

Tuesday, December 2, 2008

Excel-lent

I put my car in for repair last week.
It took them quite a while to find the problem.
Even now, they're not sure it's completely fixed.
The problem seems to be that I use too much vinegar when making my sweet and sour sauce.

OK. The above story is a lie. The following one is not.

The growth in demand for Verilab's services appears to be unending. (Yes, yes, I know there's a recession on and stuff, but no one seems to have told our clients yet.) So, I'm always looking for a tool that will help us shuffle about our existing team, and expose exactly who/what/when we should hire to fill the gaps. Believe it or not, we used to, in Verilab's early days, use some pasta shapes with sharpie-inscribed initials on them. But we've moved on a bit since then. So I occasionally try out a few likely software candidates. So far, I've always ended up settling back on Excel as the best quick fix.
Until today.

The idea is simple. Each person's initials go in a cell, with a different background color for each. Then copy/cut/paste/drag can be used to move people about. Now, we already have more people than base
colors, so I was using light <color> for one person, and dark <same color> for another. For example, one consultant was dark (or, knowing this consultant, "deep") purple.  Trouble is, the default black font  doesn't show well against the dark. So I changed it to white.

Excel crashed.

I tried again.

Excel crashed.

I rebooted my machine and tried again.

Excel crashed.

I tried again.

Excel crashed.

Then Vista threw up one of those as-helpful-as-that-infernal-paperclip "we know how to solve this problem" boxes. Sighing, I clicked the "Fine, go on then" button, and it gave me:

"This problem was caused by a known issue with your Hewlett-Packard printer driver, which causes Microsoft Office 2007 programs to close unexpectedly when your HP printer is set as the default printer. Hewlett-Packard is aware of the problem and is working on a solution."

Knife. Wrists. Slash.
I'm off to buy some pasta shapes.
In the meantime:
  1. If you know of a simple resource-allocation tool, please let me know
  2. As ever - if you're an exceptionally strong verification engineer and programmer with a minimum of five years experience, only happy when wrestling with the toughest challenges, longing to travel, and want to join the best team of VLSI verification experts on the planet, what are you waiting for? Give us a call!