I keep running into a sentiment online that freelancing is really hard and requires such unpleasant things as:
- Chasing down invoices
- Sending lots of cold emails and getting rejected usually
- Using such websites as Upwork dot com
- Generally getting screwed a lot by clients
- Lots of pain and suffering and feelings of why am I doing this
I argue that these are all symptoms of The Employee MindsetTM.
The one single most important mindset shift that you have to make for freelancing to work well is from The Employee Mindset to The Consultant Mindset.
The Employee Mindset interacts with clients like an employee:
- The Employee Mindset waits for the client to tell them what to do
- The Employee Mindset assumes the client will provide the structure for the engagement
- The Employee Mindset makes technical decisions based solely on technical considerations
- The Employee Mindset needs someone to give precise directions and sit on them to get stuff done
- The Employee Mindset adds work to the client's plate
- The Employee Mindset needs their hand held to be productive and solve problems
The Consultant Mindset interacts with clients like a consultant:
- The Consultant Mindset anticipates what needs to be done, and is proactive in suggesting the best path to the client
- The Consultant Mindset gives input on or provides their own structure
- The Consultant Mindset makes technical decisions on the business considerations first and the technical considerations second
- The Consultant Mindset acts as both programmer and manager,and self-directs to get stuff done
- The Consultant Mindset takes work away from the client's plate
- The Consultant Mindset holds their own hand and solves problems proactively
Nothing in life has prepared you for the freelancer way of doing things
Everything you've ever been taught in school and in college was preparing for you to be an employee. Don't take risks, don't rock the boat, stay in your corner, don't try to take over the manager's job. Quiet down, sit up straight, and do as you are told.
Naturally, this is the exact opposite of what brings success in the real world!
And do note, in many cases, The Employee Mindset is fine and good if you are, you know, actually an employee. Someone has to write the code, and in a larger organization, it isn't necessarily always helpful to try and provide consult-y type help. Trying to usurp the manager's role can be very unwanted. And I'm certainly not saying to never ask for help.
But to get the good freelance gigs, this won't cut it. One way of thinking about this is, are you just a pair of hands, or are you a trusted advisor who also happens to write code? Do you make the client's life harder or easier? When consulting, you are basically a manager and a technician in one. And both of these are skills that have to be practiced.
Upwork is basically freelancing without the benefits
The reason I dislike Upwork so much is that it lets you keep operating in The Employee Mindset as a freelancer and even do relatively well. But many of the people on there know exactly what they want, and just need a "pair of hands" to type in the code that will do the thing they want. Often rates are low, and it turns into nothing more than a harder version of having a job.
And since development pays so well these days, you might as well just get a dev job in this case.
Pssst! And by the way:
Taking on more of the Consultant Mindset is also a great way to enhance your career if you choose to stay working for an employer! I'm not an employment coach, but knowing when to take initiative without being the person who is belligerent in the eyes of the manager is a great way to get promoted. Ask, "do I make the manager's life easier or harder?"