Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

typical contractor rates / outsourcing

by blahblahblah (Priest)
on Jul 22, 2008 at 04:42 UTC ( [id://699206]=perlmeditation: print w/replies, xml ) Need Help??

Our department has traditionally hired full-time, on-site perl developers: we're up to almost 10 working on our app. Lately we're unable to keep up with the demand from increased sales to larger and larger customers, and that pace is not looking to slow anytime soon. My new boss is looking for ways to meet our needs without breaking the budget or permanantly swelling the department, and he asked my opinion on hiring short-term help from a foreign development shop.

My gut reaction was to wonder if it will help at all. Will this foreign shop have skilled perl programmers available? How much will the language barrier slow things down? I wonder if it would be better to hire half as many contractors locally and be more confident in what we're getting from them. He suggested I research these things, specifically what's the going rate locally.

So I have two separate-but-related questions loaded into this meditation:

1. Does anyone know what the going rate is for contract work in the U.S.? Can a few people share what their own rate is? Ideally the person would be at least an intermediate perl programmer, and would work on-site in north-central NJ. The work is on a large web app, and is roughly 80% perl, 20% html & javascript. The contract would likely be budgeted to last a year or two.

2. Does anyone have experience outsourcing parts of a large Perl project overseas? I can't even begin to picture how that would work without requiring a lot of extra hands-on management -- which would mean that our existing developers spend much less of their own time developing. I wonder if the whole process might even be an overall drain on our department. But I have no experience in this area, and my boss has had some success with other teams doing it (albeit on a completely different and much younger project in a more "common" language).

I'm still not sure where I stand on #2. My boss has assured me that this would be in addition to whatever budget we can get for hiring more full-time developers, but I'm still not sure that having a few extra possibly-very-needy developers would be a worthwhile addition to our efforts. (I should also probably mention the fact that our app is over 10 years old, and has quite a few messy, undocumented, tangled bits of code and design. So the learning curve is steep, and there are not too many projects that are completely neat and self-contained.)

... (Skimming a few recent months' posts on jobs.perl.org, I see that the majority of posts don't include salary info. The ones that do range from $11 up to $60 per hour, and I don't know how realistic it is to look at unfilled, 3-month-old job posts as my only real example numbers.)

Replies are listed 'Best First'.
Re: typical contractor rates / outsourcing
by Your Mother (Archbishop) on Jul 22, 2008 at 06:45 UTC
    Does anyone know what the going rate is for contract work in the U.S.? The work is on a large web app, and is roughly 80% perl, 20% html & javascript.

    This is basically my Venn. For long term contracts I've been paid anywhere between $30-$65/hour (on site and telecommute at both ends of the range) and I've seen other contractors around me making anywhere from $25-$100/hour. I'm personally flexible for money. I've taken lower paying jobs because they were interesting or short term. I've left high paying jobs because there was just too much spaghetti and it starts to make you crazy.

    The problem is that good contractors are difficult to find and it doesn't seem to be directly related to the money offered. I could not in good conscience recommend more than a couple of the other contractors I've worked with with and that's a damn shame. Plus, the decent software coders seem almost universally bad at HTML/CSS/JS. I know there are exceptions, dragonchild comes to mind of course, but I can only think of one or two I've worked with directly in 10 years.

    As for outsourcing, I think your qualms are well founded. It doesn't help much if you can hire someone with a CS Masters in Bangalore for $15/hour if you have to pay one of your in-house developers 5 hours a day to coach and interact with him and he's half-asleep keeping up with your hours timezone. If I had any gumption I'd move to India and start a consulting company so I could be the liaison and charge the same $60/hour for me + 3 local devs or something. :)

    Um... good luck. You might also search in here for hiring stuff. dragonchild started an interesting, and deep, IIRC, thread about hiring awhile back. Let's see... On Finding, Hiring, Inspiring and Keeping is related, also On Interviewing and Interview Questions, though less so. I can't seem to find the one I'm thinking of. Little help, someone more awake than I am?

      $30/hr? Dude, you were getting shafted. The rule of thumb I've heard is twice your full-time salary, e.g. $50k/yr is $50/hr. From what I've heard from students in the US, someone fresh out of undergrad with a couple of summer internships makes at least mid-50s. I don't know anything about overseas rates.
Re: typical contractor rates / outsourcing
by Limbic~Region (Chancellor) on Jul 22, 2008 at 13:10 UTC
    blahblahblah,

    While I have never been employed as a programmer, I recently started doing freelance work. My reasoning was as follows:

    • It is 2AM and my wife is annoyed I am still on the computer.
    • Explanation 1: Someone posted a really interesting problem on PerlMonks.
    • Explanation 2: Someone is willing to pay me what I would have done for free if they had posted to PerlMonks.
    One explanation will land me in the dog house while the other will result in my wife going shopping. Seems like a no brainer.

    My rates are typically $35/hr for non-profit and $50/hr for corporate. I also offer flat fee rates per project which result in lower cost to the client but with the restriction that I work on my own time table. I typically don't take anything requiring more than 20 hours a week because I work full time. Everything is flexible for me because I don't need to do this.

    I get a steady trickle of jobs despite not advertising. The clients don't complain about my rates and are happy enough to come back later.

    Ok, so how does all this relate to your post? I would say that at least 60% of the jobs I get is to clean up after a $10/hr freelancer that made a mess and didn't finish the job.

    Cheers - L~R

      When I was 16-17, I was that $12/hr freelancer, and damned if I did not write terrible code. I honestly feel badly for the more experienced programmers who eventually encountered it.

      You do, in fact, get what you pay for in many instances.

      I need to respond to this one.

      Kudos!!!

      You stated what you do for what rates without casting generalizations and aspersions. Not that I am denouncing other posts on this thread, but this is by far the most positive note on this thread (imo).

      Oh, and that is typical of you. I always enjoy reading your posts. :-)

      --MidLifeXis

Re: typical contractor rates / outsourcing
by tilly (Archbishop) on Jul 22, 2008 at 19:03 UTC
    Anecdotes are a dime a dozen. You need more solid information. There is some very good information for you in Software Estimation: Demystifying the Black Art. I already said a lot of this in Interesting insights from Software Estimation: Demystifying the Black Art, but I'll pull out the relevant points.

    On page 229 you'll find a chart correlating team size with productivity. In that chart you'll find that the calendar months to complete a 57,000 product is about the same for a team of 5-7 people as it is for one of size 15-20. The cost is very different, there is some reason to believe that the quality and functionality is different (both in favour of the small team), but the schedule is the same. So be very, very careful about trying to throw more bodies at a project to make it go faster.

    Now you can have a development organization with more than 5 -7people who uses the small team effect - you just have to have things divided into non-interacting projects with no more than a few people each. (But they have to really not have interactions - declaring it so by management fiat will not work.)

    Starting on page 66 he presents the results of the Cocomo II effort multipliers. This is the result of a large study of many projects from many companies, which quantified the impact of various factors on development effort. The projects are generally larger ones, so these figures are more indicative than quantitative for small teams. The one that should interest you is that multisite development multiplies needed development effort by 1.56. So if they are looking at bringing in an offshore team, they should plan on reducing the productivity of the current team by quite a bit, and they have to be hiring enough people there to make up for that hit. Additionally they will go from having a small team to a large team, and to succeed in that they will need a lot more process which imposes its own overheads.

    The result is that they should be prepared for a very real possibility that they will go from being able to use 10 developers to requiring more than 30 developers just to get the same overall throughput. Furthermore their ability to demand quick turnaround time on small projects is going to be severely compromised.

    I know this sounds unbelievable. However it has been the experience of many other organizations in their position. They impose enough overhead to need to switch to large team dynamics, which means that they need to plan on over 20 to match the existing team, and then they have to plan on that team needing 56% more people to account for the overhead of multisite development. That takes you up to 31 people, and a lot of process, with no productivity gain!

    Achieving productivity gains would require adding even more people.

      Thanks for the insights. The size of the team (whether in-house, in-country, or across the globe) has also been weighing on my mind lately. I've read that book, and I am convinced that we'll get diminishing overall productivity from each new developer we add. But we're stuck in a place where we need to try something: the business is demanding more productivity, and of course wants it at minimal cost. I think my new boss gets that, and that's why he extended the offer for this "extra" help. I will definitely go back and check out the pages you pointed out. Outsourcing or multi-site development wasn't even on my mind back when I read the book, so I had forgotten that there was specific data about it in that model.
        One of the best ways to increase productivity in a small-team environment is to get rid of the one joker who keeps sucking up the time of the other members or who never adds any value to the team. If you don't have one of those, then you're lucky. If you do, then cut the position or replace the team member. If you're that person, stop being that person before they get rid of you or replace you. ;-)
Re: typical contractor rates / outsourcing
by gloryhack (Deacon) on Jul 22, 2008 at 10:34 UTC
    I've paid from $40 to $85/hour for contractors, based upon experience and the project requirements. My own time goes for more but I do come down to the top of that range if I catch a long term, low overhead project. I don't do on-site work because I live in remote parts, so I don't know what those folks are charging for their time.

    I've done clean-up on offshored projects from low-wage havens, can't say that I'd recommend going that route at any price no matter how low. My perspective may be skewed because I was doing clean-up work and in several cases was compelled in the name of economic efficiency to just chuck the original and start with an empty editor.

Re: typical contractor rates / outsourcing
by dHarry (Abbot) on Jul 22, 2008 at 15:20 UTC

    Wrt the outsourcing part: I have had my fair share of "outsourcing" (Indonesia, India) and I would say beware! It always sounds too good to be true and in my experience it often is so. "CMM level five, highly educated/skilled professionals, a fraction of the tariff you would normally pay etc. etc."

    What they forget to mention is that the communication problems grow EXPONENTIALLY. Typically you end up with (extra) people in between taking care of this (you don’t want this job I assure you!). In some cultures yes can mean no too ;-)

    You state that the app contains “few messy, undocumented, tangled bits of code and design”. You will have to sort this out first. Everything depends on being able to communicate clearly/unambiguously what you want from them. Often the design is frozen and they built it as-is with flexibility zero.

    PS If you go ahead with it make sure to communicate your standards/guidelines and put a process in place to enforce this!

Re: typical contractor rates / outsourcing
by cmv (Chaplain) on Jul 22, 2008 at 18:10 UTC
    I cannot answer either of your questions, but have a related experience that might interest you.

    In my large corporate environment, I create small perl applications to help folks make sense of various debugging output from a telephone switch. One of my better efforts was used in a commercial service that is now generating revenue (for my company, not for me). As demand expanded I expressed the need to expand the development out to two people and suggested a local guru that I knew to be open to the position. The request was granted provided that I use one of our colleagues in Beijing instead of my preferred candidate.

    I had all the usual initial fears that accompany the prospect of outsourcing work to China, and it created quite a lot of stress until I finally decided to give it a chance, do the best setup job I could, and not try to doom things to failure before it even got started.

    I first tried to do good prep work, identifying what I expected to be done, helping out where I could to get my new co-worker up to speed including asking for help from this very site (see Helping Chinese Colleagues Learn Perl), and approaching it with an open mind. As part of my prep work, I created a list of requirements that I deemed necessary for the success of this project:

    1.) At least 3 face-to-face meetings per year.
    2.) Must be dedicated exclusively full-time to this project.
    3.) Must be able to create usable work off by them-self without constant supervision (by me).
    3.) Opt-out after a few months if things are not working out.

    After working with him for six months now, I'm very happy with the outcome. It's clearly not as good as my suggested guru, but the contribution he makes to this project is a more-than-significant plus, and he and I are becoming friends in the process. The time-shift is difficult at times (who stays up late vs who gets up early), but can also be used to an advantage as well (sending Saturday night email gets me results on my desk first thing Monday morning).

    Maybe I was just very lucky with the individual I got, but I thought it would be good to report a pleasant experience about something that usually generates a lot of bad press.

    -Craig

