TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Best practices for hiring software contractors?

80 pointsby ajudsonover 5 years ago
I'm interested in any guide to this - what I need in the contract, how to protect myself, how to find good contractors, etc.

17 comments

robgibbonsover 5 years ago
Here is a stock agreement template to get you started. It has some language which attempts to provide limitation of liability, but your particular state may have specific language or case law which you&#x27;d be better speaking to a lawyer about.<p><a href="https:&#x2F;&#x2F;www.docracy.com&#x2F;6285&#x2F;independent-developer-or-contractor-agreement" rel="nofollow">https:&#x2F;&#x2F;www.docracy.com&#x2F;6285&#x2F;independent-developer-or-contra...</a><p>As for finding good contractors, that is arguably the real challenge. You can do this yourself, or work with a recruitment agency. In either case, you tend to get what you pay for -- especially with contractors, where you are not necessarily going to be providing training, as in the case of an employee.<p>If you choose to forgo using a recruitment agency, there are many places you can look for developers, LinkedIn being a good place to start. You can either post a job opening there, or actively search for and contact potential candidates (this is the typical domain of a recruiter -- a dog eat dog world.)<p>PS. This may sound obvious, but please don&#x27;t expect to treat a contractor like an employee. In general, a contractor gets to decide when, where, and how the job gets done. If you expect to micromanage your project, then you should consider hiring an employee. The exception to this would be if you contract through an agency, in which case your &quot;contractor&quot; is really &quot;someone else&#x27;s employee.&quot;
taconover 5 years ago
Yegor Bugayenko (yegor256) gives the most direct advice I&#x27;ve ever seen about hiring remote programmers, generally remote teams. The advice could be scaled down a bit for an individual developer. The general thrust is to keep things incremental: demand access to source at all times, one click build processes, regular independent code audits, change the team regularly so no one becomes essential to the process, demand a list of risks be updated regularly, etc., etc.<p>[0] <a href="https:&#x2F;&#x2F;soundcloud.com&#x2F;yegor256&#x2F;shift-m15-how-not-to-trust-programmers-right" rel="nofollow">https:&#x2F;&#x2F;soundcloud.com&#x2F;yegor256&#x2F;shift-m15-how-not-to-trust-p...</a><p>[1] <a href="https:&#x2F;&#x2F;www.slideshare.net&#x2F;YegorBugayenko&#x2F;how-to-avoid-outsourcing-disaster" rel="nofollow">https:&#x2F;&#x2F;www.slideshare.net&#x2F;YegorBugayenko&#x2F;how-to-avoid-outso...</a><p>[2] <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=DLk_5BmgTVk" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=DLk_5BmgTVk</a>
评论 #21859201 未加载
avipover 5 years ago
It&#x27;s very much like finding a good carpenter or plumber. You talk to prev customers. Look at recent work. Then converse with the person respectfully. Then set mutual expectations, likely formulated as no BS 1 page agreement.
pryelluwover 5 years ago
Quite an open ended question. What are your objectives in business and technical terms?
评论 #21859275 未加载
elamjeover 5 years ago
I just wrote a post[0] about contracting, from the contractors perspective, and why I left my safe job for it.<p>IMO, developers that like a challenge and like dynamic work make good contractors. A lot of times having ambition and a passion for programming is a good sign. Many people I know do software to make a living and could care less about architectural decisions, best practices, and self-motivated skill growth.<p>I would be happy to help you evaluate a few contractors if you want some guidance:-)<p>[0] <a href="https:&#x2F;&#x2F;www.towardssoftware.com" rel="nofollow">https:&#x2F;&#x2F;www.towardssoftware.com</a>
评论 #21862224 未加载
chiefalchemistover 5 years ago
I&#x27;ll leave the legal stuff to others. In terms of how to find good contractors the key - before you start looking - is to be clear about:<p>- what you want<p>- what you actually need<p>- the priorities within those lists<p>- what level of service &#x2F; availablity<p>- your budget (and how realistic it is in the context of the previous points).<p>Most ppl new to such efforts - and even many of the experienced - have unicorn ideals in mind, and a fast food budget.<p>p.s. Also be ready and willing to sharpen your communications. Assuming they&#x27;ll know all their is to know about your effort isn&#x27;t going to get you far. Unless you&#x27;re able to hire a mind reader ;)
swatcoderover 5 years ago
Software or otherwise, the best way to find a good contractor is to get referrals from people who had a positive experience for similar work. That can be somewhere between hard and impossible though.<p>Failing that, and if you need to go out and just evaluate contractors you find through other means, the most qualified person for evaluating a contractor is another experienced contractor who is not competing for the work.<p>Hire somebody experienced, for a nominal but fair fee, to help you review your project plan and advise you through the sourcing process for its fulfillment. This is a different role than a recruiter, and in fact, be wary of anyone who wants to simply hand you off to someone they know without assessing other options. You want a personal advocate, not some contractor&#x27;s sales agent.<p>Then, consider retaining them after the contract begins to double check the work as it proceeds, and to bring issues to your attention if things smell fishy.<p>Basically, if you are asking this question on HN and don&#x27;t have access to a good referral, you&#x27;re about to throw a huge bunch of money at a stranger that you don&#x27;t know how to evaluate. Written guidelines won&#x27;t be enough help. Because of your own inexperience, you&#x27;re almost certain to either trust them too much, or distrust them too much, and either one is going to strain your project and cost you money and time.<p>Having an experienced advocate on your side, who has a different incentive structure than your contractor, can make all the difference. And unlike the implementing contractor that you&#x27;ll eventually hire, you can successfully evaluate the advisor yourself. Their role is about communicating things to you, and advocating for you, and these are actions that you are totally qualified to judge. Plus, it&#x27;s a smaller and more ad hoc role that doesn&#x27;t have the sunk cost issues that you&#x27;ll face with your implementation contractor. If you find that they&#x27;re not doing a good job being your advisor and advocate, you can drop them without sending the project into crisis.<p>Besides myself, I don&#x27;t know a lot of people who advertise this role directly, but I think many independent contractors would take it on if you pitched it to them. I think many working developers and development managers would too, as a side gig, although they may not know the norms and pitfalls of contracting quite as well. They&#x27;ll at least be able to vet your project plan, review candidates for technical merit, and perform code reviews. Even just those tasks can make all the difference for you.<p>So long story short: before you hire a contractor, go poke around for a paid advisor who you think could help you hire one better. It&#x27;s really worth it.
toupeiraover 5 years ago
One thing you have to figure out is if you want to contract freelancers directly (or through a recruiter), or work with a software development agency who can provide you with a full team and also offer other services like project management or hosting. See e.g. <a href="https:&#x2F;&#x2F;www.quora.com&#x2F;Is-a-software-agency-or-an-individual-freelancer-better-for-outsourcing-software-projects" rel="nofollow">https:&#x2F;&#x2F;www.quora.com&#x2F;Is-a-software-agency-or-an-individual-...</a>
emmaszover 5 years ago
Agency here with a remote team.<p>We get all our hires through referrals. We keep things simple, our clients are not protected in a particular way when hiring us. We use a general contract - we only had problems once, when the hiring company went bankrupt and failed to pay our last invoice.<p>Client relationships are stable, none turned to another software contractor for the past 8 years of existence.<p>The company is registered in Romania.
railsover 5 years ago
As I have been a contractor for a while, I wrote a blog post from my point of view. I hope it answers some of your questions. <a href="https:&#x2F;&#x2F;www.stefanschick.eu&#x2F;posts&#x2F;hiringsoftwarecontractors&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.stefanschick.eu&#x2F;posts&#x2F;hiringsoftwarecontractors&#x2F;</a>
mtlynchover 5 years ago
I&#x27;ve done 65 hires on Upwork and spent $20k+ on the platform, though not all were software contractors. I&#x27;ve had some fantastic hires from the platform, but I&#x27;ve also had lots of duds that wasted my time and money.<p>There’s one underlying maxim that governs my hiring philosophy for any skilled position:<p>* Talented people choose their employers selectively<p>Some employers force freelancers through tedious and time-consuming hoops without pay. They assume that contractors are so desperate for work that you can demand anything you want from them by dangling the mere potential for a job, but they&#x27;re actually just filtering out talented candidates.<p>Maintain expectations that <i></i>it will take you several months to save time<i></i> by hiring a contractor. The more complex the work, the longer it will take before you come out ahead on your time investment. The easiest jobs I&#x27;ve outsourced have been for UI tasks, where it&#x27;s either correct or not. Finding a general skills developer is much harder. Outsourcing requires a lot of up-front effort in the form of writing job postings, writing thorough, clear specifications for what you want, interviewing candidates, and reviewing work. Once you find someone good and find a good rhythm with them, it&#x27;s a great way to save yourself time, but you&#x27;re likely to find a lot of bad candidates first.<p><i></i>The #1 thing I look for in any candidate is communication<i></i>. Miscommunications are extremely expensive. Avoid candidates who ask vague questions or need re-explanation of things you&#x27;ve explained clearly. The best people I&#x27;ve hired tend to be people who are highly specific and detailed in their communication.<p><i></i>Take ratings with a grain of salt<i></i>. On platforms like Upwork or Fiverr, most of the people are hiring for things they don&#x27;t know how to do themselves, so a terrible freelance programmer might have a 4.9 rating because their clients can&#x27;t tell that they produce code that&#x27;s hacky and unmaintainable. Similarly, some legitimately good freelancers have dings on their record from unreasonable clients who gave them a 1.0 rating because the freelancer refused to do extra unpaid work.<p><i></i>Resist the temptation to hire cheap contractors<i></i>. You&#x27;ll always get bids that are tantalizingly low (like $12&#x2F;hr for &quot;senior-level&quot; Python development), but they often can&#x27;t deliver what you ask for with reasonable quality. The freelancers who are good can command a good wage. With the bargain basement freelancers, you&#x27;ll spend so much time managing them and fixing their work that you won&#x27;t save time overall.<p>Finally, <i></i>start small<i></i>. Don&#x27;t hire someone to build an entire mobile app from scratch; it&#x27;s far too complicated. Start with a job that should take a few hours (and set a cap on their hours so there are no miscommunications). As you get into a groove of working well with your freelancer, gradually give them more hours and more complex tasks.
mooredsover 5 years ago
Have solid requirements, and expect them to change. Be upfront and treat the contractor like a professional when scope changes.
th0peover 5 years ago
Get ready for the contractors as much as you can before on-boarding them. If you are hiring through a recruitment agency, put something in the contract for the right to hire to avoid headaches down the road.
jv22222over 5 years ago
Assuming you are a techie:<p>Find a few you like and hire each to work with you on a small task. Perhaps a screen share session.<p>Working with someone for a few hours will give you a lot of insight into who they are and what they can do.
timwaaghover 5 years ago
make sure they are easy to get rid of (don&#x27;t contract them for a fixed time period) or consider working with an established it consultancy. they will do the vetting mostly for you. it&#x27;s perhaps a bit more expensive, but rates are still competitive and the one who loses most from it is the contracted consultant, as most of his pay goes to the consultancy. as for fixed fees, im not a fan as situations change so it tends to lead to conflicts.
BiteCode_devover 5 years ago
It depends a lot of you size and your project scale. But here are a few advices.<p>Do not pay by day&#x2F;hour if you can avoid it.<p>Define small deliverables then objective tests to validate them and attach fixed price to each piece.<p>You don&#x27;t have to come up with it out of thin air, the contractor is supposed to do that with you.<p>You don&#x27;t have to define all of them up front neither. In fact, they will probably change during the project and the contractor will adjust the price knowing better about the project after the first few deliveries.<p>Do not let the definition of success be blurry. But don&#x27;t set everything in stone.<p>Do include a clause about the code license.<p>If you have zero IT skill, get the help of somebody who does to do so, as well as set your expectations and filter the contractors. Sometimes it&#x27;s best to hire a contractor... to hire a contractor. I know, I know.<p>In my book, a good contractor will:<p>- not sell you the moon, but will tell you what&#x27;s possible, what&#x27;s not given your constraints, and the relative cost of it. I regularly tell my customers to chose a better, cheaper solution than hiring me.<p>- help you set a priority list rather than a schedule. I&#x27;m not an oracle, I can&#x27;t give you an exact delivery date for each component. But I will make sure we get them in the most valuable order.<p>- not give you answers right away, especially deadline and price. I can take several (sometimes billable) hours up to several days with a customer to understand the project and assess this.<p>- will tell you honestly &quot;I don&#x27;t know&quot;, &quot;I will have to look it up&quot;, &quot;It&#x27;s not in my skill set, I&#x27;ll need the help of X&quot;. I may tell a customer I&#x27;ll need a designer, and a week to research a topic before starting to code.<p>- communicate clearly. Bad communication is a red flag. There are very good coders that are bad at communicating. As a contractor I don&#x27;t just code, I extract your needs, wants and constraints to adjust the work regularly. This is what &quot;agile&quot; mean. Not tooling, scrum, or other gimmick. Regular proper communication, and adjustments.<p>- will not talk about good and bad, but cost&#x2F;benefit ratio. You can request everything you want, the question is can I build it under your conditions.<p>- will talk about his preferences and specializations and advocate them when relevant. But will understand if a different technology is needed for the job. I love Python, and will advise you to use it. I don&#x27;t like JS. I will code in clean proper JS for a Web UI.<p>- will be honest about their needs: schedules, payment, communication, ethics, channels or technology use. E.G: I don&#x27;t do military&#x2F;banking related contracts and refuse missions that use some languages such as Lisp, Haskell or PHP. You have the right to want them, there are other contractors that will do it for you just fine.<p>- not be cheap. Well, just like with lottery, you may be incredibly lucky. But I would not base my life choices on such hopes. I&#x27;m often booked for months in advance and know the market prices I can expect. I won&#x27;t bother negotiating.<p>- will be interested in your project itself. Even when I don&#x27;t work on something, I&#x27;m always happy to hear about what the project became 6 months later. I like my job.<p>You are not committed to anything until you sign something. So go shopping. Change your mind. We are used to talk to many customers, and only land a few jobs. That&#x27;s also why we are expensive: we include that in the price tag.
评论 #21860017 未加载
评论 #21859171 未加载
zerrover 5 years ago
You get what you pay for.
评论 #21858979 未加载
评论 #21858999 未加载
评论 #21859007 未加载