Mar 15 2009

Smart and Gets Down

When asked about the key traits of new Google hires, Marissa Mayer has repeatably stated the following soundbite: smart and gets things done. This also happens to be title of Joel Spolsky’s book on finding great technical talent.

In Smart and Gets Things Done breaks down how to go about to find, attract, and retain top talent.

A key advice is to be selective, but not just in the people you hire but in how you advertise your job opening. You increase the signal to noise ratio by advertising not in your local Craigslist but on programming sites and forums that attract the sort of developer you are looking for.

To attract top talent, Spolky recommends spending top dollar. Go all out to recruit and impress star programmers. Pick them up in chauffeur cars, put them up in swanky hotels, create a creative atmosphere where people want to work. Every developer in your office should have the no less than two monitors and a Herman MIller Aeron chair. Your office space should ooze kewl, not software sweatshop.

One controversial selection criteria that Spolky advocates is scoring resumes on their English. I tend agree here with Spolky even though I’ve encountered some great programmer that get things done, but just can’t communicate with the rest of the team. Code is not the only form of communication that developer should proficient, written and verbal communication is important in writing specifications, debating designs, cooperating with clients, and ultimately managing other developers.

Another piece of advice handed out by Joel on hiring was to piggy back on other selection process. It helps your selection process if your candidate has proved themselves in other highly competitive situations, like top school, companies, or institutions.

After reading Smart and Gets Things Done, I feel that there is a lot than a soundbite. If I could characterize the traits I like look for in a candidate into a catchy phrase it wouldn’t be so catchy. I tend to seek smart, gets things done, shows passion, and it’s a jerk sort of candidate.

Their is a tight balance of the traits you find important in a candidate and the business needs at hand. Someone that is really smart and get a lot done might just want to rewrite the entire system in Scheme and undermine your management team. To me, ‘gets things done’ means someone that rolls up their sleeves and digs in whether it’s a VBS or bat file or Java program or Python script.

Here are some sample quotes from Smart and Get Things Done:

  • The great software developers, indeed, the best people in every field, are quite simply never on the market. The average great software developer will apply for, total, maybe, four jobs in their entire careers.
  • One good way to snag the great people who are never on the job market is to get them before they even realize there is a job market: when they’re in college.
  • Most programmers aren’t just looking for a gig to pay the rent. They don’t want a “day job”: they want to eel like their work has meaning. They want to identify with their company.
  • Years of experience have taught me that programmers who can communicate their ideas clearly are going to be far, far more effective than programmers who can only really communicate with the compiler.
  • Brilliant programmers who have trouble explaining their ideas just can’t make as much of a contribution.
  • Our company criterion for selective is usually getting into a school or program that accepts less than 30% of its applicants, or working for a company that is known to have a difficult application process, like a whole day of interviews.
  • The entire industry of professional headhunters and recruiters is bizarrely fixated on the simple algorithm of matching candidates to positions by looking for candidates who have the complete list of technology acronyms that the employer happens to be looking for.
  • I always reassure candidates that we are interested in how they go about solving problems, not the actual answers.
  • The Econ 101 manager assumes that everyone is motivated by money, and that the best way to get people to do what you want them to do is to give them financial rewards, and punishments to create incentives.
  • The real trick to management is to make people identify with the goals you’re trying to achieve.

Mar 8 2009

Kindle for iPhone

I’ve am a happy owner of a first generation Amazon Kindle electronic book reader. As a die hard nerdish book worm and early adapter I was immediately in awe of the Kindle. Sure the Kindle has it’s issues but the technology and business model has definitely proved themselves. The Kindle is the size of a paperback and can carry a whole bookshelf, thousand of pages of books without the dead trees and deforestation. The Kindle is small and a perfect size to travel with but its features and capabilities overlap with other small, portable, and mobile devices such as the iPhone and netbooks. Some technology pundits saw the iPhone, with it’s high resolution and elegant design, as a direct competitor to the Kindle. I’ve personally been questioned as to why I carry both devices.

I’ve been using the iPhone since it first came out and love browsing and reading websites on it. But I have found reading PDF documents on the iPhone difficult and awkward at times. The default PDF reader on the iPhone is slow and I have had it crash when loading large PDF documents. To help alleviate the pain points of reading large documents on the iPhone, Amazon has recently released Kindle for iPhone.