Re: typical contractor rates / outsourcing
by Herkum (Parson) on Jul 22, 2008 at 16:10 UTC

    As for the question of outsourcing projects overseas, I ask you a question, how good are you at architecture and writing documentation and defining requirements and a project plan? If you are not very good, then you are going to throw money away.

    I have found that overseas contractors, generally don't communicate as well as someone in the company nor have the implicit knowledge of how the business is supposed to run. Someone who can get around in the company and know how it works can compensate a lot for lack of documentation. Don't expect someone, anyone, whom you have problems communicating with to be able to understand what needs to get done. It will end badly.

    As for Perl, I have found that few overseas contractors know it very well. Usually they are coming from a Java, or a .NET or some other large commercial program/language as their background. They are also going to be hired because of their knowledge of said package. They are going to have a learning curve to get a good hold Perl and it takes practice to write good Perl code regardless of who you are. So don't count on getting quality results either.

    I offer one statement if you want to outsource Perl programming, "Caveat emptor!"

Re: typical contractor rates / outsourcing
by mr_mischief (Monsignor) on Jul 22, 2008 at 18:07 UTC
    Why is it a stark contrast between locally on-site and overseas? There are plenty of Perl programmers in the US who are native speakers of English and live in time zones closer to yours (unless you're outsourcing to Canada or Brazil, of course). Many parts of the US have lower costs of living than New Jersey, too, so you still could have some of that price break.

    Don't forget that someone telecommuting on contract isn't using your real estate, your electricity, and your health plan. That's no less true if they're contract telecommuters from Trenton or Basra.

    It's much less expensive if you do need a rare meeting in person to have someone travel from Portland than Johannesburg, and they won't have to wait for a visa. The Internet communication is the same cost. If you use traditional wired or cellular phones, though, the differences between domestic long distance and international calls can be drastic.

    For long-term contracts of even a few hours per week, I've been known to charge between $25 and $50 per hour. I'm in the same country, one time zone away, and willing to travel on occasion. I'm also feeling the pinch of the economy right now. I'd bet I'm not unique in any of these respects among your fellow Perl Monks.

    If you can save enough money by recruiting contractors overseas, then go ahead. I'm not against finding talent where it is. I just think that with your concerns about the difficulties of finding someone local or coordinating with someone halfway around the world that you're overlooking a huge middle ground.

      I agree completely. Some aspects of the overall business philosophy/policy really make little sense from certain points of view. I've campaigned for off-site (but in this timezone and actually pretty local) developers recently and lost, and I probably will try again soon from a different angle, but for now it's not an option.
Re: typical contractor rates / outsourcing
by massa (Hermit) on Jul 22, 2008 at 10:36 UTC
    Being one outsourced, offshore fellow, I normally do Perl jobs for the US in the US$ 30-50/hour range. Not really "discount", but I give guarantees on the quality of my work.
    []s, HTH, Massa
Re: typical contractor rates / outsourcing
by samizdat (Vicar) on Jul 22, 2008 at 16:56 UTC
    I've successfully done it. However, it took a lot of both care and luck. I met a guy from Ukraine on the FreeBSD mailing lists, and he and his brother led me to lots of success. I didn't start talking about him working for me until I had chatted with him for almost six months, though, and knew his morals and his work ethics. We did have one bailout by another we tried to hire, but in addition to the two brothers we had success with three others. We were paying $500 - 1500 per mo for full time effort, and $250 - 500 for HTML/JavaScript coders, in 2000 - 2005. YMMV now, rates are climbing everywhere.

    You'll actually find that there are more Perl coders over there, though that's changing. Remember that they don't have Gates donations (aka Doze boxes) in their universities. It's also true that while there's wide variation,

    That said, this was new, clean code, not fixup of crapcode.

    Tell your boss that MHO is that he should pay you to create architectural and functional requirements and do a clean sheet rewrite with you overseeing, if you're up for it. Then, it doesn't matter where the coders are.

    And yes, I was in the office at 4am and they stayed up half their night with me.

    BTW, what is in North Central NJ? I grew up in Madison and Brookside along Rt. 24.

    Don Wilde
    "There's more than one level to any answer."
      We're in Edison. (I grew up in Morris County also, and I hear varying descriptions of this area as North or Central so I made up the phrase North-Central for this post.)
$100 USD
by rowdog (Curate) on Jul 25, 2008 at 17:20 UTC

    I'm mostly retired for the last 4 years but I'm still a telecommuting independent contractor and I charge $100 an hour with a four hour minimum. I've also been known to work for free on interesting and worthy (non-profit) projects.

    I usually get paid for coding JavaScript/HTML/CSS and whatever Perl happens to be gluing it all together. Typically, I'll administer and secure the server(s) and be on call for emergencies. A lot of times I work with smaller shops where I "get " to play at DBA and whatever else they don't know how to do.

    Now, I'm not a greedy man and I would be happy at $50 or even $25 an hour but I found two things happened when I went to $100/hr: more people hired me and I only got serious customers. Life has been much more pleasant since then.

      I second this approach/experience. It's counter-intuitive but higher prices will probably mean better, and maybe even more satisfied, customers. I managed a store which had the lowest prices, by a lot, for service X in the city (I didn't set most prices). Instead of customers grateful for the bargain, we got, by far, the worst, most nitpicky, and craziest customers imaginable. I believe there have been some psych/consumer studies backing up the idea too: that the simple act of paying more can make customers feel more satisfied with otherwise identical products or pieces of work.

