Wednesday, June 8, 2011

Clouds of EDA

Todays DAC panel session on EDA and Cloud Computing was interesting and the ensuing discussion was fairly lively (I'm speaking relatively of course. it's a conference of chip design geeks; how lively do you think it could ever get?) But while cries of "The Cloud, The Cloud, My Kingdom for The Cloud" are all very well, I'm only going to get excited when I see some important enabling technology show its face first. Here are four:
  1. Mobile apps. This is really what Cloud computing is all about. Sure you get to stuff your stuff up on Amazon, somewhere in, well, in the Cloud. But it's how you interact with it when it's up there that's important. You have a LinkedIn app on your iPhone? Or a DropBox one on your iPad? Well, you'll want a Regression Dashboard one too. 
  2. Data Visualization Technology. It's already bad enough trying to wade through a jillion lines of plaintext logfile coming off one or two or five simulations. Imagine what it's going to look like when you have five thousand simulations running in parallel, the log outputs combining into a flood. I'm not just looking for a glorified grep I can run during a boring DAC talk (the Cloud one wasn't boring). We need new ways to look at and in other ways analyze simulation data. We don't, for the most part, know how to do that yet. People like Edward Tufte might. We should ask him. (Here at Verilab we already sent one of the team to do exactly that.)
  3. Virtualization. Partly because the chip design environment is so heterogeneous (lots of different things as opposed to lots of things-the-same), partly because the EDA tools are not always as well-behaved citizens of the GNU/Linux environments in which the live as we'd like, and partly because it's not easy making a large number of GNU/Linux boxes behave in a sane and stable way anyway, the last thing we want to do is in anything like a manual fashion try to configure five thousand in-the-cloud servers so they are ready to run big chip sims. One way to solve this is to rely on virtual machines which are then cloned and farmed out to the farm.
  4. Much *much* more robust GNU/Linux configuration. Even with the help of virtualization, that merely helps the scaling, You need a stable system in the first place. Unfortunately GNU/Linux sysadmin is often treated as little more than a glorified (if that) backup-tape-changing, email-fixing job. Its not. If we compare looking after GNU/Linux systems in a chip engineering environment to looking after financial systems, then too often GNU/Linux admin is barely at the level of book-keeping. What it should be compared to is the role of the sophisticated M&A specialist, or investment quant. The GNU/Linux infrastructure needed to design and verify a modern SoC is a significant piece of engineering in its own right, and it needs a significant piece of engineering brain power to run it. Every chip team worth its salt needs such a large-brained sysadmin. Verilab has one. If you don't, go get one. If you don't know what one looks like, ask me and I'll tell you. But a clue: if your guys aren't running Puppet, or something similar, ask why.

Of course there's more to it than even that. We'll want FaceBook "Like" buttons next to simulation output displays, and the ability to retweet a successful regression will be cool too. All of this is why, unlike what one questioner suggested at this evening's panel, "The Cloud" is much more than the same simple build-versus-buy decision we've contemplated for years. No; done right, Cloud-based EDA -- Cloud-based anything -- will be a game changer. Why else would Big Brother Steve be so excited about it, and Brother Richard so not?

Saturday, June 4, 2011

Programming as Soulcraft

I'm always looking for "proxies for greatness" in potential new members of the Verilab team. It can take some time to find out if someone is good, because in the end "good" in this context means something like "consistently delivering desired results", and you can only see that over time. But there are clues early on that a person may be, or may become, good. Those are the P'sforG.

One is mentioned by philosopher-turned-mechanic, Matthew Crawford in his "Shop Class as Soulcraft". In chapter eight, "The Further Education of a Gearhead: From Amateur to Professional" he tells the story "Of Madness, a Magna, and Metaphysics" in which he takes on the task of bringing back to life an old and neglected-by-underuse 1983 Honda Magna V45. A key part of the repair was fixing the clutch hydraulics.

