Tuesday, October 18, 2011

Measuring whose software engineering is bigger

My last manager at Microsoft measured engineers by the number of checkins, they did. He said, "I want every engineer to do at least two checkins per day." And I also met a manager, who went even further, saying, "If regular Joe does one checkin per day, then I expect a senior guy to do three and principal (staff, guru, whatever) ten!"

Such a simple arithmetic (or geometric) way to measure seniority: seniority = ln(checkins per day)!

It's almost like 16 years old thinks about sex. "Ok, I am too young, so I have nothing, and older guys with questionable abilities, they'll pull once a month, and some regular Joe would do once a week, and when I grow up, I will be a real stud and I'll do that every day... twice, and three times per day on weekend, and Superman probably did that 10 times a day!"

And only once you start meeting real women, you learn that quality matters much more.

Technically, if you have simple enough project and junior developers, it's probably possible to use metrics like that. Just like 16-years-old metrics on sex may be applicable in a brothel. But with serious work, you may want to check against something more substantial. Ideally, the amount of money brought or saved for the company.

Friday, April 29, 2011

"Verified by Visa"

I cannot stand it. Being responsible for security of several Microsoft products and now working for Google, not the last authority in Internet security, I cannot stand "Verified by Visa" stunt they pull on their customers...

Basically, instead of building another fence, they create another hole. I don't have time to talk in details, let's just quote Internet... Here is what you get by searching for it on Google (quoted verbatim):
  • I can't freaking stand that Verified By Visa crap, and skip it every time I buy...
  • God, I hate this Verified by Visa crap. I run into it about once a year myself when shopping...more hassle for the consumer (me), ...
  • Phishing scams posing as Verified by Visa sites have sprung up ..... the idea of the fraud just annoys the crap out of me and I'm game to ...
  • Verified by Visa: British banks phish their own customers - Boing ...
  • Last year, we were made to implement Verified by Visa and ... If we net out lower because of this crap, we will be seeking compensation. ...
  • Seems like this new "Verified by Visa" is part of a more secure way to shop, in fact its so ****ing secure i cant buy jack shit!
  • Cambridge researchers knock Verified by Visa | Security Threats ...
  • "The technical design of Verified by Visa trains people in appallingly ... its intrusive, abrupt, and scares customers away its just crap. ...
  • RE: WTF is this Verified by Visa crap on Newegg?
  • Verified by VISA is the biggest WTF I've ever seen. ... They call this bull---err, crap online security? Please. ...
  • Trevor Stone's Journal - Dear Visa (A Letter From the Land of ...
  • Allison just went through this verified by visa crap this morning with the end result being a popup that did not work and closing the laptop ...
  • Verified by Visa: bad for security, worse for business | Richard's ...
  • Have you got a story of Verified-by-Visa-induced woe to add to the .... for the crap, annoying, godamn useless verified by visa system to ...

Thursday, April 28, 2011

Biologically, we all start as "assholes"

Кросс-пост с персонального блога

Biologically, we are start as "assholes", but some stay as ones for the rest of their lives...

Let me explain. When an egg starts to divide sometime between 32 and 64 cells it beсomes a small bag -- a little ball of cells with a small hole. Notice, "hole". Imagine some coral or hydra polyps:




In the end, it's simply a bag with a hole. They get water in, and then throw it out leaving any food inside. that's what human fetus is at that stage.

Next, most species add another hole on another end becoming a feeding tube -- the phase of a worm, but at first there is only one hole and that's pretty much all that fetus is.

Now, after that there is a dramatic difference between chordate and everybody below. Those below have a spiral symmetry, so the original hole becomes their mouth. Chordate have bilateral symmetry, and the original hole becomes their... well, asshole. Can I remind you that on the previous stage that's all human fetus is?

Isn't it amazing, how important for a human is self-improvement?

Sunday, April 10, 2011

Pirate’s Grandma

I never thought that this children's song contains so much management wisdom...

Wind fills the sails of brigantine,
Like in an old adage,
And pirate’s grandma’s sending off
Grandson to brigandage.

She packed brass knuckles and a knife,
And bag for loot and gold,
And then, of course, toothpaste and soap,
And fresh eye-patch in fold.

“My little pirate, dear child,
Our breadwinner,
Don’t board ships in vain,
Never skip your dinner.

Don’t visit dens and stashes,
Those guys run amok,
Put a chaser after rum.
For the healthy stomach.

Go from diamonds missing suit,
Don’t be defensive,
Don’t hurt orphans, not for naught -
Ammo is expensive!”
...

Wind fills the sails of brigantine,
Like in an old adage,
And grandson-pirate’s sending off
Grandma to brigandage.

Pardon poor translation from Russian. The original text by Eduard Uspensky. Cross post from my personal site.

Saturday, April 2, 2011

One Feature for Future Operating System...

Long ago operating systems completely missed the idea of “installation”. Setup of each program was completely personal business of that program. Now they became a bit more wise that that, but still featuring that naive liberal-democratic way of how other people treat my hard drive. Which is one of the reasons for the spread of sexually-transmitted... pardon, Internet-downloaded software transmitted computer viruses.

If I’d be asked, I’d say that one feature I want from any future operating system is treating any program, wishing to install on my machine, as a feature, totally encapsulated, with operating system knowing each piece to keep or remove, when I am done with it, and which activates only when it’s needed, and which is deactivated afterward.

Say, SQL Server Personal Edition. On one hand, this is an amazing piece of freely available technology from the world #1 commercial software vendor. On another hand, 90% of the time I am waiting for this piece of crap to start up, when booting my computer, is a total waste, because I don’t actually need it this time.

Is it too much to ask?



Cross-post from http://eldar.com/node/401">the personal blog...

Tuesday, March 29, 2011

How do I change situations in which I cannot work effectively as a professional programmer?

Just got my copy of "Understanding the Professional Programmer" by Gerald Weinberg. Bravo!

"Some of the methods that the professional programmer should be working on are these:

1. What should I do about a program for a well-defined problem that I don't believe should be solved at all?

...

5. How do I work effectively with people whose problems are not well defined, who don't understand as much about computers as I do, who understand more about many other things than I do, and whose motivations are different from mine?

6. How do I change situations in which I cannot work effectively as a professional programmer?

...

9. How do I work on those aspects of my own personality and problem-solving approach that are so personal I can't even see them, even though they may be the most important factor in my effectiveness as a programmer?"

Tuesday, March 15, 2011

Two Developers and Performance Review

Yesterday, two developers (no names) from a large company, which I don’t work for anymore, complained to me about their performance review process.

Both are my friends and both work in the same team under the same manager. One had a new component that he had to rewrite three times. Naturally, testers, PM and he himself filed tons of bugs to track this work. Other developer had reasonably stable component, so he had very few bugs.

Developer #1 was told that while he fixed all the bugs, he simply had too high bug count, and having so many bugs is simply not acceptable!

Developer #2 was told that while he had very few bugs, he also fixed very few bugs, and such low fix rate is simply not acceptable!

Ah-h-h!... Priceless.