So, you want to be a freelance programmer. Great! Freelance techies are always in high demand, especially web developers, software developers, designers and the like. Small companies often don’t have the workload to hire a programmer full-time, so they build relationships with freelancers and work with them as needed. Larger companies will take on freelancers for special projects to relieve the pressure on their own developers – usually for fixed contracts of a few weeks to a few months. So the good news is you have plenty of options, and with the right skills you can carve out a nice little niche for yourself.
In fact, there are so many opportunities for freelance programming that it’s pretty easy to earn a decent living doing it full time. However, there are few very important steps to take before you can get to that point. It goes without saying that you need to have well developed technical skills, so we’ll assume you’ve already gotten to that point. Wondering what to do next? Here’s where to start…
Fine Tune your Communication Skills
If you think you can let your awesome programming expertise speak for itself, you are sadly mistaken. Even if you’re the best developer in the world, you’ll never win clients if you don’t know how to communicate with them properly. Freelancing in any field is a much more people-focused business than a traditional desk job. You’ll need to convince potential clients to hand over cash in exchange for your services. Then you’ll need to understand exactly what they’re looking for so you can deliver the desired result. Then you’ll need to keep them informed throughout the project to make it run smoothly and efficiently. And while all of that is going on, you’ll also need to build a rapport so they’ll be more likely to hire you again in future. It’s impossible to do this without making the effort to communicate with your client as much as possible. Stay open, honest, and be friendly but professional.
Get to Grips with Content Marketing
Having technical skills is a great start to becoming a freelance programmer. Good communication skills to go with them is even better. But even that dream team won’t win you clients right away, because nobody will know where to find you! Marketing yourself is a necessary and never ending part of the job, and goes hand in hand with good communication. Read up on content marketing strategies. Get an online presence, at the very least a portfolio website. Start a blog – if you can’t populate it with your own content, curate from other places and credit appropriately until you can. Run campaigns on Google Adwords as a local business. Join LinkedIn, if you haven’t already, and optimize your profile. Don’t neglect good old fashioned word of mouth too – get out there and meet people face to face. Old school networking goes a long way.
Stay Plugged In and Switched On
Keeping abreast of what’s going on in the industry is vital for any programmer, freelancer or no. Make time to browse developer blogs, forums, and take a look at resources like GitHub and Stack Overflow regularly (or better yet, contribute to them yourself). Not only do you get a head start on where the industry is going and what potential clients could soon be looking for, it can also be a good way to get involved in interesting side projects, meet like minded people, and once again, network. You never know, you could even win a new client after showing off your expansive knowledge on a high traffic forum site like Quora. You should also always wear your ‘developer’s thinking cap’ – if you see a potential client lead or business opportunity, follow it up.
Set Some Ground Rules
This goes for both you and your clients. Don’t settle for a low rate at first to help build your client base – they’ll expect the same rate going forward. Decide a base rate and don’t alter it for anyone, even friends and family (at least to start with). Make a weekly schedule for yourself and always, always stick to it. If a cool project comes your way and you can’t fit it in because of other commitments, decline it. It’s worth setting out certain boundaries with your clients too, such as when you’re available for phone calls/meetings, agreeing on scheduled updates and deadlines, and what you can and can’t fit into the given budget. And it goes without saying, keep your official paperwork and accounts in order at all times.
Cover All Bases
Many freelancers use sites like Elance, Upwork, Freelancer etc. To find clients. These are global platforms for clients to hire freelancers – usually you set up a profile and ‘bid’ for projects they post along with other freelancers, and the client picks the person most suited to their needs. It’s a great way to build you portfolio when you’re starting out, and is fantastic experience for developing those communication skills we talked about earlier. You should absolutely have a presence on any or all of them – you never know what exciting opportunities you could be missing out on. BUT beware of biting off more than you can chew. Give your existing clients the attention they deserve first, then work on winning new ones once their needs are taken care of.
Expand Your Skillset
There will come a time when you’re close to exhausting your initial client base. You’ve either already worked with everyone who’s willing to hire you in your local area, or they’ll have run out of projects for you to work on. When this happens, it’s the perfect time to expand your skillset. Learn a new language or a related discipline, work it into your content marketing, and suddenly you’ll have opened doors to a whole new heap of clients. Before you know it, you’ll have a glittering career as a freelancer and can maybe even take the next career step; becoming an expert consultant.