Like many developers I have found myself self employed, a situation I am rather enjoying. The problem is that while I have worked as a software developer since around 1994 and I have learned quite a lot about being a developer, I have not been running a business for very long and I have found that I have a lot to learn.
Note this post uses the term “Free-lancer” as a rather generic term for anyone selling a service type product. How we describe ourselves to our clients and friends is a rather complex question and beyond the scope of this post.
The good thing about jumping into free-lancing in 2017 is that there is a lot of good information out there. This post will list some of the podcasts, books and blogs I have been consuming and what I have learned from them. After all why should I make the same mistakes when I can learn from what others did?
In prior times I have been a free-lancer and worked for an hourly or daily rate. While this is a reasonable way to get started, later I found Jonathan Stark’s podcast Ditching Hourly in which he argues that it is much better for service providers to give a fixed bid based on the value of the work to the customer and not the inputs (hours worked) this has several benefits, first of all it aligns the interest of the developer with that of the customer, it also allows the customer to make a choice based on a fix price and not a guess that will probably be way off. I am not going to repeat everything he has said, but suggest that you go and listen over there.
One thing I have learned from there is that it is better to niche down to a very specific market. I was at a meetup about 2 years ago in London where someone was helping founders focus their pitch. What bothered me was that before each pitch he asked who the pitch was targeted at. A shocking number of people said everybody. As a rule unless you are Coca-Cola no company sells to everybody.
It is worth focusing on one market, the smaller the better (Within reason). Decide you are going to serve one market and do one thing for them. If it is too narrow you can adjust latter.
It is also worth checking out Double Your Freelancing Rate by Brennan Dunn.
Another though I have had (from various sources) is that we developers spend way too much time speaking to other developers and not enough (or any) time speaking to those who might wish to hire us! If I am an Erlang/Elixir Developer and I go to the local Erlang/Elixir meetup I will meet other people who are doing what I do. The problem is that they are not the people I can do the most good for. In general if they are looking to hire someone it is to augment their existing staff, not to do something that they can’t do at all.
On the other hand if I go to the local marketing meetup I will talk to a lot of people who are probably not software developers, but may need to hire one. In many cases the value I can deliver to those people will be far greater than the value I could do for an existing development shop! So go find meetups of people who are in different fields that could become your niche.