Saturday, January 31, 2009

Go forth and buy Starbucks, Hummers and other shiny objects

I just bought a new PC. Actually, it was an old PC - a refurbished Dell laptop. I spent $400 on a beat up brick, instead of, say, $1,900 on something shiny and new for a few reasons. One is that I'm a terrible maximizer and am still trying to decide which shiny and new machine I should get. Another is that I actually need two machines - one shiny and new, but also a stopgap machine for one of my team while her Lenovo goes back for repair. And the Dell is a perfect stopgap machine. But most important of all is this:

I'm scared because of the "The Economic Crisis"

That reason is telling; I think, anyway. As I explained to my team in Verilab's Austin office yesterday, January 2009 feels much the same as January 2008, or January 2007. If anything, January 2009 actually feels better than those past years. Of course fortunes can change fast for a small firm, but that has nothing to do with 2009. Being a small company means you're always at risk from the big wave, let alone the perfect storm. And so if I keep my eyes purely on the data that immediately affects me, I cannot yet see a problem worse than the problem of being a small, international firm working in high tech.

So, why did I allow "The Economic Crisis" to affect my buying behaviour? The world of PC sales is $1,500 shorter than it would have been had I, You-Are-Already-Dead-Kelly, had the balls to buy a new machine. Why did I chicken out? Well the reason is, I'm scared not because I have anything yet to be scared about, but because you're scared. I'm reacting not to a softening sales pipeline, or to all my consultants being emptied from their clients, or to a sudden ban on the use of SystemVerilog for chip verification. I'm reacting primarily to the fear shown by others. You, and your fear, is the problem. Of course, you in turn are scared primarily because your friend is scared. And your friend's scared because his cousin in Austin was laid off because his Austin employer was scared because his next door neighbour, Tommy Kelly, was scared. Repeat until sick.

Now I'm not denying that there are real economic problems. As Kipling never said:
"If you can keep your head while all about you are losing theirs ... you may have misjudged the situation"
So bad stuff is definitely out there. Toxic assets are, well, toxic. Companies large and small are in danger, jobs are being lost, and home loans foreclosed. Aaaah! But is it reasonable to believe that I am not alone in reacting not to actual observable problems but merely to other people reacting to something? Is it reasonable to believe that a large part - maybe the largest part - of the current problem is not "real"?

Let's do some math(s). There are, what, 300 million people in the US? Let's say 200 million of them are sufficiently afraid of their neighbour's fear that they are not buying as much stuff as they otherwise would. Let's say I'm an average non-spender. So, some are not buying a Starbucks for $4.00, while others are not buying a new Hummer for $60,000. Just for argument's sake, assume the average non-spend is $1,500. Two hundred million Americans each didn't spend $1,500 dollars they otherwise would have. That means $300 billion dollars of non-spend. For no reason. $300 billion dollars of trade that would have happened, didn't happen, because of fear triggered by someone else's fear.

Suppose we decided to actually advance in the face of fire. Instead of battening down the hatches we each decided to buy something that we we knew we were putting off only because of the fear. What would happen to the economy?

I'll leave you with the best video I've yet seen explaining the crisis, and particularly this aspect of "market sentiment".



Meantime, I'm off to buy a shiny new PC!

Monday, January 26, 2009

2009 - Advance In The Face Of Fire

Just after starting Verilab, I dabbled in body building and weight training. One evening, after a session of leg exercises, I asked a much fitter and more experienced friend the following question:
"When you are working at the very limits of your ability, do you think you find squats easier than I do when I'm working at my limits?"
My assumption was that since he was better trained than I was, with better technique, that he'd find his most extreme workouts easier than I would mine. And so his answer surprised me:
"After a max leg workout, I sometimes throw up. I can barely walk, and have to hold onto the wall to stop myself from falling down."
There was no conceit in his answer. He was simply stating it as it was. Working at the limits of his ability, he put himself through a far more punishing and painful routine than I did. I realized that a major success factor in body building was the mind. It was true that my friend Marc was physically better trained than I was. But the difference in our respective mental training was even greater. He had trained himself to push himself harder than a normal person (a.k.a. me) thought was possible. He had trained himself to know that when the pain is so great that you think you are damaging yourself (and in serious weight training you often are), you can still push even harder.

It reminds me of a scene from the movie "Bravo Two Zero", in which a British SAS patrol encounters an Iraqi force. True or not (the details are disputed), the account is impressive, particularly where once the attack is underway, the SAS start to advance towards the numerically superior opposing force. Most normal humans would have cowered in the dust, but not the SAS (2:06 in the following video):