As he burrows in through the layers of grease and grime, he encounters a suspicious oil seal that he suspects is the culprit. But he can't be sure without a lot of extra work. This triggers a debate within himself as to the sense of digging into that oil seal when he knows he can perform a reasonable if temporary fix by simply focusing on the slave cylinder:
"It occurred to me that the best decision would be to forget I'd ever seen the ambiguously buggered oil seal. With a freshly rebuilt slave cylinder, the clutch worked fine. Even if my idle speculation about the weeping oil seal causing the failure of the slave cylinder was right, so what? It would take quite a while for the problem to reappear, and who knows if this guy would still own the bike by then. If it is not likely to be his problem, I shouldn't make it my problem."
Note that he's not idly trying to avoid work. His concern is for the client (who'll have to pay for the extra work), and for sheer economic sense in to the bargain. But there's more at work here than simple economics:
"But as I walked back into the fluorescent brightness of the shop, I wasn't thinking about the owner, only about the bike. I just couldn't let that oil seal go. The compulsion was setting in, and I did little to resist it."
It's that word "compulsion" that intrigues me. Only sentences later he mentions it again:
"There is something perverse at work here, and I would like to understand it. The oil seal was the opening to Pandora's box: I felt compelled to get to the bottom of things, to gape them open and clean them out. "
 Not money, not because the boss or client wants it. A compulsion, and thinking only about the bike. I agree with him; it's perverse, and I too would like to understand it. And his inner conflict, and outright guilt at the perversity of it is clear:
"But this lust for thoroughness is at odds with the world of human concerns in which the bike is situated, where all that matters is that the bike works... [The] more ... pragmatic view of the motorcycle ... grounds the fiduciary responsibility of the mechanic to the owner. In digging at that oil seal needlessly, I was acting out of some need of my own."
But if he didn't intend to be ironic there, he should have. And that's my point. It is the very compulsion he demonstrates that I believe is a Proxy For Greatness. I see it (and its sad opposite, a robotic lack of compulsion) all around in software.

The Proxy -- the sign you may be standing in the presence of programming greatness, or the potential for it -- is the tendency in some individuals to write clean, well-nigh poetic code not because it's useful (although it usually is) or reusable (ditto) but because they cannot *not* write such code. They are compelled to do so. They avoid, where possible, writing the same lines of code in more than one place not because a coding standard tells them not to, but because they are compelled to be succinct. Saying the same thing twice is icky -- it *feels* bad. Or they look on existing code, and cannot help but notice that those four "different" functions are really the same function. The itch to refactor develops, and may well become irresistible.

The correlation is not 100%. There are potentially fine programmers out there who don't have this instinct but can learn it. And I've met a few who go too far to the extreme, sacrificing all real concerns for an elusive platonic form of every program. But I reckon it's a very strong predictor. And I'd recommend erring on the side of too much of it than too little.

Verilab is hiring that kind of people in the field of chip verification. If you're looking for a place where Programming as Soulcraft is appreciated, where the beauty of a solution is part of its merit, and where you would be part of an elite team who understand the compulsion to Just Do It Right, give us a call.

Friday, May 27, 2011

Egnyte - update

So, a local person (well, US) called me. Turns out the latest local cloud client is busting something on Mac SnowLeopard. They gave me an older version and I'm now in action. Now I can start comparing.

Egnyte versus DropBox, or, No You Can't Login To My Machine With GotoMeeting!

Sorry but this isn't a comparison. If you want a comparison, go somewhere else for now. It might become a comparison, but it can't yet be one because Egnyte has fallen at the first fence.

The story so far. After quite a bit of diligence and analysis, and looking at lots of options, we settled a year or so ago on Dropbox for Teams for my company. I had a whole list of requirements but the primary ones were:
  1. Fast local access to files (no having to download them from websites)
  2. A regular folder-view of the local files, so my non-techie users felt at home
  3. Secure in transmission and secure in storage
DropBox does all that, but there are a few things that I wish were different. I wish:
  1. There was an option to lock files on the local copies so that you had to explicitly unlock before editing. That would give conflict resolution. DropBox isn't completely clueless in this respect, and it tends to "fail" safely by letting you know there has been a conflict (and giving you copies of the file in question). But it doesn't prevent conflict
  2. There was finer-grained access control. For now it's an all-or-nothing control at any given shared folder (and children). I cannot give you access to: A, A/B, A/C but not A/D; while giving someone else access to A, A/B, A/D but not A/C. The workaround is to think carefully about your top level folder arrangements, but finer grained controls would be better.
  3. You could have multiple DropBox accounts on a single machine. Many of my team have personal DB accounts, but also need access to our DB for teams account. Not easily done.
