Paul Graham is Wrong

In Paul Graham's latest blog post, he voices his support "to make immigration easier" to allow easier hiring of foreign tech workers by using a overly simplistic argument:

The US has less than 5% of the world's population. Which means if the qualities that make someone a great programmer are evenly distributed, 95% of great programmers are born outside the US.

US does rougly has 5% of the world population: 320 million at end of 2014 out of the world's 7.3 billion. But is comparing strict population appropriate? Are rural farming families in China likely to apply for technical jobs in the Us? No.

A better comparison maybe to compare number of college graduates. The data is less accurate, but this gives you a good picture:

The ratio of these numbers are much closer, far less dramatic.

Constrained for Talent, or Cheap Talent?

Graham argues that there are just not enough great programmers to go around and the immigrate programmers are being paid the same:

But if you talk to startups, you find practically every one over a certain size has gone through legal contortions to get programmers into the US, where they then paid them the same as they'd have paid an American.

Personally, I cannot imagine a start up that can affort this type of legal fees are start ups anymore. I would love to see the actual figures that back this argument up.

Immigration is Good

Ironically, I believe immigration reform is good, and it is good not just for the tech world. I like free markets. I like competitions. Within the startup world, I have hired and worked with great programmers all around the world.

But Local is Important

There is a lot to be said for having software developers that understand the local culture and market. To use a reverse example, can a US designer successfully design a UI for the Chinese market without a lot of local help? No.

What to do?

To solve the root of the program, America needs to pay more attention to STEM in school. We need to eliminate the gender gap in engineering. We need to teach more and better maths in elementary schools. Otherwise we are loosing the race to build a great talent pool.

Agile in China: Moving away from the factory worker mentality

The Agile software development mindset requires agile team members to be treated as knowledge workers. In the Chinese context, this may be harder than you think.

Rainy Day Solution, or the Low Cost of Labor

Umbrella Seller in Shanghai Subway Exit

Umbrella Seller in Shanghai Subway Exit

Chinese developers have realatively lower pay than the US. A good developer in Shanghai makes less than half, sometimes a third, of her Boston counterpart. General labor is even cheaper. Let me illustrate with an example:

What do you do when you are caught without an umbrella on your way to work? In Shanghai an Unbrella seller will pop up at each exit. We even joke that we can who is an organized person by looking at people's umbrella at the office. The subway exit umbrellas often have recognizable prints.

In Hong Kong you will not find such vendors. instead you will see umbrella vending machines that accept payment by the HK Octopus card, a stored value smartcard that can be used on public transits, convinent stores and more. The Octopus card is a internationally famous successful technology project.

Hong Kong Subway Unbrella Vending Machine

Hong Kong Subway Unbrella Vending Machine


Overtime Mentality

In many companies overtime ( 加班 ) is not only expected, but budgeted. Often developers are paid for their scheduled overtime. "Work more hours" is the standard answer to any problems. Reminding the reader of the classics, The Mythical Man-Month and Brooke's law: "Adding manpower to a late software project makes it later". Factory work with interchangable workers doing manual work may benefit from overtime. But software development does not.

What to do?

A good agile team needs each team member to take personal responsibility of the work. To prepare for that, management need to respect each team member. Acknowledge each member as a knowledge worker, who needs time to think, and time to recover. This may not be a welcomed idea to traditional bosses, but it must be done.

Stop Whining, Marissa Mayer is right

I agree with Mayer. Stop whining. The media is quick to jump on the band wagon and proclaim Mayer is heading backwards in time. Not true.

  1. Not allowing working from home full time is not the same as inflexible work arrangement
  2. Nothing can substitute for in person communications (read up on Sherry Turkle's work)
  3. Would you rather never see your adult children in person? No more family gatherings for life? I don't think so.
  4. People who claim working from home is more productive is missing the point. Personal productivity is a very narrow measurement of success.
  5. Virtual team has to be built from in person connections

I am all for flexible workplace. Having to work with many different people in different stages of their lives, this is what I do:

  1. allow for flexible work time, but require core time block when everyone is in the office, say 10-3 M-Th
  2. allow people to start the day early and leave early -- great for parents who need to pick up their young children, and start the day late and work late, for the stereotypical techie
  3. allow for a comfortable work place, access to food/drinks/support services and R&R spaces (a given in tech companies)
  4. allow for short Friday's as long as work is done M-Th

Most importantly, stop whining. If you are unwilling to get dressed, commute into the office to work with your peers just because you feel like you work better at home? What else are you unwilling to do?

Power of Social Media in Marketing

Three different personal encounter with social media this week reaffirms how powerful social media can be in marketing and brand building:

Twitter for Customer Support

I use Rackspace to host all our web servers for ourselves and our customers. I was playing with their iPad app one afternoon and found a problem. It is not a mission critical error, so I wrote a tweet to them, something like "Hey @rackspace your iPad app is crashing". Within minutes they tweeted me back, asking me to email them with specifics. Soon they both emailed and tweeted me back with a solution. I was happy. Then to top it off they offer to send me a t-shirt! Honestly I would have been very happy just with the speedy response via twitter.

Twitter for Pre Sale Support

I was looking to buy a small messenger bag from Rickshaw Bags as a gift. I wanted to know if a Kindle Touch would fit in their mini zero bag. The dimensions given on their websites are too close. So I tweeted a question to @rickshawbags. Within minutes they answered, via twitter. I placed the order. During the check out process they asked me for my twitter handle.

Twitter for Post Sales Support

This evening, Rickshaw Bags tweeted out to me, with a little custom poem, a pictures of the bags that I ordered, before they are handed off to FedEx. I know they do the picture thing with their customers, but the emotional impact was far greater, positively, than I expected. Remember the Rickshaw Bags are custom made with hand pick color combinations. So seeing the pictures before they ship is a wonderful way to build the customer relationship. These are the first bags I bought from them. If the bags themselves are as good as they are suppose to be, they have hooked me for good.


This level of customer interaction does require someone monitoring the company twitter stream. But I believe it is sure worth it. What a differentiator and relationship builder.