Entries from October 2005 ↓

A New Kind of Company

I recently read Paul Graham’s new essay, What I Did this Summer, which details the Summer Founder’s Program he and a few other tech-wealthy friends recently started founded. They took eight companies, all with founders between 18 and 28 (average age 23) and purchased 5-7% of their “companies” (which were nothing more than ideas) for between $6,000 and $20,000. In addition, the founders were given a ton of guidance with business issues and decision-making. Graham thinks 3-4 of the 8 will succeed.

The article got me thinking about how companies like Google are trying to maintain the feel of a startup as they become mature companies. Startups are signified by innovation, motivated employees, and large rewards for stakeholders. I’m not sure if they’ll be able to hold onto it, but history indicates they have to lose it sooner or later (look at Microsoft, Yahoo!, and Apple).

I’m a huge fan of Google and post regularly on their merits, but it wouldn’t surprise me if a startup comes along in a few years and flips their paradigm upside-down (as they’ve done to Yahoo! and Microsoft) because the startup has motivated people working 90 hour weeks with the hopes of the big payoff. If Google can’t keep people motivated like they are today, it’s inevitable that they will lose their edge. There’s talk that Microsoft isn’t the coolest place to work anymore, probably spawned by the recent exodus of several key Microsoft employees, some of whom left for Google.

So what is it that what makes startups so damn cool, and why can they take a behemoth company to school even though the behemoth outweighs them by billions of dollars?

The bottom line, at least with software startups, is that most programmers are highly motivated by the potential to create something amazing and to make a ton of money. The software entrepreneurs I know wouldn’t want to make a bunch of money in the stock market (an example used by Graham in his article). They want monetary reward, but they want to receive that reward for doing something they love; creating.

So startups are cool because developers are motivated by creating cool stuff and making money, two things startups allow you to do almost exclusively (they definitely aren’t known for the boost to your social life), and motivated developers create software faster, giving them a huge advantage over the larger competitor.

What if someone put a bunch of development teams together who had complementary ideas but not enough money to start companies? In other words, pair the advantages of a startup with the size and capital of a larger organization.

Imagine if Google’s development teams were a handful of smaller startups with bits of seed money and the potential to work together to make stacks of cash? Teams of 2-20 developers that are nearly autonomous, but linked together under a funding umbrella and a collective name, with motivation to work together for mutual benefit (based on the monetary structure of the deal), but also motivated to work their butts off because they’re allowed to keep a huge chunk of the profit their little company generates. Something between an incubator and present-day Google.

It would land somewhere between anarchy and chaos, but would be amazing to watch.

[ Bookmark this post with del.icio.us (What is del.icio.us?) ]
[ Submit to Slashdot ]

Fired for Eating Pizza

One developer was fired for eating pizza, another for using the word “Stupid” in an error message. Read the complete list of preposterous firings (and see who won a Caribbean cruise for the best story) at Simply Fired.

A Catalog of Web Service APIs

wsfinder is a new Wiki devoted to cataloging web services and other public APIs. Each API page contains a list of web applications that use it.

We all know about the basic web service APIs from Google, Amazon and eBay, but as of this writing wsfinder has 101 listings and is growing rapidly (it’s been up for about a month). And, since it’s a Wiki, if you have any information to contribute (including code samples), be sure to post it.

To follow the story of wsfinder, check out their blog here.

Exception Handling Web Service

ExceptionCollection is a public web service that stores exception information. After adding a few lines of code to your application, your exceptions are automatically logged through their web service and viewable via a browser-based interface.

It’s a neat idea, but I can’t figure out what demographic they have in mind. I can’t imagine corporate developers using it due to security implications and the fact that they only store the previous 100 exceptions. Most hobbyists I know are happy sending their exceptions via email.

Maybe they’re just throwing it out there in order to secure a Patent (the website says Patents Pending at the bottom) with plans for something bigger on the horizon.

Extreme Testing

We hired a new QA manager a few weeks ago. He’s a nice guy named Eric and he sits in the cubicle next to mine.

As I was heading out the door the other day he stopped to ask my opinion on a testing approach for a large project his team will begin testing in December. The idea he described is essentially pair testing, along the lines of pair programming, and he mentioned it was a combination of something he did at a previous job and something suggested by our Director of Development, who used to work with Scrum.

Since the project consists of a bunch of applications working together in one ecosystem, it’s going to take a lot of time to run tests on it, and a comparable amount of time just to figure out if the tests are succeeding or failing. The idea is to cut down on QA troubleshooting and data-churning time by having a developer and a tester sit at the same computer and run through tests together.

I’ve read a lot about pair programming but have only done it a handful of times. The concept of pair testing is intriguing because I know how much time our testers spend working on non-testing issues that a developer could likely clear up if they were sitting at the same desk, and I know our code will be more thoroughly tested because of it. That being said, I’m the development lead on the project and I can’t spare a developer for even a few hours right now due to the massive amount of work to do between now and D-day.

It’s quite the conundrum.

The end result: I plan to support the approach on a limited basis until we can measure the benefits and sacrifices that both teams forego to make it work. Obviously we have to get the software written before they can test it, so it will do us no good to pull a developer from a half-finished application to sit with the QA team. But assuming we can eek out the time, something in my gut tells me this is the best way to thoroughly test this beast.

Have you heard of or participated in pair testing? What’s your opinion on whether or not it will benefit both teams (development and QA)?

[ Bookmark this post with del.icio.us (What is del.icio.us?) ]
[ Submit to Slashdot ]

Yahoo! Sports In Print!

On a recent plane ride from Sacramento the guy in front of me was reading hard-copy printouts of Yahoo! Sports articles. Does this strike anyone else as funny?

Meet Writely’s Cousin Zimbra

I linked to Writely a few weeks ago, and recently stumbled upon a related piece of software called Zimbra. Although not a blood relative, Zimbra is essentially Outlook for the web (if you recall, Writely is MS Word for the web).

The interesting thing about Zimbra is that it’s an open source application, whereas Writely is a proprietary, hosted application. Zimbra is available online as a limited demo, but to try out the full version you have to install it on your own servers.

Zimbra worked for me in both IE and Firefox, but was less responsive than I would like, considering it’s meant to replace a desktop application. But these guys have the right idea.

Congratulations to the "Tell Your Friends about Software by Rob" Participants

Thank you to all who participated, and congratulations to those who won copies of Joel on Software:

  • Jeremy of Tahoe, CA
  • David of Milpitas, CA
  • Brett of Broken Arrow, OK
  • Brian of Bethlehem, PA
  • Toji of Kerala, India

Hurry! Participate in .NET 2.0 Web-based Client Beta Exam

Adnan Masood tipped me off to the free .NET 2.0 Web-based client MCP exam:

“Participate in the Free Beta Exam 70-528: Microsoft .NET Framework 2.0-Web-based Client Development

Check your MCP Flash newsletter for details!

Registration begins: October 17, 2005

Beta exam period runs: November 7, 2005 through November 18, 2005

Find exam preparation information.

Beta exams have limited availability (approximately 500 seats worldwide), so please follow the registration information to make your reservation.”

Update: If you’re taking the test on November 8th in Pasadena I will see you there.

Becoming a Better Developer Part 7: The Jigsaw Puzzle

Your company is a massive jigsaw puzzle and each employee is a unique piece. Once a week go to a different department and ask someone to show you what they do. If they use software you’ve written, find out how they use it. If not, find out how they fit into the big picture of your organization.

The more you know about your co-workers, the more you’ll understand the puzzle. The more you understand the puzzle, the more indispensable you become.