• Stars
    star
    242
  • Rank 163,581 (Top 4 %)
  • Language
  • Created over 10 years ago
  • Updated over 10 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A guide to doing work that's good and good for you

The Little Freelancer

A guide to doing work that's good & good for you

This project is a labor of love from The Iron Yard. It's open source, and we encourage you to make improvements via pull requests or issues. We hope it makes freelancers and their clients happy.

The guide was originally written for students in The Iron Yard's intensive Front End Engineering program. Eric Dodds wrote the first draft, which Mason Stewart edited and proofed with hawk-like eyes. Special thanks to Daniel Jeffords, Andrew Ramos, Andrew McIntee, and Vicky Hammond for feedback.

License

The Little Freelancer by Eric Dodds and Mason Stewart is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

Creative Commons License


Welcome to customer service

This guide covers practical advice ranging from your first client meeting to self employment taxes. Before we get there, though, we want to remind you of something really important:

The way you treat people will always be more important than the work you do.

There are incredibly talented programmers out there who are jerks and struggle to find work because people don't like being around them. There are also bad programmers who always have jobs because people like to work with them.

No matter what career you're going to pursue, writing good code is only the cost of entry. Your goal is to produce top-notch work and be someone that others want to work with.

Expectations are the key

Someone very wise once said,

All frustration is the result of unmet expectation.

Think about that for a minute. It's true, isn't it?

People like to work with people who do what they say they are going to do, when they say they're going to do it. If you can run each project, and even each communication, through this lens, you'll be well on your way to making the people you work with happy.

As you grow, you'll learn that meeting expectations is great, but exceeding them is even better. If you can consistently blow people away with your work and communication, you will be in very high demand.

Our friend Joshua Blankenship is a really talented designer, and has some great insight into mistakes he made early in his career.

Most designers, at least when we’re starting out, think we’re much better at all this whole professionalism thing than we actually are. As an independent designer, I’m typically responsible for choosing the client, helping to determine their goals and the way(s) we can accomplish them, setting and enforcing boundaries, negotiating scope, timeline, and payment, and communicating with them throughout the project, for good or ill.

When I didn’t get paid for work, I likely failed to facilitate an environment that attached clear boundaries and real consequences to lack of payment. When the scope spiraled out of control, I reaped the extra labor I sowed through my lack of clear statements of work prior to beginning the project. When clients were unhappy with our working relationship, I could typically trace it back to my inconsistent or even M.I.A. communication. When clients were frustrating to work with despite my best efforts on my best days, hey, I picked them, right? I chose to enter into a business relationship with that client. In short, I was never a victim of anyone other than myself. And my clients paid for it.


Ok, let's talk about some practical stuff you'll face doing client work.


Pre-vetting clients

You can save yourself a lot of time and energy by asking good questions before you meet with a client. What does that mean? Let's say you get an email that says something like this:

"Rhonda referred me to you because they said you know how to code. I have a really cool website project that I could use some help on. I'd love to meet up and talk about it. When are you free?"

"Website project" (or "app idea", etc.) is extremely vague. Does it mean creating a simple personal website? Redoing a portfolio of sites for a large business? Are they building on something like .NET or PHP that you aren't familiar with?

The lesson here is to find out the nature and scope of the work so you can decide if it's even a project that 1) you can do, and 2) that you want to do. That information keeps you from spending your most valuable asset—time—looking into projects that might not be a good fit for you.

Here's one way to respond to an inquiry like the example above:

Roberto,

Thanks so much for reaching out. Rhonda is a great friend, and I've really enjoyed working for her.

I'd love to learn more about your project—could you give me details on what you're looking for? Here are a few questions:

• Could you describe the nature and size of the project? (HTML/CSS/JavaScript, is it a new project or work on an existing project, etc.)
• Do you have a timeline/deadline?

If you can give me those details, I can make sure it's a good fit for my skill set and schedule, and we can put a meeting on the calendar to discuss the project in more detail. Also, I wanted to let you know that my rate is #XX/hour.

Thanks, and I look forward to talking soon!

�— Alyssa P. Hacker

It's good to establish your rate early. If it's way out of the ballpark for a client, you'll know immediately whether or not you need to pursue the work.

