How to be a successful Freelance App Developer!

What is a Freelancer?

So before I start I want to explain what I mean by "Freelancer". Throughout the years as a developer I've had numerous jobs and roles but I group them by my relationship with the "client".

  1. Perm - this is a job where I have a personal contract with myself as a person and another company, they are not using my company. In total I've had 6 perm jobs, most were in my younger days as a Mainframe COBOL developer.
  2. Contracting - this is a job where I've actively looked for a role, via sites like jobserve, the end client employees my company to perform a role, via at least one third party agency. In the past they have also usually insisted that I was on site. At least half of my career has been contracting.
  3. Freelance - this is where my company has been hired directly by either another company or person.
  4. Indie - no one is employing me and I'm developing apps/ideas on my own.

Why be a Freelancer?

There are pros and cons to all of the types of roles I described above, and there is no hierarchy attached to them. If you think there is that is your own personal preference and you should never think that you are "better" than others due to the way your career progressed. Currently I would love a perm job hint hint.

I've found that contracting has always paid the best out of the roles, but it can feel like you are part of the companies politics at times.

Freelancing, with the right client and managed expectations, is the best of both contracting and indie combined, but those combos are not always easy to come by. I do find a great sense of achievement with Freelancing, the client is passionate about their app and I help them fulfill that dream.

How to be a Freelancer?

OK, so here is the tricky question, and if you are looking for a simple answer I'm afraid you're not going to find one (but if you do please let me know).

Most of my freelance work has come about by people finding me via this website.

Therefore your website must be professional, up to date, and SEO is key, I was lucky to have my freelance friend David to help me.

After the website, comes recommendations from people/clients I've worked with.

I shouldn't have to say this, but to get recommendations, you need to be a person that people would happily work with again. Treat people with respect, don't talk to them as if they are idiots because they don't know the difference between HTTP and HTTPS (you get the idea). Just because you have technical knowledge that they don't doesn't make you superior.

Its not easy to get people to find you, so when they do don't throw the opportunity away.

Social interaction, is another way people can find you, either at meet ups, via twitter, see if someone will have you on their podcast. I was honoured to appear on Apfeltalk LIVE! Great fun!

While you wait for people to reach out, write your own apps, build a portfolio. Show the world that you have what it takes to complete a job all the way to the store. Don't expect these apps to make you money, if they do then you've hit the jackpot, congrats, tell the world, that will also get you noticed for freelance work. If it doesn't tell the world anyway, you need to self promote!

Tips from a Freelancer

When I do get contacted regarding a possible freelance gig, I have a few steps I go through...

  1. Read what they've written a couple of times before attempting to reply
  2. Does it sound like the sort of request where they are asking for Instagram, but have a £50 budget to go with it. In these cases I give a real high overview of what they are asking for, with a "this is going to take x months to develop and my day rate is £xxx. If you are still interested in pursing the work with me let me know" sort of response. This will weed out anyone who thinks that developing an app is a simple process.
  3. Breakdown at highlevel what you think the key areas are going to be and how long you think these are going to take, this allows you to give the potential client a general idea of what they are getting into. This obviously gets easier with experience, so when writing your indie apps try and include things people are asking for, location based, push notifications, AR, etc.
  4. Also in the reply ask them questions, things they might not of thought about...
    • Localization
    • Do you need iOS and Android
    • Hosting costs, if there is a backend
    • If they have an existing system they want the app to integrate with is there an API already
  5. During the exchange there may come a point that they say they will look for someone else. It happens, and you may feel like they've used you just to get information. In some cases this is true, but in others they will remember that you were helpful and knowledgable and they could come back. Wish them good luck and let them know you are here if they need help in the future. I've had a few clients come back

Freelancer Stretch Goals

If you have the capacity and it doesn't put any project at jeopardy try to have a couple of freelance projects on the go at the same time. There will be delays or slow points in any project, so being able to juggle a couple of projects will keep you busy and help with cash flow. But don't do what I did, at one point I had 9 projects on the go, while there were gaps and the work slotted in nicely, its still too many to juggle and the stress ends up being too much.

Learn other development languages/techniques, I've never had the luxury of being able to say I'm only doing iOS, a lot of the time people come to me because they know I can do both iOS and Android. I can also code a complete back end if needed using C# or a WPF desktop application.

Payment, for most projects I ask for 30% at the start of the project, 30% when I hand it over for their sign off and the last 40% once the app is live in the store. The 30% upfront shows their commitment and the 40% at the end shows yours. But again be flexible, if its a long running project, either add more milestones with smaller payment amounts or ask to be paid for days worked each month.

Be a Freelancer!

You've made the decision and you are going to go for it and I wish you all the luck in the world. I'd really like to hear what you think, or if you got tips you'd like me to add.

Send me a tweet Flexicoder

You are a Freelancer!

Congratulations, there are a few additional things to remember...

  • Help others, remember you were struggling once
  • Promote others, a RT or a congrats doesn't cost you anything, but it shows you are taking notice
  • Never think that you are better than anyone else
  • Wear a mask, not just for yourself but the people around you, they are someones family
  • BlackLivesMatter