Re: typical contractor rates / outsourcing
by LesleyB (Friar) on Jul 24, 2008 at 16:51 UTC

    An interesting meditation

    I can't talk about outsourcing projects but I can talk about working with outsourced work components

    I gained a C contract and at the time no one in the agency that got me the job told me that a large portion of the people in the agency were actually working from India.

    I encountered a lot of problems and a lot of stress trying to negotiate the contract to my satisfaction. I didn't fully achieve this. The communication difficulties meant I had to resolve everything down to the simplest possible terms so that I had a hope in h*ll that the agency personnel had understood anything. Setting in down in email didn't guarantee they understood either.

    Problems continued on site. The agency used UK local numbers which covered the fact their people were in India. These people could only respond by rote to questions I had about timesheets. They also didn't understand the legal and tax requirements I had as a newly formed Limited Company without VAT registration. All I got was a rote answer which implied I break UK tax regulations and there was no other solution offered. All they seemed to do was read from a script. They displayed absolutely no understanding of my position and no understanding of UK tax laws.

    In reality, how can a young Indian graduate in Mumbai be expected to understand these things unless they have lived and worked here themselves?

    I do understand these people are working in a foreign language and I couldn't do the same in the reverse situation but I won't be working with that contract agency again.

    My view of your problem is that outsourcing may look fantastic on paper in that you may get

    • another 100 programmers at 2 cents an hour
    • a fantastic profit for the company

    but you'll be tearing your hair out with frustration due to lack of good communication and projects will fail without that.

    I have worked with colleagues in other situations who have said 'yes' when asked if they understand verbal and written communications and then have very plainly and clearly demonstrated they haven't take on board one iota of it. It didn't matter how simple the task they just simply couldn't communicate in English.

    I'm sure most UK monks here have sat on the line to their bank's call center in India or even Dell sometimes and knows what it feels like not to be able to communicate effectively. I don't know if you have an equivalent experience in the US.

    There may be good people out there, and you may be lucky. Or your manager might.

    Take a look at some of the responses to projects posted on GetaFreelancer.com to get an indicatin of the standard of comms you may be dealing with.

    If you don't spec up the project really well, completely unambiguously and down to the last myopic detail, then you have a high chance of hitting these comms problems. Clues and a rough idea simply don't work. Even if you do all that, you still may have unsatisfactory communication problems.

    Good luck, whatever happens

