These are skills you might find useful as a freelance web developer. You’ll notice they are not relevant to actual web development.
If you’re working in a larger environment, it can still be useful to note the basics of these: someone who understands basic limitations of other people’s jobs is usually easier to work with, and can sometimes provide cross-disciplinary insight. However, in a larger organization you’ll also probably have another person — if not a department with multiple teams — to worry about these things, so it’s not as crucial.
Web Content Creation for Developers
There are some intricacies to text, especially when tied into SEO and marketing. Advanced skills in this area include generating SEO-specialized content — and I don’t mean the keyword-stuffed articles of 2003. These days, content specialists write articles, pages, and content that is both easily digestible to search engine algorithms — and (as in within the same article!) delectable, shareable, viral-ready to humans. Those who are really, really good at it even write from a particular tone according to their current publication and have an incredible variety of voices.
As a web developer in a large company, you’d rarely have to do any writing, SEO, image, or other content generation. There would be entire departments dedicated to these pursuits in many cases. However — again, in small agency or freelance work, being able to multi-task and satisfy as many of the client’s needs as possible is a good thing for you — and for the client, who doesn’t have to work with a segmented “team” of fifteen different freelancers.
Web Developers and Client Communication
You need to have excellent communication skills. You need to know how to talk to people — and more importantly, how to sell them on an idea. You should be able to seduce someone and how to put your foot down and be firm.
Leading the Conversation
You’ll have to lead people. You might actually have to explain to someone how you aren’t a social media person and how social media management isn’t included in a one-time web development project. You might actually have to explain to someone how you can’t just build them a website, they need to purchase hosting and a domain name.
You aren’t going to be working with highly technical people who understand the ins and outs of your job (when does anyone ever?!), so you will need to lead them in the right direction so they understand how best to complete the project. A client without technical experience who is unwilling or unable to acquiesce to your expertise — one who insists on directing you in the minutiae — is unlikely to provide a joyous, productive experience.
Talking Sensibly
One big part of communication is talking in a way that makes sense to the client. It’s very easy to talk over someone and fling around a bunch of technical terms. This intimidates and overwhelms people, and sometimes even makes them feel condescended to.
Most of the time, talking sense to your client means one surprisingly (well, it was to me!) simple thing: talk about value to them. For example:
- Instead of talking about how a VPS has X amount of RAM and Y super-fast CPU, explain that a VPS will make their pages load faster and get people to the checkout faster.
- Instead of talking about how a contact form is positioned on a responsive mobile layout to optimize conversions, explain that the form’s position on the phone is easier for mobile users to see and complete.
- Instead of talking about how X, Y, and Z will help SEO and increase traffic, explain that X, Y, and Z will bring more people to the site through Google.
The idea is to avoid buzzwords, and instead prefer the simple explanation that ignores everything in lieu of what value the change will provide for the client.
If the client asks why or how these things are accomplished, then you can give them a simple technical explanation. But most of the time? Clients don’t care, they only care about the value to them.* The clients you want to work with trust your technical expertise, and understand they’re paying you to understand the why and how — their primary interest is their business.
* This works wonders for content writing/creation. Forget what you want to say about X product or Y service — write about the value it provides above all.
If you have to discuss a technical issue:
- Avoid using technical terms where possible, especially in rapid succession.
- Analogies can sometimes help, if they’re good analogies. Avoid muddying the waters too much or condescending with too-simple analogies.
- Prefer short, simple sentences when discussing a technical issue. Cut the fluff and any unnecessary words/phrases.
- If you’re talking face-to-face or over the phone, leave pauses or ask if they have any questions so far at regular intervals. Don’t steamroll.
Contracts for Web Development Freelancers
I’m not a lawyer and this isn’t legal advice!
This part really sucks, but if you want to work as an individual freelancer, you need to have a contract for yourself. Seriously. Hang around on freelancing forums: the “my client hasn’t paid me” will come up. It happens. It’s common.
A contract makes it much easier to enforce your legal rights to payment (though, as anything, it is certainly no guarantee). Without a contract, it can be very, very difficult. It is possible to enforce e-mails and conversations as contracts in some cases, but these things are never as clearly outlined as a written contract, tailored for each project.
Use a contract. Always. Even if it feels impersonal. Even if you’re making a website for your uncle.
The client who is offended at the idea of a business agreement for doing business is not a client you want. They will waste your time, and you may not even be paid for your efforts.
Another reason to use a contract: it helps immensely in preventing scope creep. A contract that clearly outlines what is to be accomplished in the project, in clear and specific language, is an excellent reference when the client wants you to do fifty hours of work for free.
Reading Others’ Contracts and Agreements
If you work for larger companies, they will sometimes also provide their own contract, non-disclosure agreement, or non-compete agreement for you to sign.
In these instances it’s great to have a familiarity with the language. It’s even better to have an real lawyer review the agreement prior to signing. As these are your legal rights, you want a professional dealing with them.
Related Post: Freelance Web Developer Contracts
I wrote a post on freelance developer contracts, but I encourage you to research well beyond that, and hire a real lawyer!
Taxes for Web Development Freelancers
I’m not an accountant and this isn’t tax advice!
Taxes are an unexpected surprise to many freelancers. Taxes are generally different working as a freelancer than working for an employer. Most of the time working for an employer, you’re a W2 employee. Your employer pays part of your taxes, and taxes are withheld from each paycheck. You file your taxes before April 15th, and (generally) receive a tax refund.
As a freelancer, however, you’re not an employee — you’re usually a contractor. That means you’re a W9 contractor. You’re not an employee. You file your taxes quarterly, four times a year, and do not receive a refund. This is because when you’re paid, your payment does not give money automatically to the government like your W4 employee paycheck does.
Taxes are a really important reason why you need to charge a fair price, and save your money when you do make a freelancing income. I’ve been more than okay saving 30-35% of my income just for taxes, but your situation may be different and you may want to save more.
Developer Freelance Tax Specifics
IRS Tax Forms: W9 and 1099-MISC
- As a freelancer, you should be sending a W9 form to each of your clients. You might do this as part of the on-boarding process, for example, once you’ve provided a contract to the client.
- As a freelancer, you should be receiving 1099-MISC form from each of your clients by the end of February after they’ve worked for you in most situations.
- If you have sub-contractors from the US or subject to US tax rules, you’ll have to send out 1099-MISCs of your own.
Web Developer Tax Deductions
Some things can be deductions for you. Examples:
- Your home office
- Your travel time, if you have to show up to an office regularly or attend meetings
- If you’re a web developer, computer hardware to keep your machine operational
- Classes, furthered education, educational materials and books related to your industry
- Services you had to pay for to keep your business operational: your phone service, internet service, domain name, e-mail address, invoicing service fees.
It’s really important to keep track of these items and their costs. Ordering online can help, as you can look up the information on what you bought at any time. If you do buy in-store, scan your receipts and then store the originals alongside your tax information. Use of a spreadsheet to track purchases can help, too!
Accountants for Web Developers
An accountant really helps you as a freelancer. They know tax law, and what you can deduct and can’t deduct, and how best to arrange your taxes for maximum benefit/minimal harm.
If you’re in northern New Jersey, however unlikely — I recommend Michael DeRoberts. He’s provided awesome service for two generations of my family. Cozy office, helpful advice, and all-around great. Helped me specifically with claiming several deductions and other money-savers I had no idea about!
Billing, Invoicing
My Approach
I provide an initial estimate. I call it an estimate and avoid ambiguous terms such as quote, proposal, etc. I reiterate that it’s an estimate and not a binding agreement to hours. If I’m under the estimate and finished, great. I bill for what I actually did (clients enjoy it when things cost less than they expect). If I’m getting close to the estimate and still need time, I stop work and tell the client how much more time I need, and what it’s going to cost.
I’m fairly accurate in time estimates and I tend to pad them — so I come under more often than not. Cutting it close with an estimate or under-estimating would be less than ideal in this situation, so I try to prevent it.
Your approach will be different. There are probably as many ways to quote/propose/bill as there are freelancers out there. There’s tons of billing and invoicing advice on the internets, so go find some!
Milestones
Split your payments into milestones. Require them throughout the project, not just at the end. Stop work if you do not receive a milestone payment as scheduled; do not work again until you receive payment. This way, you do less work for non-paying clients and can spend your energies elsewhere quickly (e.g., getting new clients or working on other projects).
I personally like to keep milestone payments below the small claims court costs in my state* ($5,000) where possible. If I ever do need to pursue legal action, I can keep it cheap in small claims court. Small claims often costs far less and is a faster/easier process. You can represent yourself; lawyers aren’t even allowed in small claims for some jurisdictions. You can (and should) seek legal advice before the court date, of course.
* Note that my contract specifies the jurisdiction for any disputes as my home county, so $5K is always my limit. Without a clause specifying that your home county is the jurisdiction for disputes, you might be leaving yourself open to other states’ small claims limits. You’ll also have greater trouble with non-paying clients you have to take to court, as you might have to file in their jurisdiction. It could be far away, and you don’t want to travel across the country for a court case. Note about note: I had a lawyer in my jurisdiction review my contract. I have no idea if you can specify the same home-county jurisdiction in your contract, within your jurisdiction — because I’m not a lawyer.
Non-Paying Clients
You need to be able to chase after people (i.e., if they don’t pay you). This is also why it’s really important to use a contract. Your contract will outline how you can recoup your costs from the client. You might specify arbitration or small claims court, or something totally different and specific to your jurisdiction. It’s important to get this part right from a legal standpoint.
But remember: your biggest asset in preventing monetary loss with non-paying clients is prevention. This is why you require a deposit before starting your work and do not accept spec work, and why you split your payments into milestones.
Some clients are out of your legal reach — for instance, it would be far more difficult to pursue non-payment with an international client rather than one within your nation. Some US-based clients are “judgment proof” as well. Your only recourse in some situations is to sell the owed money — and very cheaply — to a collections agency.
General Tips
- Do a detailed breakdown of your hours and rate. I show this to clients, more often than not. It helps people understand exactly where the money is going and where your time is spent.
- For larger projects, make sure you account for communication in your estimate. Time spent e-mailing back and forth or Skype meetings to discuss the project count.
Hourly versus Project
Both have benefits and drawbacks. You will encounter people who swear up and down hourly is best, and you will encounter people who swear up and down by-project billing is best. I personally prefer billing hourly.
Everything Else (Seriously)
If you’re goin’ it alone, you’re responsible for everything. Even boring stuff you might hate. Just some examples:
- Advertising, marketing, drumming up new business.
- Hiring, interviewing, training, choosing office space — if you expand.
As a freelancer, you’re a business, and if you aren’t prepared to treat yourself like one and operate like one — you’re doomed to failure, unfortunately. If you’re okay being a hobbyist and making hobbyist money, that’s okay — but if you want to shift to a lifestyle of freelancing it requires a cognitive shift in the way you treat yourself.
Automation and Services
For some things, you can automate or configure a service. For example, a low-fi invoicing system might be to create a script or use an e-mail app that sends an e-mail reminder to your clients until they pay. It won’t cost you anything but time, and works while you have few clients and invoices. However, once you have more business, you might wish to move to a third-party invoicing service.
But — that’s assuming you have the money, which you may not at first. There are also some things you can’t outsource (talking to clients, probably not). Just keep that in mind, and make sure you know what you’re going to do or have it already set up before the first client.
And More
There’s also some tangly stuff requiring finesse:
- It can be really difficult for some without separation of “work areas” and “relaxation areas.” Some find it very hard to use the same desk/computer for freelancing and for relaxation/personal use. You might need to set up entirely separate areas for your work.
- People in your life — friends, family — may interpret your lack of 9-5 at an office 30 minutes away as “not a job.” Perhaps not so directly as that, but you may find a stay-at-home neighbor dropping by at inopportune (aka working) hours. Family may think being home all day means you should chiefly perform housework, not work-work. There’s a different solution in all of these situations that depends on the people within them.
Further Resources
- Related Post: Freelance Developer Contracts
- /r/freelance — good Reddit community for freelance discussions
- Developers and Communication
- Keys To Better Communication With Clients