But despite those things, DB is pretty awesome. We use it constantly, and I like it.

But one thing arose today that made me go revisit Egnyte, which was one of our shortlisted candidates when we first looked about. I don't think we every disqualified it, we just had to make a decision and I went for DB. But today I found myself wanting to share a large file with someone outside the company who did not have a DropBox account (or a Google Docs account, which would have been an alternative). Asking on a local business support group I received the following advice (thanks Paul):
"We use www.egnyte.com as our cloud server and then can share files with end clients with links that require login, expire after X clicks, or expire after X days."
That got me interested enough to re-visit Egnyte and I noticed a bunch of other things that DB doesn't have. It appears to have the fine grained access control I'd like. Also it has lock-modify-unlock. Tasty. Now I don't know if it allows multiple accounts per machine -- I'm going to guess it doesn't. But if we used Egnyte for business, everyone could happily continue to use their own DB accounts for their personal stuff. 


So, rather than faff about with lots more reading I thought I'd go for a 15 day free trial of the "Pro" edition. I'll mess with it for a days, then let some of my team play. If we like it, cool. If not, no loss. The sign up and install seemed to be fine. I now have web access. But the local disk access is vital, so I downloaded the client and got it installed on my Mac. And the problems begin. Throughout the process I have only ever provided one password, so when I was sent to a web page to set my local cloud preferences and was asked for a password, I used that one password. I got the following message, "Change password to match Cloud File Server. Please re-authenticate."



Now exactly what does that mean? Does it mean that it wants me to change the password? Why? To what? I have only one password (and it works on the main Egnyte site). And what is the cryptic note below the "Save" button? And yes while I'd like some answers, wouldn't it just be better if the errors meant something to a normal user?

So it gets more frustrating. If I click on that "Contact Support" icon at the top right, I stay stuck on the page. In fact if I click on anything on that page I stay stuck there. Apparently you can't get support about not being able to login unless you are able to login.

Nest step, I find a phone number for support and call them. Couple of menu button presses and I'm at technical support. A message suggests I may want to raise an email support ticket (which they say may be faster) but I'm thinking this should be a ten-seconds-to-fix problem, so I decide to wait for a human.

I wait. The opening bars of "Morning Mood" from Grieg's Peer Gynt waft plaintively over my phone, which I have on speaker in case it takes them a few minutes to get to me.

I wait. I notice that their on-hold music is *only* the opening bars -- the first four to be precise.

I wait, and wait, and ... ah! You can always tell when you're about to get through because the on-hold music tends to step and you'll hear a phone ringing. My internal Pavlovian response is always a giddy, "It's my turn! It's my turn!".

But no, not this time. After a couple of rings, we're back to Morning Mood. First four bars. Again, and again, and again.

5 minutes. 10 minutes. 15 minutes. The frustration builds. Not only does the phone keep ringing, tantalizing me that maybe this time I'm through, but I am driven nuts by the lack of progression on what I used to, until now, consider a delightful melody. Curse you Egnyte phone system! Who would have known what solace, what relief, what homecoming Grieg had built into that 8th bar. It may be that his genius is only fully appreciated when you experience the mounting despair at being deprived of the precious B, G#, F# sequence and instead repeatedly get fed bloody bar 4 instead!


18 minutes. Right! That's it! I mail their "support" begging for a phone call. Simultaneously I get an email from one of their customer satisfaction people. So I copy him too.

19 minutes.
20 minutes.

The phone rings! It's a (650) area code, so it looks like the customer experience dude himself has come to my aid. Oh frabjous day! Callooh! Callay! But no. Oh, no. What I've experienced thus far is a mere taster for the despondency I am about to face.

Now let me pause to make one thing clear. No, two things. First, I am a foreigner with a funny accent. Second, I have nothing against Indians, and in fact some of my guys are from India and they're as smart as they come.

