Do You Need to Be a Really Good Programmer to Make a Living Freelancing?

It’s a valid question – how good do your programming skills need to be (and how much does that matter) in the world of freelancing?

The Question:

Do you need to be a really good programmer to make a living freelancing?
How advanced does a programmer need to be in order to make a living as a freelancer taking jobs from freelancing sites like Odesk or Elance? What kind of technical skills need to accomplish beforehand?

The Answer:

When it comes to raw coding ability, everyone will argue as to what “really good” means, so I’ll say this: you should be at least at the “Consciously Incompetence” stage on the Four Stages Of Programming Competence scale. It is here that you have some fundamentals down, but your eyes and your mind are open to what you don’t know. In this stage, you are actively working toward improvement and understand the necessary elements of doing so. This, I think, is the absolute minimum price of entry into programming for money.

Side note: yes, we all know a programmer who is “Unconsciously Incompetent” and manages to make a good living anyway, but nobody should aspire to be that guy, so we won’t address him here.

In every programming career, you will be aided by having soft skills. You will be aided by the ability to communicate clearly with/get along with/foster trust with/form bonds with people. You will be aided by the ability to understand the bigger-picture business implications of your work; understanding not just the how but the why of your development endeavors will make you more valuable in any career scenario. You will be aided by the ability to sell people on your ideas about the best course of action, the ability to persuade them that you are the best choice to take on a particular module of work, the ability to really listen to what they’re asking for. These skills are helpful to a programming career whether you’re dealing with co-workers or clients, and I encourage you to develop them.

Now, how much these skills will help your career depends upon what kind of freelancing you’re doing. I have experienced three broad modes of freelancing as a programmer-by-training:

Staff Augmentation. A staff augmentation scenario is one in which you’re being deployed to staff a project; I’m guessing that this is a good portion of the work you find on oDesk/Upwork or eLance.

If you’re purely a plug-in resource, another code-generating asset on a team of code-generating assets, then the higher your raw coding ability, the better. In a staff augmentation scenario, you want to be a “force multiplier”. If you’re not familiar with that term, Wikipedia defines it thus:

A force multiplier refers to a factor that dramatically increases (hence “multiplies”) the effectiveness of an item or group.

In short, if staff augmentation work is how you’re going to make a living freelancing, you want to be a strong enough programmer that the project gains more than 1-average-programmers-worth of value by hiring you. Ideally, you’ll bring a high enough level of technical competence that the more junior programmers on the team can rely on you as a mentoring resource, and the more senior programmers on the team – assuming you’re not one of them – feel confident that they don’t have to babysit you.

Bottom line: In a staff augmentation scenario, the higher-horsepower programmer you are, the better (but you’ll still need soft skills).

Project Contracting. If you’re soliciting and taking on whole projects by yourself (or with the aid of a small team), your soft skills are arguably more important than your programming skills. I’m guessing that this is some portion of the work you’ll find posted on oDesk/Upwork and eLance.

With this type of work, the question is not so much “how good of a programmer are you?” but “can you grow beyond a purely technical skill-set?”, because now you have to solicit work, sell work, manage projects (even if it’s just you), set client expectations, and offer support. Clients – especially the types of client you’ll find on the aforementioned project-posting sites – will often be inexperienced with technical projects and have expectations that are out of line with reality. Your job is to develop the right skills to not just deliver the work, but to frame how the work will be done, and what is or is not standard or realistic in any given scenario.

Being a strong programmer is still beneficial, especially if you’re a solo contractor who will be doing all the work yourself. In fact, even if you outsource all the project work to other programmers, being a strong programmer will allow you to vouch for the quality of the code being produced for your client, and directly address issues with your programmers in their language. This is an often-overlooked benefit of “staying technical” even as you spend more time project-managing.

Bottom line: it’s still best to be a strong programmer, but in this work scenario other skills begin to rival – if not outstrip – technical skills as being of primary importance.

Consulting. As a consultant, your primary role is to give advice and provide value via your experience and your perspective, more so than by producing any technical output such as code or database objects. I’m guessing that you’re not going to find much of this on freelance project-posting sites.

Consulting can be an odd world to make a living freelancing in at first, but can also be incredibly validating and lucrative. Consulting clients are, in effect, paying you to tell them what you think they should do. It’s possible to be rusty at writing code, but still be able to serve effectively as a consultant based on your extensive experience with programming concepts & fundamentals, in addition to your knowledge of the practical applications of what the client is trying to do.

