Hacker News new | ask | show | jobs
by BiteCode_dev 2377 days ago
It depends a lot of you size and your project scale. But here are a few advices.

Do not pay by day/hour if you can avoid it.

Define small deliverables then objective tests to validate them and attach fixed price to each piece.

You don't have to come up with it out of thin air, the contractor is supposed to do that with you.

You don'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.

Do not let the definition of success be blurry. But don't set everything in stone.

Do include a clause about the code license.

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's best to hire a contractor... to hire a contractor. I know, I know.

In my book, a good contractor will:

- not sell you the moon, but will tell you what's possible, what'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.

- help you set a priority list rather than a schedule. I'm not an oracle, I can't give you an exact delivery date for each component. But I will make sure we get them in the most valuable order.

- 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.

- will tell you honestly "I don't know", "I will have to look it up", "It's not in my skill set, I'll need the help of X". I may tell a customer I'll need a designer, and a week to research a topic before starting to code.

- communicate clearly. Bad communication is a red flag. There are very good coders that are bad at communicating. As a contractor I don't just code, I extract your needs, wants and constraints to adjust the work regularly. This is what "agile" mean. Not tooling, scrum, or other gimmick. Regular proper communication, and adjustments.

- will not talk about good and bad, but cost/benefit ratio. You can request everything you want, the question is can I build it under your conditions.

- 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't like JS. I will code in clean proper JS for a Web UI.

- will be honest about their needs: schedules, payment, communication, ethics, channels or technology use. E.G: I don't do military/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.

- 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'm often booked for months in advance and know the market prices I can expect. I won't bother negotiating.

- will be interested in your project itself. Even when I don't work on something, I'm always happy to hear about what the project became 6 months later. I like my job.

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's also why we are expensive: we include that in the price tag.

2 comments

I'm a student trying to get my first contracting job. I have very little experience, and and essentially no past work. I believe I'm competent enough to do some of the tasks I see on sites like Upwork, but I'm not having any luck. The jobs I'm applying for are basic things like write Google Apps script to send emails based on contents of a Google Sheet, not large projects.

I'm not going to lie about who I am and what experience I have. Do you think I have no chance getting a contract at this point?

Don't start your career as a contractor. Find a job first, even part time, if you can. Few people can get away with zero structure to shape them first.
Interesting. I've got a monthlong holiday break and want to get some work experience in it. My expectation is that no one will want to go through the effort of hiring me for that. I don't need the money right now, I'm trying to create a history of having reliably done something for money that I can point to in the future.

For example, a project I bid on was offering $200 to implement an email signature with two columns and basic styling from an image spec. Since it looked trivial and interesting I spent two hours learning a DSL for emails (MJML) and making it and then submitted a bid with screenshots of it in a few email clients.

I'm not trying to get a job creating something of significant scale or significant duration right now.

Your first few projects are essentially to build credibility. Don’t try to make money. You are trying to level up. Think of it like playing an RPG. You start with easy quests designed for newbies with no experience and eventually unlock treasure.

What can you do that takes you no time and is in demand? I figured out how to something that takes 4 hours in 15 minutes and charge flat rate for it based on the original 4 hours. There is a handful of annoying errors other techs make that I instantly fix without sharing my secrets. ;)

Context: I have first refusal rights in my territory as a field tech on another site. I bill $5000+/mo in gross receivables. It didn’t happen overnight. I started by doing a few unprofitable tasks.

Got it. Most of the projects I've seen are by people who want to bill hourly. Upwork provides some sort of "recommended" wage. How much would you discount that by? I'm afraid that if I'm too cheap even people looking for minimally skilled cheap coders won't want to hire me. Also, so far I'm zero replies for two proposals (a few hundred words each, not copy-pasted). Roughly what should I expect?
Don't know, but I would just apply until someone lets me work.

Your proposals are likely too long for easy stuff. Two paragraphs should be enough.

Good to know.
Your email?
[redacted]
Following this advice you will work with 0 competent developers. No developer of any worth will give you turn-key offer for a non-trivial project.
> No developer of any worth will give you turn-key offer for a non-trivial project.

Yes, I'm actually saying exactly that in:

> [a good contractor will] 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.

How do you persuade a good contractor to take the several days to assess the project if you seem like you want to avoid paying an hourly or daily rate?
I usually spend an hour or two for free with the client, unless I feel they are not serious about it. If I assess studing the project will take more time, I give them a flat rate for it. It's my job to assess how long it will take, then use my daily rate to give the total.

I always include an escape clause in the contract in case they forgot to mention something very important that change drastically the price.

I also never quote the entire project, only the first deliverables. Then roll incrementally from that.

Most contractors around me are well paid, it's not a big deal to not be accurate at the begining. We adjust on the way.