Friday, February 27, 2009

Start acting like a startup or call yourself something else.

What's the startup scene? How close is your company to the norm? What the hell is the norm?

Everyone likes to think they have the best people, the best vision, at exactly the best time to implement.

This opportunistic attitude drives things forward, it's great and is to be expected. But think seriously, is your startup working like that anymore, or are you coasting along burning through VC money and hence indirectly your equity share?

You get an image of a group of hackers sitting in a dimly lit room, all wearing headphones, chomping pizza, slurping mountain view and working crazy 18 hour days trying to get a release out.

This is not always how it is. For a lot of funded startups, they have nice office, nice equipment, reasonably salary and if they're lucky.. snacks and free lunches (well maybe not now).

They go out for long lunches every now and then and shoot the breeze near the snack food area. Everyone seems to have lots of time to goof off, rss/web-surf and talk BS about politics for a great deal of time during the day. Does that sound familiar?

What I'm saying is that a lot of so called 'startups' have lost their startup edge and have become 'small companies'. Wow that's a horrible description of something that started out soo well.

They still call it a 'startup' however, to sound cool and hip, but in reality it's not. It's an excuse for not having a good business plan and focusing on generating revenue.

What's that I hear you say? your focusing on 'market share' rather than 'revenue'. Does that mean that you don't work your balls off anymore?

I'm always curious what the engineer to non-engineer ratio is. (Is there a hip term for this? Please let me know). It generally starts out well, with just a group of around 5-6 crazy engineers knocking out some real cool shit. I love this part of the company.

Then the employee count hockey sticks (note I didn't say traffic) and everything turns to syrup. Stuff takes forever to get sorted out as everyone needs to justify their paycheck by having an opinion. WTF happened? Why are people always in meeting talking about strategy stuff that somehow never gets done.

I would love to know how google operates now that they're a little more.. mmhh mature? I've always had the impression that it was engineering driven. If so, I respect that.

I think that general idea is that everyone gets paid less than market rate and takes equity instead. What I hear is that most startups are very tight with their equity and pay reasonable salaries. One round of VC funding can cause an equity dilution of 1/2 - 1/3. Multiple rounds can mean employees are caring less and less about the company. What's in it for them?

This is going to sound crazy, but I've thought that rather than options being given out by the company, companies would be more driven if their employees had to buy them.

i.e. Each year everyone has to give the company $15,000 (??) to get their yearly stock. If you don't buy them you don't have a voice. Wouldn't you have paid to be able to work when google was around 20 people? I know I would have.

I think this would radically change the dynamics of the company. People wouldn't spend 4 hour meetings talking about stuff that never gets done, the CEO wouldn't micromanage everything and go to meetings on what the colour/text of web forms should be.

Is the existing equity model working or should there be another approach.

Time for WEBquity 3.0?

Friendfeeds use of mysql

I'm not a super big fan of the database, mainly because I'm an OO guy and RDBMS is clunky when doing O-R mapping. Before you start flapping, I've worked a lot with them and they are definitely useful!

Anyways.. I was reading an interesting article about how FriendFeed are using MySQL, but not in the traditional schema-heavy approach.

At my last place, adding a column or index to an existing MySQL database can take a LONG time if you have say 10M rows. To prevent your database being offline (which usually means your main webapp being offline as well), you have to starting using db-slaves and then doing a swaparoo. uuggh

FriendFeed uses a schema-less attitude to MySQL and uses tables as a key-value stores. It's kinda what you would have to do if your datastore was on Amazons S3 (before you had all these fancy shmancy products like SimpleDB and Persistent storage).

They have separate tables for *each* index, which prevents table lock up. Keeping all that data in sync when doing writes becomes a PITA, but its manageable.

It's a nice approach. I've implemented something similar, a key-store schema-less solution as well, but didn't have the scaling problems that forced me to think about using indexes in MySQL.

Thursday, February 19, 2009

Credit Crisis Explanation

It's hard to explain how the whole financial mess we're in got started.

This great video does a very good job of explaining the credit crisis.