As a consultant, my opinion is that you should stay technical, and that you will benefit by doing so, but it’s also true that in this role, your people skills, project management skills, and sales skills will be more important than ever before, arguably more so than as a Project Contractor.

Where to find (and close!) deals for work? The question as posed relates to freelance project-posting sites such as oDesk/Upwork and eLance, and it is possible to find work in these places, although I don’t recommend making them a primary source of leads. As with any vector for bringing in leads, if you plan to make a living freelancing, you’ll need to be able to communicate well, demonstrate the potential for value to the prospects who contact you, and frame preliminary conversations not in terms of programming output, but in terms of business problem-solving.

Being able to do this will set you apart from the rest of the pack right off the bat. You’ll still be locked into a system where price is put forth as the primary differentiator, which is a shame, but all else being equal, the better you are at quickly building rapport with your leads and demonstrating that you understand the problem they’re trying to solve, the more successful you’ll be at closing deals for work.

This is true regardless of your level of technical competence, but watch out – people who are really good at closing deals, but really bad at delivering acceptable work product end up with a rotten reputation, and the stink of a bad reputation can sink even a talented programmer who is eager to make a living freelancing.

Here’s to your success as a freelancer!

* * * * * * * * * * * * * * * *

Once you’re at the point where you have good, steady client work coming in, you may find that the soft skills mentioned in the answer above are more important then ever. To help develop these skills, I offer Conquering Client Conflict, a free 10-day e-mail course that helps freelancers and consultants to make more money & get more respect by resolving common conflict scenarios. Are these types of problems common in your business? If so, sign up for Conquering Client Conflict today and start improving the quality and profitability of your freelancing business. Good luck!

A Client Did Not Pay Me For Software Work. What Should I Do?

It’s a hazard of the profession – sometimes a client will try to weasel out of payment.

The Question

A client did not pay me for software work. What should I do?
I created a tax website for a client of mine recently. He used my server for all his customers work but after tax season he refused to pay me my commission. I still have his customers data on my server. Shall I email them and let them know that their accountant is a scum bag? Can I be sued for that?

My Answer

Sorry to hear you’re in a bind with this client. I’ve been there and I know it feels awful.nora-nonresponder_email

I’m curious about this:

after tax season he refused to pay me my commission

Your question began with “a client did not pay me”, but…did the client ever explicitly agree to pay your commission in the first place? If not by an actual contract, then even by text or e-mail? If so, you *might* have a contract that is enforceable, depending on the law where you live. I am not a lawyer and this is not legal advice, but it’s worth looking into.

And has the client actually refused, or simply gone silent? If he explicitly refused, what were his reasons?

Sometimes – not always, but sometimes – simply reminding someone that:

  • they agreed to pay X in exchange for you doing Y, and
  • you’ve done Y, so it’s time for them to pay X

can be enough to get them to own up and make payment.

Once you’ve educated your client on the agreement he entered into, move on to enumerating the consequences of non-payment (these consequences should not include e-mailing his customers to tell them he’s a deadbeat, by the way). Since tax season is over, taking down his site or cutting off access to the server may not be much of an incentive, but by all means, put it on the table. If going to court to obtain a judgement against him is a potential outcome, make that clear as well. If your client is licensed, contact the licensing or regulatory agency and see if they’ve run afoul of any regulations by not paying you.  Some regulatory agencies take a dim view of their licensees causing “client did not pay me” scenarios.

Remember – this is not legal advice, so please consult an attorney to make sure that whatever you intend to do is within the bounds of the law.

If your client continues to explicitly refuse to pay, you need to hold the line and actually follow through on whatever consequences you enumerated.

  • Did you inform him that his site will go down for lack of payment? Then follow through on it.
  • Did you inform him that you’ll take the matter to small claims? Then follow through on it.
  • Did you inform him that you’d be contacting his licensing agency?  Then follow through on it.

Enumerating consequences is useless without follow-up.

sammy-slowpay_emailUltimately, it’s possible that you could discontinue hosting the site and even win a judgement in small claims, and still not get paid. But do pursue payment vigorously, withing the bounds of what was agreed to between you.