Are your hourly rates W2 or 1099
by metaperl (Curate) on Jul 23, 2008 at 17:14 UTC
    Discussion on hourly rates is not entirely informative until we know if you mean 1099 or W2.
Re: typical contractor rates / outsourcing
by gwhite (Friar) on Aug 06, 2008 at 19:38 UTC

    I have successfully used Perl contractors from overseas. Things to think about:
    find programmers that work your hours if possible
    as mentioned before, your specifications and requirements must be really precise and detailed
    get a list of Holidays they take ahead of time, October is a big holiday month in India
    at the end of each shift have them send you an email with what they got done today and what they expect to finish tomorrow (and hold them to it)
    overseas workers are much more open source oriented
    I have found that oversease programmers with 3-4 years experience solve problems as well as US programmers with 1-2 years experience, so look for 5-10 year programmers if you have a complex project
    I have found programmers from India are coders not problem solvers, so hand holding in tricky areas will be required

    As for what I pay, I have found a couple of groups that do solid work for $2000/month for 160 hours. I don't agree with the you get what you pay for posts. I have had both really poor code and really great code written by $150/hour programmers and I have had some really fantastic code written by $10/hour people.

    With cheap programmers it is really easy to set them up to do one of those tasks you would like to have done, but never have the time to do. Then see if what they produce is worthwhile (give them a strict deadline as well to see if they can meet that). If not you haven't wasted an arm and a leg in fees. If everything turns out well you can give them a bigger or more critical project, just like you would with a new staff coder.

    g_White
