7 ms·
What Everybody Should Know About Contracting Developers
- timjahn 13y agoAs a former contract web developer myself, these are excellent points Trevor. You need to find a way for every potential client for every freelancer out there to read this. :) Actionable feedback is so key for working with creative talent in general - we can't read your mind! We actually built some of these ideas into the core of matchist (http://matchist.com/talent http://matchist.com/talent). Specifically, milestones and paying your developer quickly. All projects on matchist are milestone based and the client can pay developers in 2 seconds by just clicking a button.
- trevmckendrick 13y agoThanks Tim. It's too true that people assume because they're paying they can be lazy and assume the contractor will handle every little detail. Of course not everyone's that way, but you sure can make friends much faster by treating your contractors well.
- robmclarty 13y agoI can't count the number of times a client has asked me something like "I want my website to be more dynamic. How much would you charge?" I don't know! Why does anyone expect a specific answer to a non-specific question? This usually turns into multiple back-and-forths to flesh out what the client really needs, and usually requires a lot of thinking on the developer's part (me) to nail down an actionable solution that could potentially be estimated in terms of $$$. I was hesitant reading Trevor's article thinking what he was suggesting was devaluing dev work, but when he emphasized the importance of specificity I was on board with him. If a client has fully thought out their idea to the point of step by step mockups, that takes a LOT of the pain, frustration, and effort out of the equation which translates to the required work not costing as much. Developers are one step away from computers (literally) and require a lot of the same rigour when interacting with them. Know what you want and be able to explain what you want (in detail) before engaging them ;)
- trevmckendrick 13y ago"Developers are one step away from computers (literally) and require a lot of the same rigour when interacting with them." Great point. Most people are not used to the level of specificity required to be a developer.
- auctiontheory 13y agoWhy does anyone expect a specific answer to a non-specific question? The more you can learn to help the client work through ambiguity, rather than expect the client to match your technical understanding and then be frustrated when they don't, the more successful you will be.
- beat 13y agoUltimately, software is about getting specific answers to non-specific questions.
- ptaipale 13y agoAbsolutely, but that's more than just coding.
- robmclarty 13y agoGranted, that goes with the territory of being in the service business. My gripe is that clients expect to pay for "just the coding" rather than the entire process of discovery, consultation, and strategy + coding.
- marknow 13y ago"The more you can learn to help the client work through ambiguity..." This assistance implies expertise beyond just being a code monkey; higher-level thinking and problem-solving should definitely come at a higher price.
- jakejake 13y agoThis is a great article for people on HN to read because we more normally hear about start ups struggling to find developers. I get a whiff of arrogance from a many developers when they list their demands for employers. They criticize companies techniques or laugh and dismiss recruiters. I understand it, though, when your skills are in high demand you can afford to be more selective. I'm also a developer, BTW, but I started out just at the first bubble burst and getting jobs wasn't so easy. I struggled to find work at first when only a few years before college grads were being given lavish signing bonuses. I feel a weird sense that karma will have it's revenge on me if I cross the line of enjoying some success vs being a greedy, selfish prick. I know it's not rational but I just feel that this could be a temporary gold rush and I don't want to burn bridges. This story with developers fighting for cheap bids is a reminder that there is competition out there. Some of those guys are better than others, but companies have choices. We may continue to enjoy this demand, but things may even out too.
- trevmckendrick 13y agoGreat point. It really depends on the needs of your project. There are plenty of not great but decent developers out there that will do just fine for many projects.
- troels 13y ago> I feel a weird sense that karma will have it's revenge on me if I cross the line of enjoying some success vs being a greedy, selfish prick. I know it's not rational but I just feel that this could be a temporary gold rush and I don't want to burn bridges. Not being an asshat isn't irrational.
- jiggy2011 13y agoI think a lot of HN is from large america cities like SF or NY where there is a lot of VC money sloshing around and a lot of blue chip companies. When you are located somewhere with a slower economy that has been hit bad by the recession; people aren't paying $100k for junior devs and aeron chairs simply because it doesn't make economic sense too.
- clueless123 13y agoThe hidden gem here is that "It is all about Trust & Respect" as this alone can make both parts life easy or a small nightmare.
- trevmckendrick 13y agoTruth. Makes it so much better working with people when you have those two ingredients. You just don't realize how much better it is until you find people like that.
- ziko 13y ago> "So I emailed him one day and said “hey, I want to do this right and I want you to know I appreciate your work. I’m raising the contract to $6,000 [from 4k].” He didn’t ask > for that, I just did it. Now, can I directly measure what impact that’s had? Not really. But personally, I feel better working with him." For me, that's plain stupidity. As you say, your company is small and $4,000 is a lot of money. You didn't mention if it's for a bigger project so I'll assume it's for fairly similar one. You show appreciation for someone by coming back to them rather than paying more for same service. It's one of the most important rules of business. When you'll approach him for twice as big project, he'll expect $12,000 and a little more instead of $8,000 he deserves and with which he thinks he's paid enough. People tend to get comfortable too quick when giving them things they didn't ask for. I'd advise a slightly different approach. Keep coming back to him and keep an honest relationship. If he isn't happy with something (attitude, finance aspect, terms or anything else), let him know you're open to discuss anything. But that are just my two cents and if it's working for you, why not? I know it wouldn't work with me and my team.
- trevmckendrick 13y agoI don't know about "plain stupidity." :) To be clear, this project is a 100% rewrite of my current app. It has a ton of additional functionality, is built much better, includes a store for IAP's of additional reading content, etc. It's my bread and butter. While I could have gone back to him with another project in the future, I wanted to make sure this project went great. It's a "bet the company" project and in the overall scheme of things $2,000 isn't that much. Can you imagine how great you'd feel to get an email from someone saying they decided to increase your pay by 50%? Wouldn't you do your best work for them? That's the message I was going for.
- jf22 13y agoTo be honest this would turn me off and cheapen our relationship. Its almost like you rubbed it in my face I could have charged more. Better to throw in a bonus at the end like "if you complete by x then you get y".
- dinkumthinkum 13y agoOh my, Elance. These sites are horrible. Their goal is simply to turn programmers into sweatshop dwellers competing for tiny scraps. The signal to noise ratio at these places reaches 0 pretty quickly.
- graeme 13y agoDepends. I can't speak as a seller. As someone who hires, you just need intelligent filters. I've found an excellent designer and illustrator on eLance.
- trevmckendrick 13y agoHave you used Elance before? I've gotten great work there from developers, writers, general admin, data entry, etc.
- cpursley 13y agoMe too - oDesk is great. There seems to be a lot of animosity from valley-type developers on here towards offshore freelancers and their clients. These 'rock-star' developers come across as entitled to me as a non-professional junior developer. Believe it or not, some of us really are building sustainable businesses outside of the valley often using offshore developers instead of local without burning through millions in VC money. In fact, we really have no other options. The blog articles are great, keep them coming Trevor.
- wildgift 13y agoWhat about the animosity of the local developers who want to make $60k a year plus bennies, but you're hiring people for $15 an hour?
- cpursley 13y agoThe local developers are all employed (if you're a developer, check your email). Anyways, I wouldn't be able to afford a local developer even if I wanted to at this stage. It's not a just a question of being cheap for many of us, it's a matter of being able to get our projects off the ground in the first place.
- lifeisstillgood 13y agoMaybe I missed something but this sounds horrible. The idea is to find developers on the "left" - low quality, hand holding and get them to churn out a market testin app for a small amount of money. That seems crazy. Deliberately hiring low quality workers? If the app is so trivial that low quality cannot break it then I guess it works. Does not sound like a sustainable solution though.
- trevmckendrick 13y agoYou're right, it's not sustainable for a growing, decent-sized business. But it doesn't have to be, nor should it. Like I said, it's simply a way to cheaply test the product/market fit. Once you've found fit you can more safely move to the right of the spectrum and invest in a quality product. That's exactly what I'm doing now.
- comrade_ogilvy 13y agoI think what is important is that you understand who you think you are hiring, and can set expectations of behavior for both the contractor and the customers. The little chart, hopefully, precipitates that decision, or at least brings forth the idea that there are tradeoffs.
- austenallred 13y agoDeliberately hiring cheap workers. If the idea is to keep costs as low as possible and still turn out a functioning product it makes complete sense. If the idea is to turn out the best product possible, you obviously wouldn't want to do that.
- chasing 13y agoCommunicate well. Be fair and prompt with compensation. Find people you enjoy working with and can rely upon. A recipe for success!
- trevmckendrick 13y agoPretty simple huh.
- chasing 13y agoYou'd think so, but it's amazing how often these things don't happen. Kudos for being proactive about it when hiring developers.
- jorgeleo 13y agoYou lost me at "Pay them to Code, not Think" That is THE worse advice EVER. You want a developer that can take your pseudo spec (and I say pseudo because if they are detailed enough, then you should be able to code them, since you are hiring a developer you don't know the devil that will be hidden in the details), interact with you, and give you what you asked OR BETTER. Non-technical people need the counterweight. This advice is like telling the doctor "I don't pay you to think and figure out what I have, just to write the prescriptions, and is much cheaper"
- trevmckendrick 13y agoBut sometimes you don't need a doctor to give you a diagnosis. You literally only need a prescription. Hiring a developer on the cheap to "just code" is the equivalent. It's a way to keep costs down while testing the market.
- jorgeleo 13y agoEven over the counter pills have the warning: If the simtoms persist for more than 7 days consult your doctor
- BigBalli 13y agothe problem is that often the doctor knows what to prescribe better than you... :)
- jlarocco 13y ago> But sometimes you don't need a doctor to give you a diagnosis. You literally only need a prescription. I don't think any legit doctors write prescriptions without first making, or verifying, a diagnosis. Hiring a developer and telling him, "Don't think, just code," seems like a recipe for disaster. People who insist on going about it that way get the software they deserve.
- nmcfarl 13y agoI think there’s a continuum here. I’m sure we’ve all been stuck (or heard of the project) with some guy who thinks he’s an architect (but has been hired as a coder) and can sit at his desk for weeks produce lots of docs, but 0 lines of code. Sometimes that’s good for the project - and sometimes it sinks it. Sometimes we’re paid to think, and sometimes we’re paid to code. Deciding which activity is more economically viable to the company should probably not be left up to us. That’s what they hire managers for after all...
- DamnYuppie 13y agoTotally not relevant but I got a good laugh out of it. When I first read title of the link it made me think that developers were a communicable disease! Kind of like some terrible 80's high school health documentary lol!
- pjungwir 13y agoHow much is your own time worth? If you're hiring developers who need lots of hand-holding, you're going to burn up much more of your own time. You're also taking on more risk of wasting a month or two on a failed project.
- trevmckendrick 13y agoTrue. Some developers do require too much handholding. I do my best to screen them out by reading their reviews on Elance. I did lose time on 1 failed project in particular. I should have noticed sooner that the dev kept asking for more time and canceled it.
- jiggy2011 13y agoWhat do you define as "hand holding"? Often project briefs are not very detailed but the client's expectations are very specific. So in the interest of not wasting a load of my time writing code that I'm just going to have to redo I will ask a lot of questions. Even ones that seem obvious, as sometimes my idea of a the best way to do something was not what the client had in mind.
- jmadsen 13y agoExactly - I've never heard the term "hand holding" that didn't go along with, "You should be able to figure it out - it's a FB clone, for God's sake" "Real" development companies have full-time people writing specs - you need to come up with something better than a few Google docs if you want the dev to just run with it, especially if (s)he's on a fixed contract. Hourly, now, is a different animal :-)
- pjungwir 13y agoI don't know about the OP, but I took the term from the first image in the post that says "hold their hand." I agree that helping the client put together a decent spec does not mean I need hand-holding. If anything, it puts me more on the right side of that image. :-)
- austenallred 13y agoThere are a lot of people disagreeing, but you have to realize what the goal is here. The goal is as cheap as possible, and you should have a mediocre product out of that. For this scenario, the advice given is perfect. Obviously the advice doesn't work for many other scenarios. In other words, you should very rarely be looking to hire a developer out of India for $5/hour, but if you are, hold his hand and he can't mess it up too terribly badly.
- trevmckendrick 13y agoGreat point. To "as cheap as possible" I'd add "but still functions." It doesn't have to be great or amazing. It can be quite mediocre. It just have to be enough to know whether it's solving a real need customers have.
- deleted 13y ago[deleted]
- eksurfus 13y agoTrevor, really appreciate the post. Any reason you chose elance over other sites (odesk, guru, etc)? Any additional tips (eg did you try encouraging certain freelancers with great credentials to bid on your work)? Just to toss it out there, Go (Golang) is becoming increasingly popular, but still has a relatively small community (much of which is based outside the US). This seems like a potential good case for using freelance developers (when language experts are few and geographically distributed).
- trevmckendrick 13y agoI've used odesk once or twice. They're all about the same really. At this point it's beneficial for me to stay on Elance because contractors see how much I've paid out, how consistently I give good ratings, etc. They know I'm a good contractor so they're more likely to bid. I don't do much to try to get "certain" freelancers. Sometimes I'll sponsor a project if I need it done really quickly (under 48 hours, not a development project) but otherwise I just put it out there.
- ypeterholmes 13y agoI got screwed on odesk. Hired a guy, sent a deposit, and then he ran off. No recourse..
- JimWillTri 13y agoWhat steps did you take to assess their skills?
- spaghetti 13y agoOne option is essentially a programming test framed as a first quick milestone. Say the app is for taking and sharing photos and has a $10k budget. Start with a milestone for an app with a single button. When the button is tapped the user can take a photo using the built-in, default camera view. Price this milestone at $300 or some other small fraction of the total cost. If the contractor quickly sends you something simple that works without too many lines of code then you have a decent signal that the skill level is sufficient. Anything else (slow response time, app doesn't work, below expectations code quality etc) and you have a decent signal that the skill level is insufficient. In this case just pay out the first small milestone, thank the contractor, cancel the project and try someone else.
- goofygrin 13y agoI've got a client on a shoestring budget. I told them... listen, we can get real expensive, really fast. So if you help me, I can help you. They build specs in powerpoint, excel, paper etc. We discuss them (in person typically at a scheduled meeting where we discuss these features as well as business consulting about where to take the business, how to grow it, what features have been requested, what to add, etc.). My team then develops what they want. The customer then QAs the software to make sure it's good. This saves them a TON of money. They're happy, I've got an easy client to work with and my devs enjoy working on the project because the requirements are well thought out. My client is happy because they're getting a good value (both in terms of less $ on dev and the money they spend on business consulting is put to better use since they've done their homework). Contrast this with another of my clients (with a larger, but dwindling budget). They typically say "go develop x" with no real guidance. We develop X, but once they see it they say "that's not what we wanted." After a few cycles of this, and frustration from both sides, we simply now say "you've thought about X, why not tell us what you've got in mind so that we build the right thing first?" It's made things move a lot smoother... enough so that this client is now extremely aggressive in their release cycling (and it feels like a hamster wheel)... which we're working on... (including charging 2x for forced weekend work - "It's Friday at 3pm. If this must be deployed Monday, then we're going to have to work over the weekend and that is at $xxx rate." We've not worked weekends for them since :)
- jorgeleo 13y ago"We discuss them (in person typically at a scheduled meeting where we discuss these features as well as business consulting about where to take the business, how to grow it, what features have been requested, what to add, etc.)" Wait... you... 'Though'
- BigBalli 13y agoMy reading notes: - "almost a dozen developers", for the same project? Sounds like hell just to save a couple bucks... - ...or do you want to "make something really awesome regardless if people use it"? what would anyone want to do that? Odds are if you're doing it for fun you have the money to hire a good developer and therefore not go they painful elance/odesk route (check this out http://giacomoballi.com/find-ios-developer http://giacomoballi.com/find-ios-developer). - in your chart you're missing bad developers. plenty of those hanging out on outsourcing websites... - if you're working with a good dev (I won't assume other scenarios) they will know more than you do. They can and should help you. You're limiting yourself if you just pay them to code. - good for you for making the mockup that's way more work than most of my clients do (check this out http://giacomoballi.com/explain-idea-to-developer http://giacomoballi.com/explain-idea-to-developer). - speak "good" english? Sorry, couldn't help it... :) Good intro post regarding you experience. Look forward to the next one! G
- spaghetti 13y agoMilestones are great. However I like to have reasonably consistent prices. For a $4000 project you can have, say, four milestones with prices $500, $1000, $1000, $1500. This way the client can bail out after the first milestone if things aren't going well. And they won't lose too much money. Also the client gets the "carrot on a stick" with the hefty fourth milestone without being obnoxious (with a $3200 fourth milestone for example).
- ahulak 13y agoI think you are receiving so much negative feedback because you are essentially referring to developers as a commodity that can be negotiated down to 'cheap'... You then posted to a site that is highly trafficked by freelance developers. As someone who frequently works with developers and handles a lot of the spec'ing, I thought your post was helpful.. and informative. That being said, it doesn't really tell people who to pick a good developer out from a bad one. What kind of questions do you ask to find a good developer for iOS?
- coldcode 13y agoI find these comments amusing in the light of all the agile discussions I read. None of this sounds terribly agile, having to specify everything up front... yet the truth is a lot of people are not competent enough to handle iterative development form either side. I wish more people would explore how agile works with people who can't code without detailed instructions and managers who don't understand how to do anything else.
- lgleason 13y agoThe good developers in developing nations are still going to charge more than $15 an hour. They tend to be more in the range of $40-$50. The $15 an hour guys in my experience are either: 1. good (quality-wise), but slow and don't speak much English, 2. or they are just horrible. I have seen two projects coming out of the $15 an hour shops. The only way to have a sustainable product is to start over. The sad part is that I have also seen a lot of people throw a significant amount of money at these $15 an hour deals when they could have created a better product for the same amount of money with fewer high end devs. One of my favorite outsourcing stories was when a guy wanted me to be his CTO and he was considering hiring a company that outsourced to China at $15 an hour. So I asked the outsourcing company if I could interact with the devs directly. Their answer was no, claiming that it was for everyone's protection. I won't even get into them describing a waterfall methodology and telling me that this is Agile. Let's just say that we didn't use these guys. The bigger issue here is this. If you are doing a tech play and can't code, don't have a technical founder, and don't have the cash to hire good people should you even be playing in this space? I'm sure that there are a few exceptions that are able to do this, but that seems to be few and far between. If you don't have a deep passion and understanding of your core business, which in a tech play means the tech to execute it, along with the market that you are going after......or gobs of cash to bring in the right ones I'll bet you there are some great stats on how successful they are. I know what my anecdotal experience is but would love to see some hard data to confirm or deny my experience.