Depending on their responses to the email, you might need to ask more questions, like whether or not they have a designer, what their budget is, etc.

The initial client meeting

When you first meet a client, come prepared. Here are some ideas for the type of checklist you need to run through before the first meeting:

  • Have you researched the person/company and their background? Any information that's available online you should already know going into the meeting, especially if you're working on an existing site or project that you can explore.
  • Bring something to take notes with—you'll want to remember exactly what you covered and be able to reference the conversation as you build a proposal.
  • Read through (and print out, if you want) the notes from your initial email conversation so that you can reference them in your discussion.
  • If you haven't already established your hourly rate, do so early in the meeeting. Say something to the effect of, "I wanted to discuss cost before we talked about the project so we're on the same page about my rate."
  • Dress nicely, of course.

Depending on the nature of the project, here are a few things to keep in mind:

  • Will the client be providing content (copy and images)? If not, do they expect you to find placeholder images? If so, that might be extra time, or mean you need to outsource those parts of the project.
  • Are you going to have to connect your work with some pre-existing technology? If so, do you know how to do that? If not, that might take extra time/research.
  • Are you going to need to work on site? If so, that might include travel time, etc.
  • Is there a specific way that the client wants the work delivered (pull request, actual files, etc.)?

After you get a good idea of the project and decide if it's something you want to do, provide a date by which you will get back to them with a proposal that outlines the scope of work and estimated cost. It's a good idea to pad that timeline with an extra day. Stuff happens, and the most important thing is doing what you say you're going to do, when you say you're going to do it.

Remember: DO NOT make promises on pricing or timing that you aren't sure about or haven't had time to think think through/research—that's irresponsible and can come back to bite you if things don't go as planned.

The proposal

We've included a proposal that you can use as a template and customize for new clients. It's extremely straight forward—so much so that we didn't even have to translate it into english.

When you're describing the work, be as specific as possible so that you and the client are on the exact same page about the work they're hiring you to do. Getting expectations aligned at this point makes the rest of the engagement oh-so-much-easier.

When you sit down to write your proposal, the big question is, "How the heck do I come up with an estimate for a project?"

First, you should know that estimating is a difficult skill when you're first starting out. You might undercharge for some projects and overcharge for others, but always remember that your job is to be fair to the client. If you are treating them well and keeping your word, you'll be fine.

Experienced freelancers are generally willing to help you figure out how to estimate and charge for projects.

Step 1 - Determine your hourly rate

You need to determine your hourly rate. Starting out, this is probably going to be less than you are actually worth skill-wise, but the number will grow as you get actual experience, build a portfolio, and have glowing recommendations from happy customers.

When our students get contract work towards the end of class or right after graduation, it tends to be in the $30-40/hour range.

Step 2 - Determine how long you think the project will take

Ceteris peribus, how long do you think the project would take you if you're working quickly and wisely?

Step 3 - Multiply that number by 3 or 4

What?? Yeah, we said multiply that number by 3 or 4. Think a simple page layout will take you 2 hours? Estimate 6. This ensures 1) that if there's some unexpected glitch, you'll have figured in the time to deal with it, and 2) that you're setting yourself up to come in on-time and under-budget, which is HUGE. No client ever complains about you charging them less than the estimate. If they do, then figure out how to do more of their work. Overestimation is your friend :)

"But I'm kind of green, and it's hard to know how long something will take me. What should I do?"

Great question. First of all, hear us say that it's good for you to take on big projects that challenge you—that's how most people in this industry have cut their teeth and become better developers.

That being said, if a project is teaching you a new skill, it's not fair for you to charge a client for that 'education'. For example, if something takes you 6 hours to complete, but 4 hours of that was you researching how to make it work, then only charge for the 2 hours you worked on it. A good rule of thumb is to charge only for the time it would have taken you after you learned what you needed to learn.

Step 4 - Send the proposal to the client on time and make sure you're on the same page

Depending on the client and project, you may choose to send only the proposal first, or send the proposal and the contract at the same time. If it's a really straight-forward job and you have a good relationship with the client, send both.

If you're a little unsure about the proposal and think there's a possibility of updates/changes, send the proposal, ask if everything looks good, and send the contract when the client confirms that you're on the same page.