Kindle for iPhone allows iPhone users to read Kindle edition electronic books previously purchased on Amazon. Once you download, install, and configured Kindle for iPhone with your Amazon user information, you can download, sync, and purchase Kindle books. Kindle for iPhone uses a technology Amazon calls Whispersync to synchronized the last page read between your iPhone and Kindle devices. With Whispersync you can switch devices without skipping a page or a beat. Unfortunately I was not able to sync my notes and marks between devices and I do hope that feature is in the works. I’ve been using the Kindle for iPhone application while standing in line for lunch when all I have is my wallet and my phone. For long periods of reading, I prefer the electronic ink on the Kindle, as reading for a while on the iPhone can tire your eyes.

Kindle for iPhone is a smart power play by Amazon, and a kewl opportunity for Kindle users to access their content in new devices. What technology pundits saw as competition, Amazon saw as opportunity. Amazon’s Kindle for iPhone application uses the iPhone application marketplace to promote it’s own electronic book marketplace.

In full disclosure, I downloaded but never used the iPhone application Stanza. Stanza allows you to purchase popular books in digital formats. Stanza supports ePub, eReader, PDF, Mobipocket, and MS Reader books.

On last note. If you are using a first generation Kindle, don’t forget to upgrade your firmware. As of this writing, the most current Kindle software version is 1.2.


Mar 2 2009

Retweets February 2009

From time to time I just blast tweets about software development, project planning, team dynamics, or whatever else comes to mind. Here is a synopsis of recent tweets and rants.

Programming

  • JavaFX Script is a zig zag cross between Java class system, JavaScript vars, XML declerativeness, Groovy Builders, and Ruby duck typing.
  • JavaFX Script has multiple inheritance and the extends keyword is overloaded to mean implements too.
  • Tread.sleep(UNTIL_TOMORROW)
  • Some software developers don’t know how to develop end-user focused application so they overcompensate and write an enterprise application.
  • One of the pillars of Ruby on Rails is convention over configuration, but it is not always backward compatible.
  • Codepath Uncertainty Principle: Debugging, and often times logging, code can change it’s behavior.
  • Current development meme: Jeff Atwood (@codinghorror) is wrong!
  • Running Find Bugs plugin for Eclipse… An out of memory error occurred, you think it found any bugs?
  • The most recommended fixes from Find Bugs are inefficient obj creation of nums and bools, and !static inner classes, !final static fields
  • I’m a programmer not a short order cook, scrambling bits is not the same as scrambling eggs.
  • The most common bug, next to null pointers and objects, is not escaping special characters from XML, SQL, strings, or expression languages.
  • Autoboxing an object reference to a primitive can cause NullPointerException that are hard to track down.
  • In the zone, in the machine, in the debugger, in the code looking out my window and thinking I rather be outside!
  • There will be blood, there will be bugs.
  • Can’t sleep so i’m hacking memories into dreams, counting tweets instead of sheeps, drinking tequila instead of warm milk.
  • Instead of counting backwards, a good sobriety test for a nerd is to recite the Fibonacci sequence or prime numbers or powers of two.
  • Haven’t seen a version control do a good job of with renaming/moving a file. At best they delete old and add new file without the history.
  • Each dev here wears too many proverbial hats, it often feels like we are a team of one man bands mixing it up with too many cooks.
  • “It’s snowing in NY and server is freezing to death!”

Business

  • Some entrepreneurs don’t know how to bootstrap a profitable business so they fund venture backed corporations.
  • Some productivity metrics seem like modern alchemy and pseudo science for dogmatic middle manager to put in powerpoints slides and charts.
  • I want to do the software startup version of Hell’s Kitchen… you donkey.
  • User Generated Content is one way to have users do work for sub minimum wage/free.
  • If you’re running a web service whose sign up page asks for birthday, you best be prepared to send me a birthday gift.
  • Companies should not require paying customers to sign up or register to use all features of a product or received upgrades.
  • Just because a store is going out of business is no reason for false advertisement.
  • Eventually everyone sells out, if not to the establishment then to the anti-establishment.
  • Will Open Source apps, like Open Office and GIMP, gain more traction in a down market? Will Open Source contribution retract?
  • Asking five questions get you closer to the truth than merely asking one, and yet most people don’t ask questions, they demand answers.
  • You don’t want your boss to speculate that you are dead.
  • Sometimes you have to rethink the problem, other times you have to retool the solution.
  • For the average commuter in our office, working from home can save about $20 (gas, toll, wear & tear, food) and 1.5 hours travel time a day.
  • Companies should get a tax incentive for having employees work from home.
  • Is the bailout a new liquidity event? Some bankers are using the bailout to cash out.