And in the meantime, get back out there & start cultivating relationships with new potential clients. Just make sure that next time, you avoid the “client did not pay me” scenario by taking these precautions:

  • Screen the client better. Very often, a potential client will present some clear red flags during the initial consultation. Trust your gut on this. I bet that if you think back, you’ll be able to identify things with this client that you should have seen a red flag early on.
  • Get payment up-front. You’re not an investor; you’re a vendor. You’re not obligated to extend credit to your clients. I know freelancers who take 100% payment up-front. You may or may not be presenting as a strong enough professional to do that, but I bet you could get 33% – 50% up front.
  • Don’t enter into contingent-payment arrangements. You mentioned that the client owed you a commission; this is probably the worst way a freelancer can work. Again – you are a vendor, not an investor. Vendors get paid. Vendors do not shoulder any risk. The risk of your client’s business endeavors rightfully belongs to your client, not you.

* * * * * * * * * * * * * * * *

The answer above is based on material from Conquering Client Conflict, a free 10-day e-mail course that helps freelancers and consultants to make more money & get more respect by resolving common conflict scenarios.  Are these types of problems common in your business? If so, sign up for Conquering Client Conflict today and start improving the quality and profitability of your freelancing business. Good luck!

How To Turn Down Freelance Work Gracefully

If I’ve said it once, I’ve said it a thousand times: freelancing and consulting work are like sunlight; there’s enough for all of us to get a tan.

That said, in the coin flip of life, some days don’t feel like you’re operating in a world of abundance. This freelancing game can be brutal.  Sometimes things look bleak, and you wonder if you’re going to make it.

The minute you start radiating struggle or desperation, a predatory (at worst) or clueless (at best) potential client will appear, sensing your weakness and enticing you with a fat – or so they say – check, if only you can accommodate their abusiveness, idiocy, or micro-managing.

You begin to wonder how critical is it that you close this job? Ask yourself if you’re willing to be married to a client who is throwing up red flags before you’ve even done any business together?  Can you tolerate their behavior once there are stakes?  Sometimes you’ll decide that things just aren’t bad enough to willingly subject yourself to frustration.

The other side of the coin flip of life is that sometimes things are going like gangbusters.  Sometimes the freelancing game opens up and gives you the goodies you’ve been working so hard to acquire. Keep Reading…

How To Launch A Product, Lose A Contest, And End Up A Winner Anyway

It was only Day 2 of the Gumroad Small Product Lab when I decided not to bother participating.

No, it was late on Day 2, even!  After signing up on Day 1, I hadn’t really decided to launch a product; signing up was driven more by curiosity than anything else. My hope was that  Gumroad would be offering some secret marketing info that I could use to promote my podcast. I had no idea how close that hope would be to what actually transpired.

Chatting with friends on Day 2, I deliberated over whether or not to do this, and what kind of a product I could do. In typical form, I had a hard time thinking truly small – a hallmark of my career is my tendency to over-engineer everything I do. Usually, this works in my favor; on a 10-day time-span, over-engineering would yield the same result as not starting at all; a no-finish. Keep Reading…

How I Accidentally Launched On Product Hunt

When I launched my new podcasting book recently, I had a halfway-decent promotional plan mapped out. My mailing list would be the centerpiece, my Twitter account would dribble enticing podcasting quotes, hashtagged to capture attention from interested folk, my friends would RT me or post promotional tweets of their own, and I’d pop in to forums & try to helpfully answer questions about things that could be found in my book.  None of this is super-advanced in terms of marketing, just a dedication to executing on some basics – which is good, because my marketing skills are basic!

What was NOT a part of my initial plan was for the book to be launched on Product Hunt.

All things being equal, I wanted to get listed, but I honestly knew very little about it. I had an account on PH but had never used it. I had heard many stories about creators and founders posting their product to PH and seeing it promptly disappear. Reading the rules regarding who is allowed to post comments and who isn’t, and how it’s all determined, I got the vague sense that being launched on Product Hunt was like ordering from the Soup Nazi on Seinfeld – one mistake, and you’re outta here! Man oh man, did that turn out to be wrong, but we’ll get to that in a minute. Keep Reading…

Free advice on running a freelancing or consulting business, delivered to your inbox.

Join hundreds of others in learning from my 12+ years running a freelancing business. From difficult clients to managing contractors, I've seen it all, and I can help you create the business you actually want to have.

No spam, ever. Unsubscribe at any time.