But when I heard that accent on the phone, my heart fell. Why, because I knew -- I could feel it in my support-line-wearied bones -- I knew I was almost certainly facing a Script Follower. And how did I know that -- from hearing the Indian accent? I'll tell you why.
Companies do not outsource support work to India because although it is not cheap, it is world class.
No.
Companies outsource support work to India because although it is not necessarily world class, it is cheap.
Now careful here of taking that through a post hoc ergo propter hoc fallacy and inferring that India implies low quality. This has nothing to do with India or Indian workers. It has everything to do with American (and European) companies saying one thing about support ("It's important") and doing another ("Is it crap."). In other words:
Companies outsource support work to cheap places because they don't really give a shit about support.
Anyway, I gave up very quickly as the support dude requested that I let him access my machine using GotoMeeting to solve the problem. I don't have a problem with that in principle. I don't think he's going to drop some trojan on me and then steal my stuff. In fact I think it and things like it are a fine way to provide certain kinds of support. But, acchhhh, I just cannae be bothered. I don't have time for that kind of thing. I'd already been on the bloomin' phone for 20 minutes, all I wanted was to hear someone who was sufficiently knowledgeable they didn't need a script. Fulfill that requirement (and speak English at least as intelligibly as I do -- not hard). Exactly where they live is not a concern of mine.

So, I've said it before, I'll say it again. Charge me more money people and stop relying on low-grade scripted people to fix stuff. Money is not the only thing I think about; the more you share my priorities, the more likely I'll buy your stuff.

Friday, May 6, 2011

Annoyances

The swapping of positions of "Open Link in New Tab" and "Open Link in New Window" in the right-click context menu in Firefox 4.0.

Recently created documents in the PDF "Open" standard that can only be opened in Adobe's reader, and only in the latest version of that, at that.

The fact that MS Office's installer in OS X is too stupid to kill OS X's software updater despite the updater being smart enough to start the installer in the first place. (It's not the fact that the installer can't handle it per se -- it's the "Sheesh, would you shut down the updater already!" way it sounds like it's blaming you for the problem.)

Monday, April 25, 2011

Crappy little services companies

Verilab is eleven years old (plus or minus a few weeks). Happy Birthday To Us.

The three of us started the whole shebang at the top of one of the slopes at Heavenly in Tahoe, in March/April 2000. It was just as NASDAQ began its (first) bubble-bursting dive. The timing is so close I've wondered occasionally if we were the pin that did the bursting.

And from day one I have had a single, simple, consistent vision for our services company. It is, *I* think anyway, exactly what a company vision should be: an "artist's impression" of where you want to go. It's meant to inspire. It's meant to help others to, well, to envision of course. And it's meant to have some poetry to it, some music, some pomp and circumstance; even a soup├žon of pretentiousness. Not for vision, the day to day practicality of "goals" and "objectives". Even the longer term aspirations of "mission" are still too mundane. Vision should uplift, and challenge, and maybe scare. And if it makes the onlookers a tad worried at the sanity of the visionary, all the better.

Perhaps most important of all, the vision should invoke the Tim "The Tool Man" Taylor Effect. It should make you go "Ar Ar ARRR!".


It should convey the message -- no, the feeling -- that what we're doing is worth doing; a good fight to be fought; a race worth running, an Alamo worth defending; a K2 worth climbing or dying trying. A man's game[1]!

My vision for Verilab is to build:

"The McKinsey of VLSI"

Now I've learned over the years that my particular choice of white shoe firm sometimes poses a problem in high tech geekdom since half the people the analogy is intended to speak to have never even heard of McKinsey & Co! (And of course the recent allegations concerning Rajat Gupta haven't helped.) But I stick with my choice.

The analogy with McKinsey tugs at several heart strings, but front and centre is that the craft of professional services is not simply one to which failed product startup wannabes go to die (or pay their mortgages). It's a reminder that the list of "professional services organizations" includes such illustrious members as: the Institute For Advanced Study and The Academy, the Bolshoi and the Vienna Philharmonic, and even the British SAS and the US Navy SEALs.

But if you want something a little more down to earth, here's a recent good article (thanks JL) on why crappy little services companies aren't always so crappy or so little.

[1] Over the years, some of our best engineers have been women.

Wednesday, April 13, 2011

That Pesky Gregorian Calendar

I've hired a new Director of Operations and Finance, to allow me to unload the myriad of day to day operational management tasks and let me focus more on our strategic growth. We're still very much in hand-over stage though, so there are lots of wee bits and pieces that make sense for me to finish off. One is the small matter of our credit card statement date.