Again, the mind is key. McNab's character in the movie admits that he was scared. "Of course you're afraid. Anyone who says they're not is either lying or needs to see a shrink." But when the crucial moment arrives, past training comes to the fore. The fear remains, but the individual is able to focus on what needs to be done. The same happens in a scene I mentioned before, in "Band Of Brothers":



The difference between Blithe and Speirs was not the presence or lack of fear or of real danger. The difference was in their mental ability to control that fear, and to operate despite that danger. I think there are lessons here for the coming year. True, running and screaming war cries at a global economic crisis aren't going to make it go away. Unlike the Iraqi force, toxic assets aren't going to turn back into high grade investments just because we keep our nerves. But scaring the enemy is only one reason for advancing in the face of fire. Another is the effect it has on you, the underdog; the one being attacked. Like the body builder, you often don't know how far you can push yourself until you try. And a third reason is the training effect. This is not the final economic crisis. We will come through this, and there will be others in future. So this is a rare opportunity to train and learn. We should use it.

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!

Wednesday, November 19, 2008

Connecting geographically distributed consultants

[Re-hash of a posting I made to the PSVillage forum]

Verilab is a multi-site, two-continent, three-country firm (UK, Germany, Texas), with consulting teams scattered across clients from the US West to East Coasts, to umpteen places in Europe, and with growing presence in Asia, the Far East, and South America. The challenge is helping my team to remember that they are a team, that they are my team (i.e. that they are Verilab as opposed to <whatever client they may be in>), to let them benefit from being that team, and to do all of that across space and time (zones).

To help keep us all together, we've tried (and still use) a number of tools and techniques, including:
  1. Company-wide email lists. This is the oldest mechanism. We used to have several of them - some technical, some business, some serious, and some for Friday afternoon nonsense. But we realized that volume is important for lists, and too many lists each with too little volume would die. So we merged them into one until such time as the volume gets too much. This works well, but needed a lot of care and nurturing to begin with. Some shy individuals still hide in the shadows too much.
  2. Company wiki (we use Twiki). This has lots of potential but hasn't yet worked as well as I'd hoped. We have a ton of stuff on there, but lots of "entropy food". There is a core of material that is useful, but a lot that is old and hairy. Overall, it's worth having, but probably needs more personal attention.
  3. Internal blogs. Some success. This seems to be a very personal thing. Some people love to tell other people what they're up to - and some don't. This is a horse I'm still flogging, because I think it's A Good Thing.
  4. External blogs. More success. My ideal would be that there would be *only* external blogs, but then there's almost no chance of getting the quiet shy people to speak up. Also, see point below about Yammer versus Twitter.
  5. Yammer. A surprising recent success. We messed with Twitter, but that's externally visible. One of my guys found Yammer and we gave it a go. All of a sudden, people are ... well, yammering back and forth across the Atlantic. The odd one-liner of status, occasional yells for help, and even the beginnings of technical discussions that then move onto some of the more appropriate forums (like our mailing list). My aim was that it provide the same sort of impromptu conversation that
    co-located people get by standing up and yelling over their cubicle wall. Seems to be achieving some of that. The fact that Twitter (public) got very little uptake while Yammer (internal only) took off was noteworthy. As with all of this stuff, the human issues are more important than the technical ones, and obviously feeling safe that your conversation was only among "family" was an important human issue. Recommended if you want to try something out.
We've also dabbled with the usual meeting-enhancing suspects, including:
  • GotoMeeting - works fine, does what it says on the tin
  • Skype - ditto. We use this a lot for one-to-one, and occasional video conferences. Multi-cast video would be cool.
  • Shared Google Apps presentations. Just tried this last week and it worked great. Much Cheaper than GotoMeeting, and if all you were using that for is PowerPointing, Google may be worth a look.
We've had at least one such meeting where the attendee list was:
  • Group A - Austin, TX office
  • Group B - Munich, Germany office
  • Attendee C - at home in Edinburgh, Scotland
  • Attendee D - in his car in Texas
  • Attendee E - in Bristol, UK airport waiting for his flight
Worked surprisingly well.

Overall, the degree of technical collaboration we've achieved is, I think, superb. I see detailed technical inquiries flashing back and forth and being answered with a speed that the official support channels of the tools we use just can't match. And ramp-up time on any given skill is dramatically reduced for any engineer who wants to yell for assistance on a new area. This has huge positive benefits for our clients too. It's rare that any single engineer can know every answer to every question instantly. But in Verilab, our clients can get access, through any one consultant, to the much larger "verification hive brain".