Re: typical contractor rates / outsourcing
by techcode (Hermit) on Aug 17, 2008 at 03:54 UTC
    Me being one of the full time freelancers from EU and working for mostly US clients since 2003. I can only say my story and what clients told me about how they went with other freelancers.

    From the clients:
    India and similar - somehow even though they are were English colony, communication is a real issue. They either don't understand what you want from them - or they do, but you end up with literal and no-thinking translation of specs into code - they just don't bother to really understand what's going on. Time difference is also an issue. Cheap and not so great quality most of the time - though you might get lucky. You can recognise them as they are always using Sir in communication - Good Day Sir, Hello Sir, Dear Sir ...

    As of me:
    I usually work on smaller (couple of hundred bucks) projects to test out a client - it's how it usually works on freelance (matchmaking) websites anyway. After that bigger and bigger projects come along, as trust grows and you start working directly (not using freelance sites).

    I mostly work in the afternoon occasionally communicating early in the morning (evening in USA) if needed - as I started freelancing during 1st year of my studies, after noon was when I had time, and it's fits USA time zone more or less - at least in part, depending on the clients location. So I got used to it (... it's 5:45 AM and I still haven't even went to bed).

    Started with ~ $10/h and head-first learn-Perl-as-you-go (from Perl: The Complete Reference - not the happiest choice for a beginner, but was only book on Perl I found in bookstore at that time). Now at about $25 to $50 per hour depending on what it is and how long engagement it is. In November I registered as a business/entrepreneur and planning to gather a small team for both providing outsourcing and in-house development.

    If I sound interesting - drop me a message. You can find more about me on:

    Though I'm pretty much booked for at least following 2 months - working full time on extending server for SMS provider/gateway.

    Have you tried freelancing? Check out Scriptlance - I work there. For more info about Scriptlance and freelancing in general check out my home node.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlmeditation [id://699206]
Approved by planetscape
Front-paged by psini
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (5)
As of 2024-03-19 11:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found