We run largely paperless, mainly because we're so distributed internationally. A combination of Fujitsu ScanSnap scanners and DropBox and an increasingly honed scanning/naming/filing process makes everything smooth and efficient. Receipts for purchases made on our company credit cards is an example. We've finally converged on the following process.

Each time a purchase is made, paper receipts scanned, and soft receipts are printed to PDF (I'm also experimenting with the iPhone JotNot app as a way of being able to do the scan at the point of purchase). Each receipt is then filed in a DropBox folder that is shared with finance. There is a folder per month -- something like this (simplified for this post):

<path to DropBox>/credit-card/disbursements/<YYYY>-<MM>/

and the file is named something like this:

<date>_<amount>_<vendor>.pdf

where:

<date> takes the form YYYY-MM-DD
<amount> takes the form NNNNNN.NN where the part to the left of the decimal is always 6 characters, leading digits being replaced by the "-" character to pad. For example:

2011-04-05_---450.00_expedia.pdf
2010-12-23_--1245.56_toysrus.pdf

The result is that in every monthly folder you get a nice list of receipts, where the dates and amounts all line up. It makes for quick and easy statement reconciliation at the end of each month.

The problem is, one of our credit card companies does not, and now I am told cannot, provide calendar month statements. So there are always going to be receipts at the start of the month and the end of the month that for reconciliation purposes (which is the primary purpose) are in the wrong folder.

As far as I'm aware, they are the only one of our umpteen financial institutions, across four countries and two continents that cannot provide calendar-month statements. Sigh.

Tuesday, April 12, 2011

Trying to cancel MozyPro - part 5 of 6

They got back to me with an email to confirm my account has been closed. I'm calling this 5 of 6 though because I'm waiting until the next billing date to make sure no money comes off my credit card.

Trying to cancel MozyPro - part 4 of 6

Second email sent to my "Account Manager" asking that she confirm my account is now cancelled.

Trying to cancel MozyPro - part 3 of 6

Well it's now Tuesday and I've not yet heard nothing back from the "please close my account" email I sent to my Mozy "Account Manager" sent on Saturday. Also, I forgot to mention, when I sent her the email, I Cc'ed "support@mozy.com". That Cc resulted in the following bounce message from invalidsupportrequest@mozy.com:

> You have emailed an unmonitored mailbox. For technical assistance with a
>
> Mozy product, please visit our Support Portal.
>
>      United States: http://mozy.com/support
>      France: http://mozy.fr/support
>      Germany: http://mozy.de/support
>      Ireland: http://mozy.ie/support
>      United Kingdom: http://mozy.co.uk/support
>
> All other countries may access the Mozy Support Portal in English at
> http://mozy.com/support
>
> Thank you,
> Mozy

Saturday, April 9, 2011

Trying to cancel MozyPro - part 2 of 6

OK, had a quick conversation with the support guy. He located my account from my email address and had to inform me that, "This is the kind of account that I cannot cancel here. It has to be done by a sales representative and unfortunately they're not here at the weekend."

I mentioned that I had already mailed someone (the person who had called me recently) and requested cancellation. When I asked if that would be sufficient he said it would. So let's wait until next week and we'll see.

Just before he answered the call and I began documenting stuff on this blog, I had found something official-looking about canceling MozyPro (as opposed to the personal Mozy). It's here and the crucial part is this:
To permanently close the account, you must open a case with support...
It then goes on to explain how to open such a case. But that therefore appears to contradict the reassurance I just got from the phone guy about how my email to the sales gal would be sufficient.

And then, this just in. I just received an email from Mozy Support telling me that "Your recent Support case #00220118 regarding "Cancel account" has been closed....". Now call me Mr Picky but if that's referring to my phone call then it's not remotely closed.

The email also requested, "Because we value your feedback, I would like to invite you to take our short Customer Satisfaction Survey...". Hmm. I wonder how that's going to go for them.

More as I hear it.

Trying to cancel MozyPro - part 1 of 6

We've been using MozPro for backups for a few years ago. But in fact we haven't actually made use of it, so I've decided to cancel and stop paying the $70-odd a month. Apparently this is easier said than done.

First I logon to our account and look for the usual suspects, "My Account", "Billing" and so on. But none of those have the desired button or link to "Cancel My Account".

Next, I go to their help system and try searching there. I search for "delete account" and "cancel account", but nothing useful appears.

OK, so it's already vaguely worrying, but let's check Google. I search for the same kinds of things but while I don't turn up anything actually telling me how to cancel, I find several posts on forums describing the very problem I'm having. For example here, and here. Now in fact I do find a couple of items describing a method for closing the account. For example here. The problem is, those instructions don't seem to apply to my account. They talk about selecting something called "My Profile" but no such thing exists on my account. Then I realize that those are instructions for Mozy, and not explicitly for MozyPro. Apparently there's a difference. Or something.

Then I realize, hang on, if I'm MozyPro then I'm paying and in which case surely there must be some kind of superior support line I could call. I did receive some recent emails from an account manager "checking on our needs" so maybe there's something there. Sure enough, I find a 24x7 support line and a support code I can use.

So, I'm on that line now. Have been for ... <checking>...13:57 minutes. Ah, someone has just answered!

Wednesday, February 23, 2011

Cost is not my only concern

[This just after a phone call to my allegedly North American payroll provider who it turns out has a support center in Mauritius.]

To everyone running customer support lines, please take heed. I am willing to spend more money in order to speak to someone who:
  1. Speaks English natively, or at very least very fluently
  2. In an accent I can understand clearly[1]
  3. On a phone line, and from a location, that doesn't result in their voice being distorted
In many things, you get what you pay for, and I'd like to pay for better. Please take my money and give me what I'm looking for.

[1] I accept that this probably disqualifies me and other Glaswegians. AhvNaeProblemWiThat.

Monday, February 21, 2011

Contrarianism

When I was younger, if there was significant disagreement between two book reviewers, either one or both had to be wrong. There was no room for opinion. These days though, I find it fascinating to look at Amazon reviews and see five star gushes on the one hand, and one star death sentences on the other. How can the same book look so different to different people? It's, as I say, fascinating. And so when I offer opinions on two things -- an author, and a podcaster -- know that others may take the opposite view.

First, Seth Godin. I don't get him, or the fuss. About a year ago I read his "The Dip". I cannot fathom why anyone would see it as anything more than the following statement:
When the going gets tough you should push through; except when you shouldn't.
And now I've just finished reading "Linchpin". Ostensibly about what makes people indispensable, it looked like a useful addition to my list of readings about how to build a world class team. But to be honest, I have no idea what it was about. At least I could give a single sentence review of "The Dip". But "Linchpin" is just ... I mean, it's full of ... it's kinda like .... Shrug. Honest to god, it conveyed pretty much zero meaning to me.

And then there's Merlin Mann. Known primarily for his 43folders website, here I'm talking only about his "Back To Work" podcast. I just forced myself to listen to the entire first episode. To begin with it was actually to hear what he had to say. I tapped my fingers impatiently, waiting for the core content to begin: a minute or two, or five. Ten. Half an hour. By the time I got to 45 minutes I was just hanging on in disbelief to confirm that there never was any substantial content. And there wasn't -- not a thing. If BBC Radio 4's "In Our Time" is a laser, then "Back To Work" is a blob of cold porridge in an old sock. No, it makes no sense to me either.

Now I don't know Merlin or Seth. But the vibe I picked up (it's all I picked up) from the "Linchpin" is that Godin is a very nice man. And I have no reason to believe that Mann is any different. So I have nothing against either of them. But they either both are full of hot air, or they are speaking a language I don't yet understand. For the sake of humanity and civility, I'm going to conclude the latter. But anyone else had the same experience?