Pro tip: Proposals are for new work. Don't take work from another project wholesale and use it on a new project. If you've written a plugin, or maybe even a template, that's one thing, but re-using a carbon-copy of another project dilutes your work and isn't treating your client fairly.

When a retainer makes sense

If you are working on a big project that will take a long time, it might make sense for a client to keep you "on retainer" on a monthly basis. The main difference with a retainer is that you'll set a number of hours monthly and bill against that on the 1st and 15th. We've added in optional copy to contract to cover this if you need to enter that sort of agreement. We've also included a sample retainer service-only contract that you're welcome to use as an example.

Why is this helpful? When a project is gigantic (and take multiple months), it can be beneficial for clients to conceptualize pricing as buying a "bucket", or preset number, of hours per month. You've negotiated an hourly rate, estimated how long the project will take you, and then offer that many hours at your hourly rate to the client. The client now has a set monthly number in their head, you are getting the hourly rate you wanted, it limits scope creep, and can work to get you out of a bad situation.  If the client wants a small change, you can try to fit that in. If they move in a different direction, you can point at that bucket of hours and let them know you only have 5 more hours left and that new feature will take 8. Maybe the relationship is stressful, and you want to move on but need to finish the job and be professional. This option let's you say "no". No scope creep. No new features.

The contract

No matter how good you think your work is, you need to have a contract. A contract outlines how the business transaction is going to take place and how the relationship will operate. If and when there is any question or dispute over a project, or an emergency on either side that would prevent completion of the work, a rock-solid contract will protect both you and the client.

We've provided you with a contract template. Keep this blank version and create new versions customized for each project you complete.

Note: this is a contract that several people have used for years. It's been modified in that time. The original was based off of a contract someone found online, but we don't know where the original came from. If you happen to know, submit a pull request or open an issue and we will add attribution.

Everything in the document is super straight-forward, and there shouldn't be any surprises for clients. If they have questions, you have a nice "what this means in english" guide that you can use to walk them through everything (don't send that version to them). You can also encourage clients to feel free to ask their lawyer to review the contract. Again, though, this is standard stuff and there shouldn't be any issues.

When you send the contract, it's a good idea to gently remind the client that you don't start work until you have 20% of the estimate up front. You can also send an invoice for that amount when you deliver the contract so they can knock out both at one time.

A few more resources on contracts:

Communication throughout the project

If we had to boil this down to one piece of advice, it'd be "over communicate". This can vary by client, but in general you want to communicate with/update a client before they have to reach out to you to see how things are going.

