Thanks for the list, there's a couple I hadn't come across before.
Domino and TopTal look like they may be more suitable for more experienced developers.
What is everyone else's experience for finding work at the higher end of the market ($600 - $900 / day)? From my experience I know the demand is out there but currently all of my work comes via traditional recruitment agencies which seems a shame for the companies doing the hiring, since agencies charge fairly big fees.
I have in the past tried eLance, Upwork, People Per Hour, and they all seem to end up overrun with low-end work and low-end clients and whilst there may be some gems in there it ends up not being worth your time to sift through / send propsals because 95% of clients will choke if you mention your hourly rate.
For higher end market (north of $900 for 7 hours of work), 100% remote, no agencies/only direct, no fixed price projects, I apply the advice I outlined here:
I run a consulting/support business around Prometheus.
I've found that giving talks and weekly writing blog posts (https://www.robustperception.io/blog/) are great for acquiring customers. Beware though it's often at least 6-9 months before any of it directly bears fruit.
My big question, which I'm still struggling with, is how much to specialize.
I'm one of those guys who wants to do everything. After a few years of Java development in financial companies, I now work on real-time web UIs. I'm now eyeing distributed, soft real-time systems with Elixir, and a bit of applied machine learning.
If you look at my blog, you'll see stuff on Clojure, React, and a few other things. So far, the React stuff has helped me land a client.
My question: Is this counter-productive? Should one specialize? How does one adapt when the specialization wanes and a re-branding is required?
One trick is to separate your skills from how you market some of them.
You can remain pretty much (internally) a generalist and a tinkerer (as you are, and I am, too! but make sure not to spread yourself too thin), yet make sure to market /some/ special skills appropriately (and in very specialized/niche fashion).
You'll decide which areas to market based on how you feel the market can generate recurring revenue.
For instance, I'm a tinkerer, yet I have a couple of well-defined niches :
- in the past, "Rails maintenance work" (easy to find, and useful while my second child was still a baby)
I do consulting for a big company and am a bit like you.
Jump between Java, .NET and C++, backend and frontend (both native and web) depending on the project.
Also since I majored in systems programming, I tend to dabble in other languages.
On my personal experience and those on my circle of friends, some specialization is required to keep being marketable.
Switching among technology stacks inside the company is relativity easy, as it is only a matter of being available when the right project is looking for new devs.
Outside on the job market, agencies and HR departments tend to focus on the last couple of projects, so if they aren't the key technologies that are looking for, it is very hard to convince them that we also have knowledge in the specific area.
In any case, just the size of standard libraries for modern languages, make it almost impossible to know everything.
Let alone the third party tooling and most relevant libraries outside the standard.
I had a pretty negative experience with TopTal, where the first interview/screening thing involved me solving programming puzzles on some sort of code editor. After spending an hour on a puzzle whose solution turned out to pretty much be "return len(A) - A.count(X)", I gave up in frustration.
One of the site's founders emailed me later to tell me that he knew that those questions didn't actually really test programming skills, and that they were trying to improve, but the damage was already done.
I passed their tests, spent 50 unpaid hours on a coding assignment, for which I learned react native (not a requirement) and got passed over because their requirements were poorly worded and I didn't ask for clarification (it's a coding assignment, why shouldn't I assume they can at least spell out their own requirements well.)
They'll give me another shot at it, but honestly it's not worth the effort. I discovered from the engineer that the average asking rate for the other 70+ developers in Canada is $45/hour. I'm not going to work for that - as a "top 3%" developer it's so much easier to make $65+/hour full-time, remotely. Why would I settle for sporadic work and lots of risk for less money? Do yourself a favor and steer clear of those guys if you know what's good for you.
Jesus, 50 hours? I knew that they needed a project, but I thought it would be more in the 8-10 ballpark. And for $45/hr? The way they presented it to me was "you set your own rate and you get that, guaranteed", which I'm not sure how it works, since obviously some clients want to pay less.
Yeah, you can set your own rate, but they don't send you clients if you want more than $60 and hour, unless you've seriously proven yourself with them. Even so I think for reasonable rates of $120/hour you're shit out of luck. You'll be very hard pressed to break even with full employment + benefits. Give them a skip.
I had the same experience. It's very ironic - one of the reasons you want to be a freelancer my be to escape stupid interviews with those sort of "did you pay attention that one time in uni and remember enough of the algorithm to ace this?" puzzles. And here comes toptal asking me to do the same. When I had specified I was looking for Frontend work.
Exactly. Most of my value is in telling the client "you'll never needs this. Here's something that will do the job you need right now for a fraction of the cost, and won't prevent you from scaling later on", and not the fact that I can write optimized code to find the midpoint of an array so that the two halves contain an equal number of items divisible by 3 in half an hour.
Exactly the same reason why I'm not applying for TopTal. I started their tests and realised what it is about is the opposite of what I consider to be good programming and problem solving skills.
It wasn't impossible to answer, it was just a puzzle. It required you to realize some specific property of the problem, or be stuck implementing a suboptimal solution in a fiddly editor with no debugging features.
It also had pretty much zero overlap with actual software development (e.g. it completely ignored actual business needs, which is a big part of what devs should care about).
It's actually quite fun to do. I succeeded only one of the three within the time limit, and sent the results of the second one an hour or two later. I still got denied, but was told I could reapply in a couple of months.
The thing is, I'm earning a nice 70 euros per hour with local work. They don't advertise the rates, but I've heard and read it's 20-30% lower than that.
I think the problem is that it's very hard to figure out if the developer you are hiring is skilled or not ... And if you do not know whether you will get crap or hight quality, you don't want to pay the premium.
After Shadi Paterson's post about his experience with Upwork (and my own floundering trying to find freelance and contract work) I decided to make this list. Please feel free to contribute and make a great community-curated list of remote working resources!
This is bikeshedding, but I think CC0 is more appropriate than the Unlicense. CC0 covers all copyrighted works, Unlicense was specifically written for software. As this is a text file, the Unlicense doesn't really apply.
Been using Upwork a bit more intensely over the last 2 years to supplement my earnings while growing a startup. I can confidently say that 85% of my activity on Upwork is lead generation, meaning the project specifics and payment is done off the platform. I know that's violating their terms (hence the throwaway) but as others have pointed out, Upwork isn't exactly a great friend to the freelancer. I've had great success with this approach, so it certainly can be done.
Would love to get some tips on this! My top questions are: (1) how to evade detection of this by Upwork? (2) how to ensure payment from the client without the escrow service?
I've been admittedly cavalier about the whole thing and have not had any issues yet. The process typically looks like this:
1. I bid on the project and in my opening message I write that I'd love to learn more about the project/client and am available for phone/Skype call. I'm finding more and more jobs that already request a quick Skype "interview" so that's fine by me. I've never been flagged (to my knowledge) by Upwork for providing my email or Skype name in Upwork messages.
2. 9 times out of 10 I end up redefining the project scope based on my conversation w/ the client. As an action item coming out of the call, I always tell the client I'll send them a 1-pager task summary with anticipated fees and timeline via email (which takes our communication off Upwork).
3. In that 1-pager, I have a standard payment section which includes non-Upwork services like paypal, venmo, etc. At this point it's about feeling the client out. I'm not actively trying to screw Upwork, but their new pricing is just ridiculous, so I'm also not too concerned about ethics here either. I've yet to have a client get offended at the thought of completing our transaction off Upwork's platform, but I also don't push the issue if I feel hesitation.
4. Also as part of my standard payment policy is 50% payment upfront with 50% upon completion. To this day I've only been left out to dry by a client once and it was only about $650. For projects with very large fees, I'll sometimes split the final 50% up into 25% at a certain mile marker and then 25% upon completion.
I should mention that I only work with growth/marketing/content jobs, typically strategy > execution. I also put a lot of stock into my ability to suss out job owners, though I'm fully aware that instincts can bite you in your ass.
Based on what you've posted, you are deliberately seeking out work on their service, and deliberately trying to close the deal off their service, to avoid giving them any cut, in knowing violation of their TOS.
It's one thing to say you don't mind screwing them over, because you don't like them. But it's disingenuous at best to pretend you're not actively screwing them over.
(HN won't let me edit ^^ for some reason, so adding this here)
I also try to get the client to put some "skin in the game" by way of connecting me to whatever software they use that is relevant to the project (GA, intercom, etc.). This goes a little way in creating mutual trust. (That said, the one client who screwed me over STILL has me as admin on a bunch of their services.)
I'm only spending maybe 15-25% of my weekly time on these jobs as of the last 8 months or so. Sometimes less, sometimes more. Most jobs are in the $500-$1k range, though I'd say for about 65% of them I end up getting repeat work.
I use Freelancer.com a lot (both as a freelancer and employer) and it's very comparable to Upwork in terms of quality. You can land slightly cheaper projects (as an employer), and the Powers That Be behind the site tend to favor freelancers more than employers in mediation (contrary to Upwork's employers-first paradigm).
The first big thing I learned as software consultant was, don't charge per hour and now there are even portals that are called "People Per Hour" and "We Work Hourly". Funny.
Been a while since I freelanced, but I found it better to charge per day or preferably, per week or per month.
That way you avoid the problems of charging per project (even if that project is a feature), but avoid the commoditisation of people thinking they can just "grab you" for 3 hours of work.
If you are being paid per week and on day 3 the requirements change, well, it's not on you.
Well, when you charge per day it is assumed you charge for 8 hours, isn't it? For small tasks (2-3 hours) it can be better (rounding by day), but for long-term, undetermined timespan tasks (several months/years+) charging hourly also gives you a freedom to not to work 8 hours per day.
Depends on the client. Typically a day rate is a good chunk of change so it's a good way to get clients to think about things a bit more seriously / show a lot more respect for your opinion/decisions.
The problem with fix bid is the formula is hours* rate * risk of bad/fuzzy requirements. If I assume the risk I'll get a project done less expensive. I do have to management the project though.
I've been pretty much exclusively project-based with my Upwork fees. You're right in that it's usually a risk, and scope-creep is always a potential issue, but it's worked out relatively well in my experience. I usually go out of my way to provide the client with my own detailed task summary regardless of his/her job posting content, to ensure we're on the same page and to give us both a flag-in-the-sand as a reference.
The more you work with a platform like Upwork, the better you get at quickly labeling and filtering clients/gigs, and the better you get at finding similar jobs to successful ones you've completed. That's when project-based fees are great because you can trim hours by creating a system and/or template that reduces your project hours over time.
If you simply don't charge per hour you're filtering many clients out already.
The bigger the period is you charge on, (day, week, month etc.) the less people find you interesting, because they just want you for 5hours/2day/1week etc.
On the other hand you have to ask yourself, do you want to work with those people? If yes, charge per hour, if no, don't charge per hour :)
I don't even know what double skill means. What is a skill of 5 vs 10?
The point is as you get better, you can MORE THAN double your rate at solving problems. A junior programmer might spend a week writing a way to sort a list. A senior programmer might call Arrays.sort and be done in 30 seconds.
I think working hourly basis will generate low income because how much effort you will give you always get the fixed income e.g. $15/hr. Whereas if you work in a project based chances are you can finish the project early and move on to the next project.
Not sure what you mean. Surely more than 3% of the freelance talent pool is being used by companies at any one time.
In fact, I'd say my issues with sites like these is that most of them are exclusively for people who aren't that good.
I don't know about top 3%, but I'd say I'm in the top 25% for what I do and I have a hard as hell time finding top 25% clients.
I did the most remote freelancing at the earliest point in my career, while still learning, and given the cost sensitivity of most companies that hire freelancers, I'd say it works real well for that.
Just send the emails. You'd be surprised how crappy your competition is.
As noted elsewhere, that top 3% is just the gimmick of TopTal. They filter based on Codility tests. You can prepare for the tests there as well: https://codility.com/programmers/
I applaud this but I think if its just a large list of alternatives, it actually encourages people to try UpWork because the sites are indistinguishable in a list.
Best to add:
1. How many people are on this site?
2. Does it specialize in something?
It would be even better to have some proxy of quality (eg. 3. average hourly rate or something), but that is a lot more work.
Thanks for this list. Am in the process of looking for contract work.
One interesting thing is that most sites target freelancers as single people. What if I have a team of coders/designers (ie. a small software house) looking for clients? That's my current problem. Maybe will start a new thread about this.
A non-trivial number of the "freelancers" on Upworks are in fact project managers for larger teams. They'll act as the face of the project and handle communications, but the work will be done by others.
But I agree it would be nice if this was made more explicit, and even touted as a feature. In many cases I might feel more comfortable hiring a team consisting of two developers a graphic designer and a UI/UX expert as opposed to one person claiming to be an expert in all those fields.
Anyone in the security field has used any of these sites and can give feedback? I am looking for short/remote gigs to supplement my work now, could be interesting.
I was a full-time consultant for a while but decided to go back being a full time employee due to a new baby in the house.
Domino and TopTal look like they may be more suitable for more experienced developers.
What is everyone else's experience for finding work at the higher end of the market ($600 - $900 / day)? From my experience I know the demand is out there but currently all of my work comes via traditional recruitment agencies which seems a shame for the companies doing the hiring, since agencies charge fairly big fees.
I have in the past tried eLance, Upwork, People Per Hour, and they all seem to end up overrun with low-end work and low-end clients and whilst there may be some gems in there it ends up not being worth your time to sift through / send propsals because 95% of clients will choke if you mention your hourly rate.