Being a freelancer for 3.5 years has taught me some lessons. I’d like to share them and save you from some major headaches. I hope you won’t have to learn the hard way, like I did.
- Learn to say no. It’s good to take every project when you’ve just opened for business and need work for your portfolio and bank account. But after a while, about 1 year, stop and think – who are my best customers? Who do I enjoy working with? Who pays me well and on time? Who do I hate working with? Work only with the former and fire the latter.
- You’re not just the technician. As Michael E. Gerber explains in “The E-Myth Revisited”, when you start your own business you’re not more than a developer/designer/writer/cook. Just like baseball Bugs Bunny who plays all positions, you also took up, unknowingly, bizdev, sales, marketing, tech support, and accounting. You can outsource some of it, otherwise it’s up to you to learn these positions & perform them.
- Read books. Not just about your profession, but also about other sides of your business. Especially read books where you suck – reading “Guerrilla Selling” enlightened me what sales are all about and boosted my ability to close deals. A must read for all freelancers is the useful “How To Be A Freelance Rockstar”.
- Customers are crazy. Customers may have weird demands that won’t make sense, demands they will fight War World III to defend. I don’t want Poland to be re-invaded, so I politely explain why their demands aren’t a good idea. If they still want to go through with it, no problemo, I price it and get to work.
- Spec & design first. People want their websites done yesterday. Maybe, just maybe, they know in their minds how the website will look and feel, and they have no clue that you don’t. Thus, when I took projects without a spec and design the result was a big mess. From then on I guided each client about the project stages – initial meeting, specification, design, development, testing, and release. You’ll be surprised how much respect you’ll get when you insist on working in an orderly manner. If that’s not possible, charge by the hour, and if that’s not possible, please see item 1.
- Pricing is a mystery. Sometimes people ask me how much a website costs. I ask them in return how much a car costs – it depends on what you want and what you need from your car or your website. However, while cars have price listings by model and year, websites don’t. There is no objective figure how much a website costs. Customers compare it with what they heard from friends and offers they got from your competition, some of which may be cheaper and some not. The question is what kind of service do you offer – are you a third hand 1984 Fiat Uno or are you a brand new Mercedes Benz? Give up the customers that don’t fit your level of service. Aside from that, experiment with prices and see what works. If the customer didn’t negotiate then you bid too low, and if the customer vanished then you bid too high.
- Estimate time pessimistically. Technical shit can hit the fan, clients may be late on deliveries, or you may need a sick day. Give yourself more time than you think to get a project done. It’s better to surprise customers by finishing early than letting them down by finishing late.
- Use a CRM. Soon enough you’ll be negotiating and working on several projects at the same time and you won’t be able to juggle them in your head anymore. A CRM let’s you easily see what’s the status with each client and set future tasks for deliveries and followups. I use Capsule CRM. It’s freemium, basic, and super easy to use.
- Conventions networking sucks. It’s nice to air out, have some catered food, and meet other people. However, I didn’t get any new projects by networking in conventions. I’ve heard similar experiences from other freelancers, one of which gave his business card to literally everyone in a conference.
- Meet colleagues. Take some business lunches to share tools and funny customer stories. It’s good to have a support system and a shoulder to cry on, someone to help you when things go crazy.
- Word of mouth rules. My best projects came through satisfied customers who recommended me to other like mindeds. I never needed to do any advertising or even erect a Facebook page – my enthusiastic clients did the marketing for me.
- Take advances. This guarantees customer won’t screw you over when it’s time to pay, and you’ll have some money for coffee before the project is over. If customers won’t agree to give you an advance, no matter who they are, they probably won’t pay you at all. Dump them.
- Don’t cross your limits. There’s a big problem being a freelance web developer, at least in Israel – new demands and changes come up way after the spec & design and you’re expected to include them in the price. Unfortunately I often did. It was my fault since I didn’t set my limits from the beginning. Today I explicitly say that all changes from the given design/spec will be charged an hourly rate. And what do you know, it works.
- Trust your instincts. All too often that familiar “I knew it!” feeling came up when a project went sideways. So, spare yourself the misery and listen to your instincts. Sometimes my instinct told me to watch out even though I had extremely friendly meetings with new clients. Later, when it came time to work, the customers took off their masks and things got ugly. “I knew it”.
Happy freelancing! If you have more advice, please share them in the comments.
(photo by World Bank Collection).