Pioneers vs. Planners

20 Feb 2007

Ryan Carson has a post about why you should ditch your freelancer. Having recently joined the ranks of full-time freelancers, I read his thoughts with some interest. Courtenay had something to say about it as well. There’s a little something missing from the discussion, though, and that’s the concept of Pioneers vs. Planners.

When you are creating a new product, or a significant revision of a product, you need developers who are Pioneers. These are developers who enjoy tackling new problems, are good at translating ideas (often more nebulous than detailed requirements) and business processes into code, deal with ambiguity fairly well, and basically can be given a rough direction and be expected to find a way to the correct destination. Pioneers are the ones you want to have on board to help you build your next big thing.

When your development efforts are spent more on bug fixes, small feature additions, and maintaining your product, you need City Planners. These developers are good at following and extending what’s been done before, enjoy the puzzle of figuring out what an application actually does vs. what it’s supposed to do, and thrive on having a specific set of instructions to delineate exactly what is to be done. City Planners are the developers you need to help keep things going smoothly.

Some developers are good at (and/or enjoy being) both Pioneers and Planners. Most aren’t. Most prefer one of the two roles, and have to move out of their preferred work environment to take on the other role. As an aside, this is often what you see at startups when the original developers start leaving the company — from their point of view, all the fun, new projects get replaced with boring maintenance work.

It’s entirely possible that the freelancers with whom Ryan worked had other clients competing for their time or they simply weren’t reliable for long-term work. It’s also possible (and I’d say, likely) that he hired Pioneers to build his apps and then expected those Pioneers to become Planners when it suited his needs. When that didn’t work out, he went and found Planners (maintenance developers) in the form of an offshore team. I’d wager that the next time he has an idea for a brand new application, he’ll find he again wants some of those expensive and talented developers to build it for him.

As a Pioneer myself, this suits me just fine. Feel free to keep sending me fun, new projects that need that talent to be successful. When your project gets to maintenance mode, I’ll be happy to help advise you when you are ready to start looking for some Planners.



New project underway

15 Feb 2007

A week ago I had an idea for a new product to work on in the hours I’m not doing freelance work. If you’re a small business hiring people, I’ll have something that may interest you pretty soon. Of course, it’s a Rails app. :)



Scoping finds in your controllers

7 Feb 2007

Here’s a fun one that’s been discussed a little bit here and there. One scenario I encounter pretty regularly is needing to have two different ways to load data from a controller action:

  1. Load all data (a list of orders, let’s say) when the user loading the action is an admin
  2. Load a subset of data (a list of just one user’s orders) when the user loading the action is not an admin

There are a few ways you can handle this scenario, but here’s my favorite way (for the time being, at least):


class OrdersController < ApplicationController

def index
@orders = order_finder.find(:all, :order => 'name')
end

protected

def order_finder
current_user.admin? ? Order : current_user.orders
end
end

This is a simplified snippet, but it demonstrates an easy way to change the data being pulled out based on who is using the application. And for no extra charge you can still keep your controller code lean and mean. :)



RailsConf 2007 Meetup

2 Feb 2007

Just a reminder, now that “RailsConf registration”:https://conferences.oreillynet.com/pub/w/51/register.html is now open… don’t forget to create your account at the “RailsConf 2007 Meetup”:http://railsconf2007.conferencemeetup.com site. The password is “chunky bacon”.

Update:

If you created your account before today, go back and update your profile to add URLs for your site and your feed, if you have them.



10,000 Rails developers

2 Feb 2007

I was just reviewing the Google Analytics stats for the month of January for AgileWebDevelopment.com, the home of the Rails plugin directory, and saw some interesting numbers.

The number of “absolute unique visitors” for the month was 12,295. Those visitors logged 22,814 visits and 75,890 page views.

I would guess that AWD isn’t necessarily one of the first sites you would see when you are just casually gathering info about Rails, but instead probably gets most of its visits from people who are actually using Rails. If that guess is true, then I’ll also guess there’s about 10,000 Rails developers out there (discounting the 12,295 number a bit for cases like one person at multiple computers, casual browsers who found the site but aren’t using Rails, etc.). That’s cool.