In my last node, I mentioned that I've been asked to take on the task of building a replacement portal to help alleviate the monopoly strain on a group of several thousand commercial developers in a very niche market.

60% of their revenue is being skimmed off the top by the web-based software listing site they are all using, and they're frustrated with the abuse, but unfortunately this monopoly represents a good percentage of their sales, so its inevitable that they continue to use it... until something better comes along.

Enter my involvement...

As with any project of that size and scope, picking the right talent to help deliver that vision is vital.

Unfortunately based on recent feature requests, that talent lies beyond my current skillset, so I need to hire a team to help me build it. I need high-quality Perl coders that can crank out efficient, scalable code under some pretty aggressive (but realistic) deadlines. I'll be managing the team of developers and communicating the overall feature list and vision to them.

I've checked Rent-a-Coder and Guru, but there isn't much there that I can use to validate the skills of the coders there (and many of them are going to be 10 timezones away speaking an entirely different language than me, if I hire from there). Language barriers tend to make communicating accurate goals and deliverables very difficult.

These coders may be called upon time and time again (paid well, of course) to add a quick feature or fix a bug as they arise.

What's the best way to hire Perl talent, in a way that doesn't expose the project's goals to the public, and also in a way that guarantees scalable, high-quality, maintainable code? How do you interview a coder you will probably never meet? How can you verify their skills and portfolio? Any insight and ideas you can provide would be helpful.

Replies are listed 'Best First'.
Re: Hiring Perl Talent, Hiring Perl Monks
by brian_d_foy (Abbot) on May 03, 2005 at 03:08 UTC

    Hire people who come with recommendations from people who you trust or have a well-known good reputation in the community.

    Give people you haven't personally worked with small tasks before you give them big tasks.

    Supervise the work so you don't get to the end and realize it's all crap you don't want. I'm not against off-shoring work, but if you can't talk to the developers, you're setting yourself up for failure.

    Don't hire primarily based on price. Lowest bidders usually make you end up hiring someone else anyway.

    --
    brian d foy <brian@stonehenge.com>
      I agree with brian. It will require some good project management on your part, but if you have a good design you should be able to break off some smaller tasks and give them to prospectives on a trial basis. Spec the tasks out fully and make it clear what you want. For example, code it and provide tests to demonstrate it works.

      You didn't mention whether it was hourly or piece-work. If hourly, you get a feel for how much time it took them when they report back. Piece-work is where you set an estimated hour value or dollar value for a feature and the coder does the work for that amount. This can be tough when estimating, and you may need to be prepared to be fair if a task ends up being bigger than expected.

      Having many smaller, defined tasks also allows you to pursue a few coders. If one or two don't work out, you still have some people working. When you get to the final integration, which can be the tough part, you'll know who you are getting the best work from.

      Also, if you know what frameworks you are going to use to build it (what modules) that can help. Sometimes the module authors themselves are contractors, so you can literally get the expert in a particular module or technology working on your project. This has the advantage that they can add features to their module if you really need them.

Re: Hiring Perl Talent, Hiring Perl Monks
by Tanktalus (Canon) on May 02, 2005 at 23:12 UTC

    Hiring any talent is usually done without exposing the goals of a project to someone - you may just need to expose the tools.

    Interviewing by phone has not been any different than interviewing in person, in my experience. Except that I don't need to wear a suit. Come up with your questions, ask them, and then roll the dice. Same as normal. ;-)

    You obviously cannot ask them to provide code on the spot. But, if you get them to email their portfolio to you, you have much more luxury outside of the interview than inside anyway.

    And I think there's someone here who is offering a list of interested monks to contract work, which sounds like what you're looking for. That may be a place to look - you can view their contributions to perlmonks prior to interviews to see what you think of their skill without even mentioning the word "interview".

Re: Hiring Perl Talent, Hiring Perl Monks
by revdiablo (Prior) on May 03, 2005 at 00:13 UTC

    I have seen http://jobs.perl.org mentioned before, and while I can't say anything directly about its quality or usefulness, it should be worth a look.

      I was able to line up 3 interviews in New York City via jobs.perl.org, but that was New York City, and the company who's offer i accepted had their listing from monster.com. I think a very important factor is simply time ... take the time to find the right fit, if you have that time.

      jeffa

      L-LL-L--L-LL-L--L-LL-L--
      -R--R-RR-R--R-RR-R--R-RR
      B--B--B--B--B--B--B--B--
      H---H---H---H---H---H---
      (the triplet paradiddle with high-hat)
      
