This article has been contributed by Norman Arvidsson.
A little more than 5 years ago, I was working full-time in the IT department as a level III help desk technician, and moonlighting in the evenings as a web designer. I was bored out of my mind during the day, but I absolutely loved what I was doing in the evenings.
So, I made the decision that I would quit my job and go into freelancing full-time. Today, I could not be happier that I made that choice. However, that doesn’t mean that the process went perfectly. I made plenty of mistakes when I started. I lost a few clients, and cost myself more money than I would like to admit.
Fortunately, with mistakes come lessons. Here are 7 that I have learned.
1. To Demand What I am Worth
When I first began working as a freelancer, I was so afraid of not making ends meet that I literally took any job I could no matter how much a lowballed my bids. I even made the classic mistake of doing work for referrals and exposure. What I learned was that you don’t get much exposure working for nearly nothing. I also learned that the people who want to get free work in exchange for referrals, don’t usually follow up on their end of the deal. Today, I charge a rate that matches my skills and experience, and I deliver quality in exchange for that.
2. That Keeping a ‘Scrapbook’ is Extremely Useful
I never thought I would spend so much time on Pinterest. After all, I’m not an interior design or arts and crafts person. However, what I have found is that Pinterest is a perfect place for me to store useful things that I have created or found that can be used on future projects. I have pin boards for design ideas, tips and techniques, and templates and frequently used snippets of code. Now, rather than reinventing the wheel or trying to find something on the internet once again, I just look through my pins. It’s helped me get a project done quickly more than once
3. That Starting With a Plan is Essential
One of my specialties is taking over broken projects and dealing with post implementation emergencies. Basically, what this means is that I jump in when other designers get in over their heads, flake out, or when things go badly south on something that is already running in production. As a result, I’m used to jumping right in and coding. Unfortunately, I’ve shot myself in the foot a few times because I didn’t take the time to make a plan before I got to work. I’ve learned that I must have a plan in place before I start working, even if that plan if formulated extremely quickly.
4. You Have to Follow The Technology Even When You Don’t Like it
It would be wonderful if I could only code in languages that I love, on platforms that I love, using tools that I love. Unfortunately, that just isn’t reality. When a client begins using a technology I dislike, I learn that technology anyway. The same is true when it becomes apparent that industry trends are going in a direction that I dislike. I learn what is going to allow me to successfully market myself and earn money.
5. That Scope is Absolutely Crucial
Somebody once told me that designers and developers need specs to stay on track, and clients need scope to do the same. Starting a project without establishing the scope and getting buy in from everybody involved is a recipe for a disaster. The results are mismanaged expectations, no real way of measuring whether or not things are being finished on time, and no way to get to the end of the project.
6. That it’s Nice to Have One or Two Sources of Ongoing Work
One of the most stressful elements of being a freelancer is obviously income uncertainty. On the other hand, it is so exciting to work with a variety of clients on a variety of projects, that I have always found the idea of ‘chaining myself to a desk’, and going to work full time absolutely appalling. So, to balance out my need for financial security with my need for change and growth, I focus on a variety of clientele. I have a few ongoing contracts with bigger companies that provide me with a guaranteed income each month. Then, I focus the rest of my energy on finding work that excites me.
7. The Importance of Checking in With Clients
I have learned that the most important thing that I can do to maintain future success as a freelance developer is to create strong relationships with my clients and to nurture those relationships even after a contract has ended. I email past clients once a month or so to check on how things are running for them, ask them how they are doing, and to remind them that I am always happy to help if they have a question or concern (no I don’t charge for that). I want my clients to know that I am concerned with the success of their businesses, not only with the money I can make from them.