Time and time again I get emails starting like this:
Good morning Harvey Nash Business Partner,
I would like to make you aware of a new contract that we have open at the moment[ … ]
I didn’t bother to anonymize this particular example because somebody who can’t bother to look up a person’s name on the Internet certainly doesn’t care about some negative publicity either. So, go look up their website, I’m sure Harvey Nash are nice people after all.
Anyway, I can only presume recruiters can get away with this kind of rude behaviour because freelance developers are often self-depreciating. Many freelance developers don’t seem to consider themselves business people but rather act as if they were some kind of commodity merely consisting of a bunch of TLAs that can be pushed around at will.
Many developers also seem to be focused on the technical part of the job, i.e. the plumbing of how the technical components behind a business solution work and how those components work together. Instead, I’d say developers – and certainly the freelance variant – should first and foremost look at the business problem they’re trying to solve. After all, however buzzword-y the term has become, that’s what design thinking is all about. As a developer you might at first venture a bit out of your comfort zone to achieve this but this will be much more rewarding than just being the technical plumber in a project whose work nobody else on the team really understands and who doesn’t seem to contribute anything of value and hence more often than not is treated as a necessary adjunct but not as a valuable member of the team.
I’m sorry to crush your soul but most of the work in run-of-the-mill business software development – however complex it might seem – in the end conceptually is CRUD or: Moving data from one place to another, maybe transforming it along the road to make it more useful or more digestible to the receiving system if you’re particularly adventurous.
Instead of “Should I use ‘Grunt’ or ‘Gulp’?” (or ‘Maven’ or ‘Gradle’ for the more Java-inclined crowd) developers in my opinion should ask “What problem am I trying to solve?”. Because, frankly, in the big picture which framework you choose likely doesn’t matter at all. Your project won’t fail because you chose Grunt over Gulp but because of very human things such as unclear project goals, inept project management and broken communication. Those are the aspects you should focus on.
So, freelance developers or developers in general for that matter: Don’t put up with condescending behaviour from recruiters or being treated like a ten-a-penny commodity. Your skills are highly valuable today. Software creates a tremendous amount of value in businesses nowadays. Additionally, if you’re able to see through a complete business solution instead of just providing the technical plumbing you’re a highly sought-after specialist.
So, show some of the confidence that comes with such a position when negotiating for your next deal, job or contract. If the client doesn’t like that he’s likely not worth the trouble anyway. Don’t be afraid to walk away from a deal. Your skills are in such high demand today that for each abrasive or just plain indifferent and listless recruiter, for each fishy or sketchy deal, there are 10 clients waiting in the wings who’d more than gladly work with you.
PS: No matter what your daily rate is (and yes: If possible, always charge in daily instead of hourly increments.) it probably still is too low.