Here's what great communication looks like:

  • Shortly after the first meeting, email the client a 'thank you and I'll send a proposal on X day' follow-up
  • When a contract is signed and a downpayment made, send a 'thank you and I'm excited to work with you' follow-up
  • Send detailed weekly updates/re-caps
  • When appropriate, schedule in-person meetings with the client so you can review the work in person (the number of meetings can vary depending on the length of the project)
  • Notify the client when you deploying new work or features as you complete them
  • Check your email every day to see if the client has contacted you with any questions or concerns (if you're keeping them updated well, those should be minimal)
  • Send invoices (with a thank you) every two weeks at the same time
  • When the work is complete and delivered (and you've been paid), send the client another thank you

It's also worth asking a client if they prefer a certain type of communication. Some people prefer phone calls or face-to-face meetings over email. In the initial meeting, you can say something to the effect of, "I generally send updates via email and schedule several in-person meetings throughout the project. Let me know if you have any preferences in how you'd like to communicate."

Pro tip: Tackle these communication tasks for all of your clients at the same time. Getting all of this out of the way so it's not a constant distraction throughout your week keeps you focused on getting the actual work done. Pick the same half-day time period every week and crank through all of your client updates in a row.

Happy clients are your marketing

Most of your (good) work will likely come from happy clients who tell other people about how great it was to work with you. If you have a happy client, use their joy to get more work. Here are ways you can do that:

  • At the end of a project, ask the client if they can give you a quote about what it was like to work with you. You can include that on your website/portfolio.
  • At the end of a project, ask the client if you can use them as a reference for potential clients
  • At the end of a project, send a nice, hand-written note (on really cool cards)
  • Reward referrals. If a client sends someone your way, email them and thank them, but go a step beyond by sending them a gift certificate or a 'coupon' for discounted work in the future. It's best not to give clients cash—that can create some sticky legal situations.
  • If a client is particularly awesome and gives you tons of work, surprise them with a 'thanks for being awesome' discount on the next project they do with you

Doing small, simple things to surprise and delight good clients goes really far.

Other freelancers can be your marketing, too

Making relationships with designers and copywriters can be extremely helpful. Not only can you refer them as trusted resources to your clients, but if they like working with you they'll send business your way, too. Sometimes knowing a quality copywriter or designer who can be part of the project 'team' can make the difference between getting a job or not. If you have design chops, there are always developers looking for design help to make their open source projects pretty. Find some open source projects on GitHub and tweet out that you're willing to help out on the project for free.

Other ideas for marketing

Referrals are great, but don't wait for the phone to ring. Go out and meet people. Most successful freelancers have a large network of friends in the industry. Go make friends with those people.

A few more ideas:

  • Give a Barcamp talk about design or development.
  • Send handmade birthday/thank-you/etc cards to people in the industry who have inspired you.
  • Attend a meetup and buy coffee (or beer) for the group.
  • Find someone you admire, email them and ask them for advice. Check back with them in 2 months and tell them your progress and thank them.

Bad clients

Ultimately you choose your clients, but you'll run across bad apples whose true colors come out after the contract has been signed. There are no two ways about it: this sucks. Bad apples come in all flavors, but here are a few common varieties and how you should deal with them:

1) Clients who pay and stay in scope, but are hard to work with

Sometimes you get into a project and realize you're dealing with someone who emails you every single day asking about the project, or questions your expertise on everything, or any other behavior that makes the project a huge pain.

What to do:

Grin, bear it, finish out the project, and don't work for them again. Sometimes this stuff is unavoidable, but as long as they're holding up their end of the contract you need to buckle down and get through it. An annoying client is no excuse to act unprofessional or treat them poorly.

2) Clients who change direction and/or scope

Some clients are really excited about a project when they sign the contract, then have revelations about how the project should change or all of the amazing features that they didn't think of when reading the proposal. This can become a nightmare when you're asked to "just add or change one little thing, it shouldn't be a big deal". One little thing turns into 5, and before you know it you've done hundreds (or thousands) of dollars of extra work for free.

What to do:

Stick to your guns. You and the client signed a contract that referenced a description of the work, and the contract clearly states that anything outside of that description of work requires a new contract and proposal—that's why it's so important to be on the same page about the proposal in the very beginning.

Remember, don't be a jerk—sometimes things change and we all have to be flexible. If it's a small change, you can get written approval of an estimate of additional hours via email, just make sure to save that email.

But if a client is constantly making significant changes and/or changing the scope, stop working for them (even if that means ending the contract).

3) Clients who break contract or don't pay

Hopefully this won't happen. If it does, take a deep breath—it isn't going to be fun.

What to do:

The good news is that you already had 20% of the project fee in the bank before you started the work. (You actually deposited the money before you started, right?) If you have to chase down money, stop work on the project immediately, and let the client know that work has ceased. If it happens consistently, tell the client that the contract has been broken due to lack of payment and that the relationship is over. Again, don't be a jerk. Sometimes people get absent minded and forget to write a check. We're humans, after all.

If a client makes a clear breech of contract, fire them. You don't want to work with jerks.

Track time, expenses and get paid

We'll keep this pretty simple: use Harvest, Freckle or LessTimeSpent. You can do almost everything financial you need to do as a freelancer with one (or more) of these apps. A few features some of these tools have that will make your life easier:

  • Really slick desktop and mobile apps that you can use to keep track of the hours you work
  • Tools to track all of your business-related expenses
  • Generate invoices that you can send to clients digitally
  • Accept payment (generally via PayPal or Stripe, but we recommend Stripe)

Pro tip: Time between invoicing a client and getting paid (generally two weeks) can potentially create cash-flow issues for you. Here are a few preventative tips on keeping outstanding invoices from causing you problems.

Taxes

We've included a handy PDF called "The Freelancers Tax Guide" from FreshBooks. It's a great resource for understanding the big picture of how taxes work when you're freelancing or doing contract work.