Products

  • The Flip is a point and shoot sort of camcorder.
  • I wish my life would upgrade every year just like iLife.
  • The game Age of Empires or Monopoly should come out with a social media version.
  • Spammers are the terrorist of my inbox. I wish that instead of ‘delete’ the spam GMail provide the option to bomb, rip, shread, incenerate
  • The problem of drawing a great piece of art with the Pulse Smartpen is that if you forget to turn it on you have to draw it all over again.
  • Looking at my iPhone properties, it says I have taken 10,487 pictures.
  • Vista needs to warm up on start up just like my old ’69 skylark, I need to let it run for like 10 minutes before I can get up and going.
  • Wii Fit is brutally honest
  • If Microsoft is the new IBM, then is Google the old Microsoft?
  • Just spoke with Amazon customer support for the nth time, they still don’t got my white Google phone in stock. Been waiting for a month++.
  • Huge food lines at costco, you’ve think it was a soup kitchen…
  • I wish the funnies of my Sunday edition of the local newspaper had a syndication of LOLcatz.
  • Publisher not in Action: If Manning Publications makes available PDF versions of their books, why don’t they have Kindle editions?
  • Why would anybody buy a technical book from the publishers own website when Amazon undersells them anywhere from 15% to 30%?
  • Since when does Amazon charge for a restocking fee?
  • If Apple power adapter cost nearly $80, I don’t think Apple will come out with a sub $300 netbook.
  • Playing Portal, I think I have two more levels to go. It’s very addictive, I want to keep going but I need to teleport to tomorrow.

Interview Obstacle Course

  • Just helped a super senior software engineer how to change the printer ink cartridge. How did this guy get through our vetting process?
  • Maybe the interview/hiring process should include some hands on, live technical trouble shooting obstacle course.
  • How can a self respecting engineer not know how to change the printer ink cartridge, get the coffee machine going, or read a python script?

Mar 1 2009

The Rubyist: February 2009 Edition

Here is a recap of the top Ruby-related links for the month of February 2009. Links for The Rubyist are provided by A Rubyist Railstastic Adventure, a tumblelog.

Ruby

Rails

Rails Caching and Scaling

JRuby


Feb 28 2009

The Dead or Alive Coworker

Here is some simple piece of advice, don’t give your boss any reason to speculate that you are dead. If you are coming down with a fever, or some other form of illness, be sure your manager is fully aware of your condition and give constant updates. Do not disappear for a week where your last communication is an email that reads ‘Coming down with something, not coming in.’ Either with your iPhone, XBox Live, email, or other form of communication you can modify your team of your condition, what ever it be, I mean you can even have your LOLcat dial for you if need be.

Recently we all where worried about a fellow coworker that had not shown up to work for more over a week. His last email to his manager was that he was coming down with some fever. To ease our concern we had an office pool as to what happened to him. Here are some of the options we bet on…

  • He won the lottery and went to Hawaii
  • He is was clawed to death by his cats.
  • He is playing WoW.
  • He found another job and forgot to give his two week notice.
  • He re-enlisted and is stop loss in Iraq.
  • He feel and could not get up.
  • He went down to Mexico and got kidnapped by the cartels.
  • He went fishing at the bottom of the lake.

Feb 26 2009

Connect with Folks in Google, Sun, Yahoo, and Microsoft via Twitter

I just noticed that Google has an official Twitter account. This seemed surprising since Google bought micro blogging and Twitter competitor Jaiku in 2007 for an undisclosed ton of money. As it turns out, Jaiku whither away from lack of sunshine and corporate attention while during the same time Twitter has flourish into a vibrant community.

The second pleasant surprise was that there are many Google projects with their own Twitter account. Video and content producers might be interested in YouTube and Blogger updates but software developers might be interested in the App Engine or Google IO tweets.

Here are a list of Twitter accounts for different projects in Google, Sun, Yahoo, and Microsoft. I am sure that some of these accounts are officially bless by corporate PR minions while others seem to be manned by development staff from their respective projects.

Google

Sun

Yahoo

Microsoft

You can always connect with me Twitter., just befriend me and say hi.