Rave


White Board

After dozen of interviews I’ve come to the conclusion that it is not legal to enjoy interviews. It leads to frustration, disappointment, evil loads of paperworks, and the birth of a black hole.

I’ll get straight to the point.

There are times when you meet a reputable candidate. The kind that claims to be able to write in 5 different languages (one of it is Klingon), a little hubris on the technical end with some sweet gravy when it comes to economic sense, but insist that it only takes one byte to store a pointer! Just where in the world did you get your degree from?

I was about to close a deal one time, and this chap seemed like a nice kid. He talked about his church, his grandmother, and how hard he works in his present job despite being underpaid. Then I asked the magic question: “Can you work late and occasionally travel around the region?”, to which he replied, “I got to be home by six to feed my dog.”

Another example. I interviewed this girl that seems to have it all; the brain, the looks, the brawls. She’s any typical male geek dream girl. The cutest moment was when she said, “If I don’t get this job, I probably won’t be applying anywhere else.” Hiring her would probably mean distraction for most programmers and would lead to productivity breakdown. But she got hired, performed her duties, and excelled in her own domain. The decisions that an interviewer has to make gets tougher everyday.

So they’re not all bad encounters with the Darwin-kind. If humans are indeed God’s big budget sequel to the monkeys, they ought to be endowed with something more than just charisma to make up for their inability to walk around naked and carefree among their own species. It’s so important that it distinguishes us from apes in pants. Ready for it? It’s called a brain.

I’m looking for someone who can deliver codes, not just copy it from the Internet. I want someone with enough initiative to learn new skills without being told. I need someone to get off their programming seat once in a while and ask the other guys whether they have a need for new tools or complex solutions. And then code it!

So here’s what I’m concluding: Try not to interview experienced programmers. If they’re on the job market, the chances that they’re worthless is 70% (a figure plucked from the wind) of the time. Good programmers are usually harvested fresh from colleges and do not remain on job market often because they have a goal of where they want to work. And they’re usually well taken care of by their employers too.

If you really have to interview experienced candidates, do it first over the phone. This will save your time and theirs. Try to gauge whether this guy or girl is really the material he or she claims he or she is by asking down to earth technical questions. If that works out all right, then call the candidate for a face-to-face interview.

Real programmers are not intimidated by hard facts. They love statistics and raw codes.

Personally I enjoy hiring fresh graduates more. They can be trained and they’re always eager to please, which leads to them taking more initiative than their experienced peers.

There’s this tale about a senior engineer and a newcomer. The senior engineer was given a task and said it can’t be done. The newcomer on the other hand, has no previous experience to say it can’t be done, so he just took it and worked on it. And he did it!

A lesson out of interviewing programmers is the same old sound wisdom our K12 teachers taught us: Do not judge a book by it’s cover. I’d say, do not judge a candidate by their talk but by their codes.

Lesson learned.

White Board

For the past couple of weeks, I’ve been slacking a few hours here and there from my duty as a Product Manager to a more mundane, less-appreciated, mind-numbing task. Namely, writing great software that actually works.

Cubicle dwellers are usually ranked in hierarchy by their geographical floor plan. The bigger your desk is, the higher you rank in importance. On a normal day I’d be running from my slightly bigger desk from one end of the office to the other end at top speed. Think of a cat running back and forth on a newly waxed slippery floor. It’s just a fun thing to do.

It wouldn’t be long before Human Resource starts putting up a sign that says “Walk, do not run” but that’s not due until the first casualty occurs. Most likely one that involves a cup of hot coffee on a deserving crotch.

Great office environment is almost non-existent in most software companies. They tend to treat programmers like factory workers on a production line, and for most part the people they hired deserves to be treated that way because they’re the below average developers whom only take instructions. Software companies like these have a philosophy that they only need 2% of employees to be brilliant and the rest are, well, code monkeys that feed on bananas and can be trained to perform tricks but not come up with a better one.

In my elite team, I tend to filter people out throughly. My colleagues tend to disagree because they say my standards are too high, but that depends where their benchmark is coming from. They took 7 years to figure out that they need a log file on the TCP/IP modules while I figured that out 7 years ago and actually implemented them.

