Freelancing 101: How to get started

Kelly Vaughn on December 26, 2018

If you're looking for some extra cash and have a few hours a week to spare, freelancing is a great way to stretch your programming muscles and li... [Read Full]
markdown guide

Great write up Kelly! One question: At what point do you find it valuable to set up an LLC / other sort of entity to separate out "side-gig/freelancing" from "professional work/consulting"? Any tips on that process?


Great question! Set it up ASAP. Regularly freelancing outside of an LLC is risky because there's no legal protection for your personal assets. In the case where you'd find yourself getting into a sticky lawsuit situation, you don't want everything you own to be on the line. Once you find yourself accepting regular payments, it's a good idea to get your LLC set up and get a separate business bank account.

In the US, setting up an LLC is easy and affordable. Cost varies by state, but in my case (Georgia) it was $50 to fill out one form and submit it to the Secretary of State.


Woot! Will do. And just to be clear -- no need to go through the Stripe Atlas / online marketplace type setup here since we're not selling products, but services?

I'd say Stripe Atlas is overkill for getting started as a freelancer regardless of their service offering - just use the list of what they cover in their $500 fee as a guide for what you need to set up. Your main priorities are the LLC formation, EIN generation, separate business checking account, and make sure everything is set up correctly with the Secretary of State.


Lastly, never reduce your rates for a client without removing something from the scope.


I've been looking at freelance guides and potential courses to get deeper into freelancing and most, if not all, guides/courses always avoid talking about taxes and etc.

Literally talking to a CPA is probably the best advice I've heard so far.



100%! A good CPA is worth there weight in gold. I can not remember an article that talks about taxes. When I did 1099 contract work I put away 33% of every payment for taxes. It was probably overkill but I never had to worry about under payment at the end of the quarter / year.


You can certainly have clients as friends and friends as clients as long as there's a clear understanding of the line between business and friendship. I've worked with some friends without issue and I've also lost friends over bad business arrangements.

I'm at a point in my career now where I would rather refer a friend to a colleague instead of work with them directly, but I know other freelancers who have no problem at all working with friends as clients (or clients as friends).


In most cases - yes. Because soon you will either stop being friends with them or end wasting too much time for free.

I have a few exceptions in the past 20+ years, but in general - avoid making business with friends, at least without setting very detailed constraints where friendship ends and where business starts.


Awesome comprehensive intro! It certainly covers a lot of details I would not have thought of, like adding credit card transaction fees to your yearly income.

Regarding a CPA, do you think it's as useful to consult with one if you're just starting to freelance? Or is a consultation more worthwhile when you have a decent income?


Great question! In my opinion, the earlier you consult with a CPA, the better. It's helpful to be starting on the right foot tax-wise, as nobody likes finding out they owe a ton of money that they haven't been saving up for come tax time.

In the grand scheme of things, you're maybe spending 1-2 hours worth of billable hours per month on a CPA. Even better - add the cost of a CPA into your yearly income!


Excellent post! Many of the developers who work as mentors with OpenClassrooms actually start out as a way to supplement their income when transitioning to freelancing. So newbie freelancers may want to look at our mentor site for more info: mentor-en.jobs.openclassrooms.com


Nice article. Am just starting up as a freelancer and wanted to know

  1. How do you make a contract for an incremental project. The requirements keep changing daily.

  2. How do you include that once the project work is done, there will be a monthly/yearly cost to keep the site up.


I'm no seasoned expert, but I would like to add my thoughts here in case they help.

  1. I usually will write the contract so that it explains what kind of work is covered, and how many hours of said work type are included in the cost. For example, "$60/hr for the first 30 hours of work including content creation, editing, layout design (etc)". Then I will add another rate for other type of work or work beyond the first breakpoint (in this case, photo manipulation or layout modifications, after the first 30 hours have been met).

  2. My husband and I designate 2 types of contracts: Project (the initial build or overhaul of a site) and Operations (website maintenance and upkeep). The second type is what we use for the annual costs of running the site, if the client has chosen to let us manage it on their behalf. Most of our clients, however, have prefered to maintain control over the site, so we don't get many Operations contracts. When we do, I typically set the cost to cover all overhead, plus about 8hrs of work per month if needed, and a higher hourly rate if the 8 hrs is exceeded.

Hope that helps, @vjnvisakh .


From someone who has tried freelancing in place of traditional employment, this is a very good guide for getting started.

I particularly liked the line: "never reduce your rates for a client without removing something from the scope." This is something that is easy to forget when negotiating.


Great advice Kelly, I'll brush up on it after the holidays


Thank you! Let me know if you have any questions!


Thanks for the writeup, some good points!

I came across this article which offers a somewhat different approach:


A point which he makes and which I agree with is Upwork and similar "market places". Personally I strongly dislike them because they make you play within their rules, and their best interests are definitely not yours as a freelancer (look at the fees and commissions that some of these 'platforms' are taking). Being truly independent makes it possible to get the best out of yourself.

