8 ms·
I've quit my day job in 2012, found a contract with a great client on Upwork (forget how it was called at the time). Initially a 6 months project, I've worked w
by 1_player 8y ago
I've quit my day job in 2012, found a contract with a great client on Upwork (forget how it was called at the time). Initially a 6 months project, I've worked with them for 2 years.
Got a few other contracts off that site, until one day I've asked one of my main clients to move out of that platform and work with me directly. Worked with them 2 years, until I got an offer in January to become a full time technical director and shareholder.
What I've learn contracting:
1. Increase your rates. Make them non-negotiable. There's people that are ready to pay for quality. If a client asks you to lower your rate, they probably aren't a good client in the first place.
2. Increase your rates every year, as you get more experience and technical knowledge.
3. Upwork was bad, and now is even worse. Move out of those kind of sites ASAP, when you can trust your client.
4. If you do good work, you'll have old clients pinging you once in a while with new opportunities. So, do outstanding work, and you won't have to look for new contracts as much.
5. Don't be afraid to learn. Try not to specialise too much. Generalists/full stack devs are very sought after. You'll start a contract as a web developer and soon you'll be doing DB optimisation and securing their infrastructure.
6. Increase your rates.
- Keloo 8y agoUpwork previously was oDesk AFAIK.
- icebraining 8y agoElance-oDesk, it came out of their merger.
- Kluny 8y ago> 1. Increase your rates. Make them non-negotiable. There's people that are ready to pay for quality. If a client asks you to lower your rate, they probably aren't a good client in the first place. What if you're mediocre, though?
- Ma8ee 8y agoThen you belong in the cubicle. Stay there until you are good. (Which won’t happen automatically, you have to put in the work.)
- cbzehner 8y agoThis isn't true. Very few people are bad across the board -- find your strengths (as other commenters have said) and focus on those. It's better to be excellent in one or two areas, especially ones your passionate about than solid across the board. If you suck at something and it's causing problems, that's a different story -- but don't get stuck on comparing yourself to others. I wish I could downvote this comment. Please ignore it.
- Ma8ee 8y agoQuite a few people don't have enough skills to freelance. Either because they don't have that one skill in high demand, or they lack the drive to network and sell themselves. These people will just become miserable trying to make a living without a steady employer.
- joshvm 8y agoYou should still aim for charging quite a bit higher than what you think is reasonable. There are an awful lot of bad developers, so even mediocre is probably fine. I've had consulting gigs where I've charged $200 an hour to answer a survey as a domain expert, and I learned later that I probably undercharged. People will pay, don't worry about that. If you land a job that you feel got a bit close for comfort, lower your rates and re-calibrate. But assess why before selling yourself cheap - was it really beyond your skill? Did you just need more time? Don't forget that if you charge more, you can better devote your time to those projects. If you charge less you have to spread yourself more thinly to remain solvent.
- kasey_junk 8y agoI can’t imagine any professional setting I’ve been in, where firing up the machinery to get a consultant in place would be worth $200. Conversely I’ve been in many situations where an expert reading one page of text and nodding (with a follow up email) was worth several thousand dollars.
- mikeleeorg 8y agoIt depends on which vector you deem yourself mediocre. If you think your technical skills are mediocre and want to be a technical contractor, then focus on being a great solutions provider. And by "solutions provider," I mean take the time to deeply understand the root causes of your clients' problems, then help them find the actual solutions. Sometimes these solutions are not even technical, which is totally okay. Clients will love that you're helping them solve problems in addition to providing technical services.
- Kluny 8y agoI can write code that works, finish features, and I'm pretty good at debugging. I can also teach/encourage others without condescending, ask good questions, and explain a problem clearly technically and non-technically (once I understand it myself). I guess I'm mediocre in that it consistently seems to take me 8-10 hours to finish jobs that come with a 4 hour time estimate (my company is big on estimates). I'm also pretty sloppy - code reviewers routinely catch minor errors that I should have known better than to commit. I have the experience, way too often, of using some feature that I pushed months or years ago and learning that it's, like, haunted or something. Doesn't work the way it's supposed to at all. Obvious failures that I should never have called "done". When it comes to building a complete product, from start to finish, I mostly can't get past MVP stage (talking about personal projects in this case). And I once spent over a month trying to update the version of TinyMCE for a CMS that I was working on, and did not succeed. I literally got another job and left the company with that task unfinished. The new job pays double, and I still feel like a bit of a fraud. And yeah, I'm writing "bog-standard PHP" as the other commenter put it. I've tried to get work in other languages to diversify my skillset, and haven't succeeded. At this point I'm starting to not care anymore - I like PHP just fine, loose typing be damned, and I'm starting to think I want to move out of technical roles rather than improve my language skills.
- kr4 8y agokeep building new stuff, on side in addition to your job (which is usually borring/monotonous). concentrating on details. Once you've spent 10k hours on programming it'd just come naturally to you. You'd be amaised how magically and naturally you can solve complex problems. This is an unfailing formula of attaining mastery in literally anything you can imagine [0]. 0: https://www.amazon.com/Outliers-Story-Success-Malcolm-Gladwell/dp/0316017930?ie=UTF8&tag=thstsst-20&linkCode=as2&camp=1789&creative=390957 https://www.amazon.com/Outliers-Story-Success-Malcolm-Gladwe...
- tptacek 8y agoIf there is a list of annoying false things technology people believe about business, this notion that bill rates track technical ability would have to be near the top of it. Your rate has almost nothing to do with how good a programmer you are. Sorry, excellent programmers who've had a hard time getting consultancies launched. Your bill rate roughly† tracks how much value you provide to your client. "Value" is complicated and situational. For programming work, for most clients, extreme technical excellence is of marginal value. Clients that engage third party developers tend to see software as a cost center and/or are simply trying to solve a business problem. They care about how quickly that problem can be workably solved, and (please take notes:) how predictable the costs are. You can be thoroughly mediocre at programming and an excellent business value, if your mediocre code solves business problems people will allocate budget for and if you can deliver it predictably. If you can deliver predictably and fast, you can ship bog-standard PHP code and charge integer multiples of what a much better developer might implement in Rust or Haskell. The market tends to pay a premium for problem domain specialization, and less of a premium for elite skill. None of this much matters for someone just getting their feet wet trying to get their first couple clients. Do whatever gets you started. But get out of the habit of convincing yourself that you have to qualify somehow to charge more money. Even the consultants who are constantly telling people to raise their rates are also not charging enough. I'm a varsity member of team "raise your rates" and I thought we were undercharging 4 years ago. Since then, FTE rates have gone through the ceiling and our rates have not scaled with them. It is very unlikely that any consultant chatting about consulting on HN is charging their real market rate. I have one bit of bad news for you: if you want to make a career out of being a contractor or consultant, you need to get off freelancing sites ASAP. It's fine to get started there, but you're not developing your practice in any meaningful way as long as you're using them; you're just getting better at slinging code (which doesn't earn you better rates!), while radically undercharging clients. Getting off freelancing sites is rough, because freelancing sites tend to provide a comparatively stable revenue stream, and real consulting revenue is lumpy. If you've never experienced "lumpy" before: it's (a) terrifying and (b) really easy to screw up, by assuming you're flush with cash when really you've effectively just been pre-paid for the next N quarters. Some people reasonably don't want to work under lumpy consulting conditions. Better you figure that problem out for yourself early rather than wasting your time pretending, or, worse, forgoing a fuckload of income by chaining yourself to freelance sites. † Roughly because most serious clients allocate a budget that establishes a range of what they're willing to pay to solve a problem, and an invisible component of that budget is how much work they're willing to put in to sourcing a contractor --- the first credible contractor they talk to might win the deal, meaning there's no competition to aid price discovery. Corollary: one way to "provide value" and charge a premium is to be easy to source. Something that people who build consulting firms, the kind with lots of consultants, learn quickly: clients put a premium on firms that are always available.
- iovrthoughtthis 8y agoWhat does mediocre mean?
- iovrthoughtthis 8y agoYou can produce quality work.
- onion2k 8y agoIncrease your rates regardless. Clients don't know, or really care, about quality so long as what you build works. Where quality is important is in keeping your costs low. Having to revisit old code to fix bugs or trying to work with bad code to add features has very little impact on your client. It affects you. Strive to write good code for your own sake. Plus, if you take on fixed price projects writing code you don't need to go back to really increases your profit.
- scruffyherder 8y ago> so long as what you build works. You mean, ships on time.
- Spooky23 8y agoDoesn’t matter. People pay too much for broken crap all of the time.
- csomar 8y agoI've seen mediocre to really bad people getting paid $3000/day for their mediocrity and not delivering results. Increase your rates.
- thrawaylost112 8y agoYou are making a huge mistake assuming that everyone has ability to tell a mediocre from a 10x engineer, which is patently false assumption to begin with. Market has information asymmetry baked in. Not everyone is informed, that's where you earn your bucks.
- xfitm3 8y agoPersistence and QA. Find your own mistakes before someone else does.
- dangero 8y agoIsn’t it against your contract with upwork to move off the platform with a client?
- jsi 8y agoUpwork makes you jump through code challenge hoops and competes you against people in countries where $1/hr is kingly. Doesn't exactly engender loyalty.
- dabockster 8y agoWait, Upwork gives you a preemptive code challenge just for you to promote your business (since self-employment is a business)? Ewwwwwwwwww!
- konschubert 8y agoFrom another perspective, upwork gives people in low-incinr countries a chance to work for companies in high-income countries without winning a lottery and leaving their families behind. Therefore upwork directly improves equality of opportunity in the world.
- jsi 8y agoIt's more expensive to live in a society with rule of law and basic services. But that doesn't mean we should encourage the alternative. I can only hope the transfer of wealth accomplishes some greater flourishing of human rights across the world as well.
- skj 8y ago1) who cares? And, 2) what could they possibly go about it?
- econochoice 8y agoBan you from the platform, which is what they do often. According to them, they own the relationship between you and your client.
- elephant0xffff 8y ago> 5. Don't be afraid to learn. Try not to specialise too much. Generalists/full stack devs are very sought after. You'll start a contract as a web developer and soon you'll be doing DB optimisation and securing their infrastructure. Nice tips but I don't agree with this point. Being specialized makes you stand out from the crowd and being "the person who does <foo> in the <bar> industry using his extensive knowledge in <baz>". Otherwise you are just "the person who does <computer-stuff> for all industries". I agree that it's simpler to not be picky at the beginning but later on you should specialize - not just in technology but also in an industry.
- 1_player 8y agoI agree to disagree :) you might be right, that point is mostly a personal opinion. My personal goal and career path has always been to be a jack of all trades, I even entertained the idea of explicitly writing that in my resume. One might prefer to specialise in something instead, and master it well. That's absolutely fine, I just happen to love to learn about anything, mostly because I easily get bored if I'm on the same thing too long. It's suited me fine, but it's definitely not the Only Way to be a consultant.
- technofiend 8y agoExcellent advice. Imposter syndrome is very real and can cause people to low ball themselves but people should be asking for far more than they think. A contractor has to cover every benefit for himself and build a nest egg for downtime to boot. But for a new contractor what to charge seems to be the struggle. I exited contracting when the .com bubble burst. These days I'd want to charge double my previous rate, possibly more.
- wolco 8y agoWhat I have found on upwork is the smaller the contract amount the more difficult the client and more likely to get a dispute. 40 dollar for a small task seems to be a magical cutoff point where any task less has a checklist of dozens of smaller tasks bundled in. 800 seems to be the level where above that you can expect some professional-ness