It gets worse. When I called a meeting to plan out improvements on our documents and technical design, they said I can’t do that because then the other teams would clearly be seen left out and our customers would make unsatisfactory remarks on the quality distinction between modules. Guess what guys, that already happened and no one was harmed in the process. If anything, it should stir competition and desire to become better, not quench their spirit unless they’re genetically defective or a supporter of a Democrat bill for that sort of thing.

Which gets me back to talking about running in the office hallway. It’s an expression of freedom. In an office where great programmers, deserving prima donnas who should have been treated to a private working space behind a closed door, companies like these thinks that all programmers are equally monkeys that love to socialize.

For most part, I don’t blame them. There are too many pretenders; prima donnas wannabe that have tarnished the reputation of these authentic coders of codes that actually works. They claim credit to works that they copied from the Internet and whenever it breaks they usually blame it on a third-party, buying their time to fix a problem that would take a mere 10 minutes to fix if it weren’t for their stealthy incompetence.

Just this past week I had to steal (corporate espionage is one of my skills) a nebulous source code from a different team (where they refused to show their codes) to convince them where they’ve gone wrong.

Granted, some people are smart but they’re just no good at programming. They’d be better of doing something else, like management or marketing or taking the trash out but the problem is that these are weasel-proned jobs, and weasels are plenty in the programmer’s department since the Internet boom. Not all weasels get a promotion, and incompetence usually goes unpunished. Which also means competence is hardly recognized.

Good programmers are hard to find, and those that I have in my team, are the ones that I want to keep. They work great on their own without supervision, and I allow them to take sometime off from official tasks to work on something they like; RCP and GEF, for example. In the long run, it pays off because they work on acquiring new skills themselves.

While the office space may be beyond my control, I grant freedom to those that write excellent codes in the same way my VP says nothing about my deadly high-speed running around the office while humming Smurf tunes.

Haagen Daz

Life should be more like Haagen Daz, different experience everyday but nonetheless sweet like ice cream; or like Starbucks ice blended drink or lemon meringue pie. Although at some point it would probably taste like diabetic causing stuff, but it takes a while.

I’m blessed with a good surveillance, and by that I mean last week I was given an executive advise to stay at home and not come into office for the day to avoid getting more unnecessary work. How many people get that kind of career tipoff? Not very many I would think.

For most part, it leaves me enough room to do things right at home. Any hardworking software developer can be a good coder, but to be great, one has to be lazy.

A piece of code written light and reusable goes a long way. And it would only be sweeter if you treat codes like a game of puzzle. This is how I wish to end up like some day.

Lazy Lily

Simplicity and elegance in codes seems to be a thing of the past nowadays. Couple of weeks ago I was in Singapore trying to fix a broken DES algorithm. Sad thing is, not only the DES was broken, the simplest XOR function wasn’t working.

Makes me wonder how those kids graduated with an IT degree.

Close to a month ago we had an Australian business partner came down to one of our project sites. I don’t know if he have any angst towards Stingrays (*cough* Steve *cough*) but he flew home pretty pissed. Probably because some idiot on our side didn’t know what database indexing was when they accused his product of being performance defective.

Yes, their incompetence frustrates me, but as long as it’s none of my own team members, the sun is warm and the grass is green.

I’ve learned that there is no use getting all excited and pumped up of every idiosyncrasies and shenanigans that drops by my cubicle.

On Haagen Daz scale, yesterday might be a Chocolate and today could be Butter Pecan. Tomorrow could be Strawberry Sorbet, who knows? If I start thinking Haagen Daz, then life would be sweeter.

Ladies

Really, I have no clue why I’m writing this post. My iPod screen is dead, I had to send my digital camera for repairs, and my Macbook PMU is kaput. Yet I’m trying to believe that out of all these incidents, something still serves me right.

The fool is known by his multitude of words. I should stop raving now and have a Haagen Daz while it remans sweet.

« Previous PageNext Page »