Thursday, November 30, 2006

Mauve has the Most RAM

Here's a recent post on the 37signals Job Board. I've seen a number of these postings lately, and I wonder: why would you specify a particular technology or platform when you haven't prototyped (let alone built out) a product yet?

When I've posted ads for jobs at Skip, notwithstanding our existing platform and the advantages of extensive experience in the relevant technologies, I've always emphasized that talent and attitude count way more than a particular language or platform. Experience with core CS concepts and perennial software development patterns/anti-patterns comes next, but is still more important than a platform or framework. Because anyone really talented knows that just as "Java is the new Cobol," .net will someday be the new MFC, and RoR will be the new ... OK, you get the point. And anyone with the proper foundation, inclined to ask the right questions, can learn new frameworks -- even new practices/methodologies (like an agile approach) -- and put them to use.

So why are Web 2.0 founders performing what I would call an extreme and misguided attempt at premature optimization?

First guesses:
  • It's boom time again in the Silly Valley, they've read a Business Week article that talks about platform X, and decided the way to become the next Google is find some X hackers
  • They don't understand the differences between the open source options, but like the idea of open source, so they've picked one... that is, they really mean "I believe open source affords my startup some opportunities or advantages, and I need an architect who is an expert in the relevant options"
  • They asked their geekiest / most successful techie friend, who said, "Just go with X nowadays, don't worry about [insert important but subtle tradeoff here]"
I have another idea: the entrepreneurs have gone a bit behind the hype to get a feel for the practices or philosophy associated the best-known practitioners on that platform. They then imagine that the best way to find folks who subscribe to that philosophy is to decide on the platform, then hire for the platform.

So when someone insists on LAMP, for no particular reason, maybe they really mean they are hoping to engage an engineer or team that embraces agile practices or at least agile concepts. When the entrepreneur has got his mind set on Ruby, he really means "the Ruby way" (least surprise, don't use 200 lines where you could use 10, etc.) If he or she says Ruby on Rails, it probably means get-it-up-quickly, include-some-AJAX, and ActiveRecord-will-do-it-for-now.

These folks would do well to distill out their methodology desires from premature platform commitments that cascade into hiring filters. After all, with the hardware virtualization and bytecode interpreters prevalent (and coming), and web services as de facto server-side object bus, we can do ActiveRecord on .net on Mono on Linux, or Java interoperating with Ruby on OS X, Agile development with IronPython on IIS... There is less reason than ever to close off options before any code has even been written.

7 comments:

Jader Dias said...

Hello, I´m Brazilian
And I want to know what means
"Mauve has the Most RAM"
Maybe it´s a Dilbert Cartoon quote but even in that context I still don´t know the meaning.
Please answer at one of my blogs.

Richard Majece said...

I recommend you to take a look at these advices if you are going to write your NYU essay soon. These are really useful tips

Jim Rhodes said...

I think this post is nice. I want to see more from you in the future.

Momo said...

Ideal Chest Tattoo - https://topnotchtattooing.com/chest-tattoo/ Designs & Style.

Anonymous said...

supreme hoodie
kyrie 5 shoes
kobe
kobe sneakers
GGDB
kobe 9
golden goose sneakers
off white clothing
yeezy
off white hoodie

Anonymous said...

Hope this helps clear things up:
By bradstoneph

Mauve has the most RAM but Black is better for executive applications, a window is good for gaming but apples are good for photoshop.

JacobHarman said...

Whether a vehicle or clothing producer, both require extraordinary programming to plan the item with its exceptional highlights and visual appearance qualities. A furniture configuration organization can make extraordinary textures trimmings and surfaces, plan the mobile pieces of the table or sofa, explore different avenues regarding size and part situation to make a useful and appealing item. The creation of merchandise is introduced mostly in all enterprises including medical services (clinical hardware, clinic extraordinary offices, and gadgets), hardware (tablets, telephones, and different contraptions), and, surprisingly, the magnificence business (characterizing items' size, shape, and different attributes)>> this website