Here are a few things that it's really important to remember:

  • Save money to pay your quarterly (or monthly) taxes. This will be between 30 and 40% of what you make. Yeah, taxes suck.
  • The good news: you can deduct so many expenses. Computers, food at client meetings, milage traveling to and from meetings, and the list goes on. All of those things are tools for business, and you can write them off. A tax deductable expense does not mean it's free, but rather that you're exempt from paying taxes or full taxes on that money as profit. Again, this is where an tool that can track expenses (like Harvest) makes your life oh-so-much-easier.
  • Find a good CPA. If you're not a bean counter, going it alone isn't worth the time or pain.

Here are a few other resources for further study (we've also included these in PDF format):

Where do I find good images for homework, practice work or comps? (taken from The Iron Yard's Academy Resources repo)

Great question. Before we point you in the right direction, though, we need to talk about stealing and licensing.

First, as a matter of general respect and ethics, it's simply not acceptable to take other people's work without asking. "But Picasso said, 'all art is theft,'" you say. Picasso was also one of the most prolific and successful artists in the world, but that's another conversation for another time. Here, the "golden rule" is a good one to follow: treat others how you want to be treated. Don't want someone to rip off your work and use it as their own (and profit from it) without giving you credit? Then don't take other people's work.

(Ok, enough of the soapbox.) Ethics aside, it's actually dangerous—legally—to take images you don't have rights to (especially if you are in any way including them client work). People (or companies) can and will take legal action if they discover you're using a picture of theirs that you don't have rights to. We'll be brutally transparent with an example from our own company: we pulled a 'random' image off of Google Image search to use in a blog post and it turned out to be owned by Getty Images, a gigantic online image repository. Their legal staff sent us a 'nice' letter detailing the cease and desist orders and potential financial consequences of our decision.

This probably sounds stern in a world of re-blogging, rapid sharing and general internet free-for-all-ism, but the possibility of putting yourself and, again, especially your clients at legal risk can turn into serious and expensive business. It's like not making a backup copy of your work: it's not a problem until it is.

I get the point. So what do I do?

Great news: there are tons of awesome images online that you can use. Millions, in fact.

Option 1: use copyright free images

There are many resources for images that are considered public domain, meaning they are free to use without copyrights (or attribution, but more on that shortly). That means you can use them freely with a clear conscience. Here are a few places to find copyright-free pictures:

Option 2: use images under the Creative Commons license

As you might expect, the maxim "you get what you pay for" applies the world of photography. While there are some amazing copyright-free images, the resources are limited and sometimes you can't find what you're looking for.

Good news: there are still free photos to use. Most of them are licensed under a Creative Commons license. There are all sorts, and you can research them yourself, but for our purposes we'll talk about the Attribution CC BY license. The definition speaks for itself:

This license lets others distribute, remix, tweak, and build upon your work, even commercially, as long as they credit you for the original creation. This is the most accommodating of licenses offered. Recommended for maximum dissemination and use of licensed materials.

Translation: you can use (and modify!) images under this license, even for paid work, as long as you give credit to the original creator.

Pretty awesome, isn't it?

How do I give credit?

Great question. Creative Commons has a great guide, and this is a good blog post by a smart person named Molly Kleinman on the subject as well (there's a PDF of the post in the repo just in case).

Here are some great resources for finding awesome images under CC licensing:

A note about comps, internal use and client work

In many contexts of creative work, you'll see a common practice of using copyrighted images for comps that are 'internal use only,' meaning they'll never see the light of day so it doesn't matter. Designers do this because when you put crappy images in a great layout that is dependent on beautiful photos, the poor quality makes the entire piece look worse than it is. If the entire piece is brought down by bad pictures, it's harder to get internal sign off and harder to sell to the client. Makes sense.

There are varying opinions on the subject, but here are a few recommendations:

If it makes sense, don't use images. Head over to Placehold.it and snag a nice, neutral placeholder image.

Generally, there are enough good images you can for free (legally) or under CC licensing that you should be able to make your design shine.

When in doubt, ask the client to provide creative assets. It's rare that a client will fire you over trying to protect them from copyright infringement. It's also less work for you (assuming the client can pick good images, which isn't a good assumption to make).