Re: Hiring Perl Talent, Hiring Perl Monks
by jacques (Priest) on May 02, 2005 at 23:18 UTC
    Sounds like a sneaky job ad to me.

    (And a bad one, too. Who want to work for someone who thinks that Rent-a-Coder is the only place to find talent?)

Re: Hiring Perl Talent, Hiring Perl Monks
by JanneVee (Friar) on May 03, 2005 at 15:38 UTC

    Well my question is how much experience do you have of managing projects and developers? It sounds like you are stating the obvious in many parts of it and also I see a few "premature optimizations".

      "Well my question is how much experience do you have of managing projects and developers?"

      Managing developers across various countries is exactly what I do best in the Free Software community... but I know their talents very well because most of their prior work is openly available for review and audit, and can task them where they best fit. That side of the PM is no problem.

      Not knowing where to start, what developers are good/bad, and how to break this up (in terms of cost and deadlines) is my blocker at the moment. Can a good coder do it in a weekend, and not follow my guidelines? Sure. Can a "poor" coder do it exactly how I describe, but take a month longer? Sure.

      I need to find that balance, and rather quickly unfortunately. I'm breaking up the features and the technologies that are required over the next couple of weeks, so I should have a better idea of what is required by then.

        Yeah, but as I see that is not the only problem. As I see it you are trying to reach perfection immediatly. The trick here narrow the scope a little and what is the absolute requirements for success and what requirements are for perfection. You are looking into this problem with "We need to do this fast, there should be no bugs and it should also be easy to make faster(or keep performance) by adding X! oooh did I mention that it should be easy to maintain? Because bugs will occur, it does not always work faster(or keep performance) when you add X and we should also be ready to add feature Y within the deadline because we missed it when we started."

        IMHO you need to focus on people that can produce maintainable code first, because out of that the individiuals in the team can derive high-quality and scalable code.

        Also you can't do anything about the quality of the code if you don't know where quality lacks and you can't do anything to the scalability and performance of the code if you don't know where these issues are. And you'll have no chance of fixing them if the maintainability of the code lacks.

Re: Hiring Perl Talent, Hiring Perl Monks
by samizdat (Vicar) on May 03, 2005 at 18:47 UTC
    You're probably better off using a group that is already successful using overseas talent. My company has been working with Ukrainians, Russians and Lithuanians for 6 years now, and we have been burned a few times (though not terminally!). I find that their English is usually better than that of the average HS grad here (US), and their coding skills are usually quite good. As a matter of fact, one of my two primaries is far better than I am, and could probably crack Fort Knox (were there anything to steal there any more!). He's just 26 years old. The major difference is that over there, guys are HUNGRY, and that's both good and bad. I talked to Alex for six months on freebsd lists before we even started talking about me hiring him and his brother. They've become some of my best friends, even though I've never met them in person, and we're sponsoring them both to come here -- the first arrives in ten days from today -- and they've earned everything we can give them, including a piece of the company.

    All that said, there are lots of people here who are hungry, too, and I know a few telecommuters from New Hampshire who are TOP rate {PHP|Perl} coders looking for work. I'm sure you can find some, too. I'd recommend you use this kind of talent to manage overseas coders, unless it's a small enough operation that you can do it yourself (as I did).

    The key is to be careful, in either case. Either option has perils and strong points. I have been very satisfied with my overseas coders, in the main, but it's been because I was careful in who I put to work on what code, and who I gave access to the keys to the gates. The good ones have done me far more good than the bad (or nasty) ones have harmed me. Once, I had to do a whole db-automation site project on a weekend, and another script kiddie targetted me with his SPAM-blaster, but those have been rare blots in a very pretty picture.
      You mean in Homerville, GA? Education quality varies greatly accross US.
        Careful, my grandfather was from Homerville! ;-) Not much to see (or do) there, but Jimmy's Barbecue is the best around.