Software consulting made easy
If you are a Clojurian, you can not find a Clojure programming job in your own country and remote Clojure jobs are not on your time zone, this article is for you. My name is Laurence Chen. I started my one man software consulting business fromĀ 2019.
My own story
I worked for startup companies for most of my professional career, but never had a chance to use Clojure at my day job. In 2019, I got a chance to build customized software in a big corporate's sales department. I built my solution in Clojure/Datomic within 6 months.
After that success, I negotiated with my boss. I told her that I wish I could run my own software consulting business, and if she still needs me to maintain my software solution, I would be happy to get paid to do that.
My boss agreed, so I began my consulting business without quitting a job. My 2020 yearly income from consulting business was about 40% of my current job. I go to my "corporate" job one day every two weeks.
The journey
To be honest, I thought I would not arrive at today's situation if I recklessly quitted my job and then started my consulting business. If you think the successful method in my story might apply to your case, please try to. Otherwise, you have better have certain savings before starting your own consulting business. Also, when I began my software consulting business, I read a book — Million Dollar Consulting (written by Alan Weiss). 50% of the ideas of this article is borrowed from that book and then combined with my own experience.
The ideal clients
There are three conditions of the ideal clients:
- They need someone to build customized software solutions for them.
- They have money.
- They know little about software.
The condition one and two need no extra discussion. The condition three came from my own experience. I found that my buyers are mostly the kind of people who know nothing about software. The potential buyers who understand software would deliberately choose others because they believe it would be easier to find another javascript contractor or python contractor.
The ideal clients may be sales department V.P. of a corporate or the CEO of a small or medium size business. A line manager of a corporate may be also good enough. However, an ideal client would never be HR people.
The pricing
I believe time-based pricing is not scalable. Also, in Taiwan, buyers do not accept time-based pricing.
I think ideal pricing model is value-based pricing: The idea is that I estimate how much value I will create for my buyer and then I charge the price of the 1/10 of that value. Therefore, my buyer would think this is a ROI 10 investment.
Currently, my fixed-pricing formula is something like:
Project complexity = Code complextiy * Data complexity + Art complexity
Art complexity = numbers of page * 4.0
Data complexity = average(3.0 * number of tables, 0.8 * number of columns)
Code complexity = backend (4) + user UI (1) + admin UI (1)
Web UI = 1
Chat Bot UI = 1.5
Mobile App UI = 3
My price would be directly proportionalĀ to the project complexity.
The marketing plan and discipline
There are two important directions in a marketing plan:
- How to reach out to buyers: referral, speaking, or networking
- How to let your buyers find you: blog, publishing, customer testimonial, etc.
The marketing discipline is something like this:
If you can meet two potential buyers a week, you will meet 100 buyers a year. A reasonable successful sale rate would be about 20%. Therefore, you may get 20 sales a year. If the average sale is X dollars, you will earn20 * X
dollars a year.
Final notes
I learned so much from the Clojure community and I got so much help from this community. If you think that I may help you, contact with me.