Wednesday, February 9, 2011

Shiny shiny

I am very very busy.
My time is valuable.
I will not look into using Julien's newly-announced org-contacts
I will not look into using Julien's newly-announced org-contacts
I will not look into using Julien's newly-announced org-contacts
I will not ...

Friday, January 7, 2011

Whence programming greatness?

http://xkcd.com/844/
In programming -- probably in almost any creative field (Oh; how radical! Programming is creative! It's not just a modern form of manufacturing!?) -- technology is kinda important, so is that ethereal thing known as methodology. But towering over them in importance is people-ology. In fact, my primary itch in running a consulting firm is trying to dig into that idea, with implications such as "I'll take the best people, and mediocre programming tools and languages, you take the cool tools and languages and average people, and I Will Kick Your Bottom" (and spend less money). I spend a large part of my thinking time trying to develop answers to the following four questions:
  1. What are we trying to build? It's such an obvious question, I think sometimes we forget to ask it. Just what does an excellent person look like at any given stage in their development? What does their work product -- code, writing, effect on others -- look like?
  2. What are the pre-requisites? I reckon that some of the things that make for a superb programmer must already be in place at a young age. If you don't have those, I can't give them to you. (Nor would you want me to, since they're probably fairly basic aspects of character.) This is getting into the "10,000 hours of deliberate practice" stuff. But I need more detail. As Geoff Colvin explains in Talent Is Overrated: What Really Separates World-Class Performers from Everybody Else, 10,000 hours is merely the penultimate rung (the final one being the attainment of greatness itself) in a multi-rung ladder to performance. Achieving 10K hours itself, depends on passion. Passion, in turn, depends on a degree of confidence that the goal being sought is achievable (otherwise no one is going to go through the pain and suffering of the 10K hours in the first place). And even confidence isn't the bottom line. 
  3. What are proxies for (potential) greatness? The best way I know to see if someone is, or could become, really good is to work with them for at least a year -- longer if they're just fresh from university -- and see what they produce. But an internship is measured in only weeks or months, and those are only useful for youngsters. If I'm hiring an allegedly experienced person,  using a normal selection process -- interviews and stuff -- then my time is going to be measured in only hours or days. Now it may be that there's no good answer here other than the "work with them for a year and see" approach. But even if that's true, I'd still like some early indicators -- things I can spot in some kind of interview process -- that I may be onto a good thing. And just asking some cute puzzles is not, I think, enough.
  4. How do we amplify? So, we've agreed on what we're building, we know what a candidate has to bring to the table, and we've figured out a way of spotting it. Trouble is, the difference between a bright-but-inexperienced youngster (or even an experienced person but from a non-consulting job) on the one hand, and a battle-hardened Verilab consultant on the other is very large. So what do we do to turn potential into actual? Well, if "training" -- at least in the usual sense we mean it in Europe and North America -- is much more than about 10% of this answer, I'll be surprised. For various reasons, the education systems of said continents are substantially clueless when it comes to the challenge of taking high-potential technical youngsters, and turning them into high-actual technical professionals (in the best but rarely intended sense of that last word). Fixing that is probably the single best way to improve new product development the world over.
At first sight I guess those are statements of the blindingly obvious. But, as Feynman probably never said, "if you think you understand how to build greatness, you don't understand how to build greatness".


Tuesday, January 4, 2011

Big Yammer Is Watching You

Although I dealt them a minor slap, I'm really not trying to hammer Yammer (hoho). I like Yammer. I use Yammer. But I was browsing about, as I ponder if some kind of expanded "internal facebook" functionality would be useful for us, and I came across this presentation. It casts Yammer itself in that light, so in the spirit of love the one you're with I had a look to see if there were any additional features I could turn on in our account.

Well, we use the "silver" account, which I reckon is grandfathered. It's $3/month per user, compared with the $5/month version, called simply "Enterprise" on the pricing page, but called "gold" when I ask about upgrading to it from inside my account.

And so what would I get for an extra $2 a head a month? "Easy Data Export" Well that's useful I guess. Cloud-based apps that lock you in by making your data difficult or impossible to extract are uncool. "Multiple Email Domains". I suppose it could be useful, but I don't care about it for now.

But then the final extra-ness:

"Keyword Monitoring: Administrators can detect discussions about inappropriate or blacklisted topics."

I'm going to give them the benefit of the doubt and assume that either the madly litigious nature of America has forced them to provide this. Or larger clients (possibly for the same reason) have demanded it. But honest to geekdom, it's hard enough to get a rich culture of communication going in a business without tying the Big Brother Is Watching You albatross around your throat. Sigh.

Update: I just noticed that in my last Yammer-bash, I wrote jokingly: "ExCUSE me?? Would you like to add some bad-word catchers too while you're at it?" But as I say, I was j-o-k-i-n-g.