For me the trickiest thing was/is how to determine my niche/specialization - that is, what exactly am I selling? Specialist or generalist ... develop a product or offer a service ... fixed price or hourly billing ... what's going to be my strategy?

Main problem was that I felt I was "too broad". This has pros and cons - the advantage is that you can take on a wider range of projects, the drawback is that your "sales story" becomes more complicated, and that it's almost impossible to keep up to date with such a wide range of technologies.

After a lot of experimentation and "soul searching" I think I've now finally settled for "full stack Javascript web app developer" (backend & frontend), and within these areas I've selected some specific technologies (an integrated and optimized tool chain) that I can be fast and productive with.

Not a surprising or original choice, but a practical and fairly obvious one - Javascript is quickly becoming the dominant technology, both client and server side. This leads me to pushing other stuff that I'm familiar with (PHP, Java etcetera) to the sidelines.

High quality and efficient development with these tools, whilst putting soft skills (top notch communication, analysis, design and project management) front & center, is what I want to formulate as my "value proposition". Make it clear that what you have to offer is worth the price.

In case the client insists on a different selection of tools/technologies, then I can fall back on my "broad skillset", but in that case I'll want to raise my hourly rate (I want to make my favorite tool chain more attractive for them than the alternatives).

Offering this clear and articulated "value proposition" also makes it easier to attract higher quality clients, and to set a good rate (this was/is my second biggest issue, I almost always "go too low" for instance because the client just doesn't have the necessary budget).

Of course this only works if you build up a larger set of prospective clients so that you can say "no" to the ones that are not prepared to pay what you're asking. With a bigger pool of 'prospects' you can just say "no" more often.

So how do you get this larger pool of prospects - that's where the second part comes in: build your authority, and based on that do your marketing. Blogging, open source, networking, offering useful "freebies" that you developed as 'side projects'. I've only invested a little bit in these activities but that's already taught me that this can be very effective when done right.

Someone like Brennan Dunn (doubleyourfreelancing.com) has some good ideas in this area (I'm in no way affiliated with him, but I got inspired by some of his ideas).

Just some thoughts, but as always the truth is in the middle and the answer "what's the most effective approach" is "it depends", what works for me might be entirely different from what works for you.


I've been flirting with the idea of freelancing for a long time! Definitely keeping this list in my back pocket!

Also mini win, I got referred as a freelance person because of who I was and i was so flattered even though the timing just wasn't right.


The honest truth is projects almost always take longer than expected

You watched Uncle Bob's video, didn't you?

In case you missed it: youtu.be/eisuQefYw_o?t=891


It is possible to do freelancer while you already been hired by a company?


Sure! Your employer can't dictate what you do in your personal time.


Awesome article :) I would love a follow up about handling difficult customers


Heading into my first year of freelancing, so this article is perfectly timed for me. Thank you!


Hi! great article. Q: how do you present your portfolio?


This is a good kick-start article for new freelance developers.


Great and thorough article. Just what I need to get back on the bike this year. Thanks.


Great! thank you for the hourly rate math part =D


Thank you Kelly. Very helpful guidelines. I'll try to consider and practice them.


I've always wanted to hop into freelancing, this has inspired me to look into it again for the new year.


Fantastic write-up Kelly! Might give me the confidence to get started in 2019!😊


Ah so good! As someone who has never freelanced, this is useful information. Thank you for sharing! Bookmarking this for future use.


Nice post, thank you Kelly, i'm really trying to work more as freelancer but it is being hard for me.


Such a great post with many useful links. Thanks Kelly. Would you recommend someone who is just entering into freelancing to start with smaller tasks?


Just what I was looking for, thanks Kelly! This is super valuable to me


Don't work for free.

I wonder what libraries were we all using if everyone has rejected to work for free. IMSO, working for free is the best part of being a developer at all.


To be clear, I'm talking about not working for exposure or to prove your skills to a client. These won't pay the bills and it's disrespectful to your hard work. Your portfolio should speak for itself.

I'm not talking about never contributing to open source or donating your time and skills to a good cause. This wouldn't fall under your freelance billable hours anyway.


Yes, clients who expect free work are major red flags all in all.

Free work on your own terms is a whole different story.


I would like to work as freelancer.
And my best language is Python. I have a sound knowledge on it.
Please suggest me how?

Thanks in advanced.
N. Alam,


I suggest for start create a good portfolio in Upwork(former Elanse,Odesk) and search for offers with limit you Skills and Languages. Python is just langugage, you should focus on area: machine learning, web developer (easy one) and etc.
If you set rate 10$/hr or less, probably you find offer for few weeks/month work in same week. It helps to earn XP and portfolio. Then increase rate, depends on current market.

code of conduct - report abuse