Question: Is it possible to freelance program for money at the beginner level?

My Background:

  1. I've read books on JavaScript, jQuery, HTML, and CSS. I've read the full documentations for nodejs, JSON, and socket.io. I've read overviews/listened to lectures which outline the basics of angular, jQuery mobile and jQuery UI, JSONP, XML, and AJAX. I've read soft books (like the Pragmatic Programmer) and listened to several lectures which outline best practices for writing maintainable code and avoiding technical debt. I'm also somewhat fluent in BASH.

  2. For personal learning projects, I've built some chat bots for me and my friends to use on IRC and GroupMe (using nodejs and socket.io). I'd be willing to upload one of these projects to GitHub for other people to see. I've built some websites.

  3. I'm currently a PhD student, have a masters degree in mathematics and went to an Ivy League school (assuming that even matters on a freelance profile). I live in the US and English is my first language.

I know this is a soft question that people can only answer with low degrees of certainty, but I'm just looking for some ballpark answers. Am I months and months away from being able to plausibly freelance program for money, or am I closer than that? (If there's any other background knowledge I should specify, let me know).

  • What do you want to program? Do you have an idea of what potential clients you can reach and what they want/need from a freelancer? What have you actually written?
    – wdh
    Feb 5, 2015 at 11:46
  • Got to ask. You have a masters in math and getting a PhD and you want to freelance in JavaScript, jQuery, HTML, and CSS? And why not HTML5?
    – paparazzo
    Feb 5, 2015 at 21:14

4 Answers 4



There are plenty of websites out there, you just need to register, put in bids for work and off you go.

On most sites the thorny issue of payment is taken care of by escrow. The client pay money into a holding account before work starts and it is released once the client is satisfied.

These sites should get you started:





  • People make good money on sites like freelancer. But be aware, you have to learn their 'system', and deal with many low balling freelancers. Read tutorials! :)
    – Joe
    Feb 5, 2015 at 14:42

I did and still do a good deal of free lance work. I started right our of college (bachelors in Computer Engineering) and it has been a lot of fun and a great learning experience. So yes you can do it but there are a few things, as mentioned here that you need to think about.

How will you get jobs: Things like elance, odesk and the like are great however I have found they offer smaller contracts and since they are open to the world tend to be very competitive now. In my early days I exhausted my personal contacts to find people who needed software designed or written, this paid off and is how I got my first job, and many there after.

How Much Will You Charge: This is a tough question to answer and an even tougher one to give advice on. Keep in mind that in todays world companies can farm out code writing over seas for CHEAP, and I mean really really CHEAP focus more on selling design and management than actual code writing.

Sell Your Self: Its not really about what you don't know or your lack of experience, its about what you do know and have done. When I first started out I also had no experience, during potential client meetings I talked about projects I had worked on in college, teams I had been a part of and technology I had worked with. Don't lie about your skills but don't stress that you are a novice.

Don't Focus On New Technology: Although fancy new tech gets headlines in the news an overwhelming amount of companies need help with tech they already have. This plays into another aspect of being willing to take on things you may not know off the bat or have little experience in but are willing to learn about. There are lots of people out there who need help with LISP or COBOL code and have real issues filling that need.

Don't Be Afraid: The biggest thing I see holding people back is fear when it comes to things like this. I held down a day job when I first started consulting to pay my bills and keep myself afloat. Once I had a business I felt comfortable with we took it out on its own. If you are a student you presumably have some time and some kind of a structure to support your self, you don't really have much to lose, GO FOR IT!


There are two things to consider and as requested, I'll try to make a general answer.

First, the question of how will you get your first contract.

Freelancers usually use references and previous work to get contracts. You claim you have no references in this field and no "real" previous work. So you can count only on your persuading skills. You should begin with small projects first so that you can easier convince a potential customer to go with you, and it will allow you to build a portfolio which can get you more contracts later.

Second, the question of how you will manage to satisfy your first customer.

Suppose you managed to get a contract, congrats: 1/10 of the work is done. Because now you have to deliver so that this first experience translates into a reliable reference.

All that said, regarding your question or whether "you're ready or not" - I've seen many freelancers claiming to be "experts" in such field, and it appeared they were really not that proficient. It doesn't mean that you have to do the same and it's not intended to make people lower their mediocrity acceptance threshold. Just that if you have sufficient soft skills and you kind-of know your way in the technical stuff you want to use, then it seems quite doable to get your first contracts.

Technically speaking, don't listen to people bashing at freelancers who are in the habit of "learning stuff at the expense of their customers". People (freelancers, employee) are always learning things at the expense of their customers/employers. Except the ones that decide to settle.


15 years ago I was in a similar situation. I was starting to get pretty good programming skills but I was also holding a job at the time. I wanted to further my programming skills but had no idea how to do so, how to freelance, or how anyone would know I had skills (all of my sites were "internal" at the time).

So I found the easiest thing to do was reach out to local businesses. I met with a sporting good store, a golf store and a pharmacy. I simply sat down with them and asked them how I could better change their workflow, how I could create a better customer interaction interface, how I could collect important information, and anything else they could need/want.

After the meetings there was a bit of confusion and hesitation. We met, they outlined what they needed, and I said "OK". No contract, no agreement, nothing. I simply promised them by a specific date that I would try to come as close to their expectations as possible. The clients from what I could tell had little to no expectations!

The first one I did was for a golf store. I created an inventory system, shopping cart, and various smaller programs that customers would use. I had a buddy do some graphics work and their site was completely redesigned. I spent a lot of time doing these things and learned a TON.

After 4 weeks I presented to the client their new website which I hosted in a folder off of a domain I owned. The client was astonished and we agreed on $2000 plus a maintenance contract. Their new site was up the next morning and ended up generating an 800% usage increase which I attribute to better design and also SEO design.

So basically I went all in and did work for free. It is a huge risk of time. Also if I would have negotiated a proper contract and I had experience I am sure the $2000 might have been missing a zero.

Even now as a very experienced web designer and going through many successful software integrations I still throw out the freebie bone if I have free time. Nothing wrong with talking with someone about a site/software issue they are having and solving it.

The main thing is find an opportunity. For example the last one I did was for a large local company that installed my new roof on house. Their website looked like it was an 8th graders class project. I talked to the owner about it and he said go ahead and do a mock up. 3 weeks later I emailed him a link to his "new site" which looked great but also kept track of customer billing and also had a calculator customers could use for quotes based on the type of house and materials. It wasn't a mock up because customers don't understand mock-ups. It was done perfect and he didn't argue at the price (which coincidentally was price of roof).

The gist of this story is pick low hanging fruit. I would not be calling up the president of roto-rooter because I thought their website sucked and one of their guys was at my house. Obviously they have spent money on their site, design, and backend. There are however thousands of businesses that need this sort of support. Often they don't do it because they don't want to shell out a few thousand dollars up front for a crappy developer... well second thought... almost all sites I have done were originally done by a crappy developer originally. And that brings me to the next point. If you are just learning and you give someone a so-so solution or site. Expect to not get anything for it.

Not the answer you're looking for? Browse other questions tagged .