1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Making it as a Freelance Programmer

Discussion in 'General Programming Chat' started by Kreylar, Mar 21, 2013.

  1. Kreylar

    Kreylar Newbie

    Joined:
    Jan 27, 2012
    Messages:
    23
    Likes Received:
    12
    I know this question probably gets asked all the time, but I didn't see any posts coming up using the search function.

    Anyway, I've been studying Python and developing programs in the language on and off for the past 3 years or so. Currently I work freelance as a writer and a marketer, while building up my portfolio of IM sites. But I was wondering how freelance programmers are doing financially.

    I would like to hear from other python programmers, or similar languages such as PHP, or java, and how they are getting along with freelancing. My main concern is all of the competition from outsources, but I would like to get an idea of what I can expect to earn after I have been freelancing for a few years. I prefer freelancing and would rather not work at an actual office ever. I'm based in the US if that helps.

    Thank you and sorry if my question seems a bit redundant.
     
  2. Kreylar

    Kreylar Newbie

    Joined:
    Jan 27, 2012
    Messages:
    23
    Likes Received:
    12
    Also any specifics about the type of programming that you do, such as mobile apps, developing Wordpress Plugins, web scraping, etc. would be good too.
     
  3. Gophering

    Gophering Junior Member Premium Member

    Joined:
    Mar 21, 2013
    Messages:
    115
    Likes Received:
    279
    Occupation:
    Unemployed
    Location:
    EU
    Hey Kreylar,

    the following is all IMHO and is purely based on my own experience freelancing (mainly oDesk and Elance). Firstly, I tend to do this every now and then only. I do have an established profile (very important) at both sites, however this is not my primary occupation, so keep that in mind.

    Generally speaking, coders who freelance can make quite a good living, depending on several factors. As I've mentioned previously, an established profile is a must (more than 100 hours + 4-5 star rating on oDesk as an example). This in turn means that you would need to take on the odd crappy job in the beginning of your career. When doing so, it is very important to choose the right client. Consider that all that matters in the beginning is your ratings, so money is only secondary for now. Choose projects which you could complete in a day max (scripts, etc.), beware of clients who expect too much for too little money. Now, many books have been written about this so I won't go into the finer points of client evaluation/acquisition, Google it if you like.

    That being said, keep looking for proper jobs, jobs that you'd actually like to work on, from the very beginning. You might get lucky and land one before actually establishing a profile.

    Next, make sure you do NOT compete on price. This is very important. As you have mentioned yourself, you are quite concerned about all the outsources present on various freelancing sites. The way to compete is through quality and not by trying to adjust your prices. Sure, you will most probably lose a number of contracts, but thats alright. Keep your wage up and keep working on your profile. Btw, knowing good English is already a massive advantage and as fucked up as it sounds clients will always prefer someone coming from the US or West in general (again, I do not specifically agree with this, just recounting my experience).

    Now programming language wise, you should be good with Python. Its a pretty common language so you should be able to source a couple of projects at any given site. Here's a tip: have you got any unused snippets of code lying around? Polish them and put them on Github. 99% of freelancers forget to do this. An established Github acc can serve you very well here, an informed client will ask for a peer reviewed piece of code of your making sooner or later, so its always good to have this.

    Finally, I've been freelancing off an on for a number of years now. Coding in C/C++, Go, lisp, python, js and some java. I can comfortably charge around $36-$50/hour. So its all doable, just stay persistent.

    Hope this helps, let me know if you have any other questions!
     
    • Thanks Thanks x 1
  4. jazzc

    jazzc Moderator Staff Member Moderator Jr. VIP

    Joined:
    Jan 27, 2009
    Messages:
    2,468
    Likes Received:
    10,148
    It does not work like this. You can be freelancing for 100 years and still earn the same.

    The important things are:
    a) Become an expert. In the freelancing field, this means you will have to be an expert in many things, not one.
    b) Provide value. This comes from (a) but not automatically. You must get the mentality of a problem solver. How can you do it best for your client? Be like a partner, not just a hired gun.
    c) Create a network of clients. The key here is referrals from happy customers. And that comes from (b). Once you are there, you 'll have more work than you can handle.
     
    • Thanks Thanks x 1
  5. Kreylar

    Kreylar Newbie

    Joined:
    Jan 27, 2012
    Messages:
    23
    Likes Received:
    12
    Thanks for this information. What you're saying makes sense and is actually good news. I'm striving to be the best in my field anyway, so it only stands to reason that by providing the best service I can boost my earnings up to a respectable amount pretty quickly, instead of being stuck in a lower earning bracket because I haven't put in the time yet. I'm going to hold on to what you said so I can put it to use when I start bidding on some jobs.
     
    • Thanks Thanks x 1
  6. Kreylar

    Kreylar Newbie

    Joined:
    Jan 27, 2012
    Messages:
    23
    Likes Received:
    12
    Thanks for this information Gophering. This was exactly the type of information I was hoping to get out of this post. The Github account is a great idea, and I had been considering putting one together but never quite got around to it. I'll have to make sure I have plenty of good samples in there before I apply to my first coding job.

    I completely understand what you mean by needing to build up a reputation on a site like Odesk or Elance. I work on writing and editing projects through Elance at the moment, and finding work was extremely difficult initially before I had a good reputation built up. Do you think that all of my positive feedback with my writing/editing jobs, would make it easier for me to snag the coding jobs off there too?

    Do you think I am limiting myself too much with a background in just Python? I know the language is pretty powerful, and the wide variety of libraries available would allow me to complete many different types of projects. My only real concern is that some clients are going to be stuck on the programming language that they want a job completed in, even if it really doesn't make a difference in the end, and that I may not be able to talk them into accepting a Python program as well.

    Have you had any luck talking clients into trying out a language that you are more comfortable with on a project, or are most of them pretty stubborn when it comes to the language?

    Also thank you for the price range that you typically receive. I usually earn around $20 an hour with my writing and editing, so anything above that would make me happy in the long run.

    Oh, one more quick question. I've worked on both Odesk and Elance, it's been my personal experience that Elance clients are willing to pay more money for quality, while many Odesk clients are simply after the cheapest results, but this is only for writing and editing projects. Have you noticed the same thing with programming on the two platforms, or do they run relatively the same?
     
  7. Gophering

    Gophering Junior Member Premium Member

    Joined:
    Mar 21, 2013
    Messages:
    115
    Likes Received:
    279
    Occupation:
    Unemployed
    Location:
    EU
    Hey Kreylar,


    glad I could help out!



    Not 100% sure tbh, as I've always just had a one-way account on there. I'd imagine it wouldn't hurt though as long as you can back up your coding skills that is. Obviously some skills such as work ethics, being on time, etc. are transferable no matter the profession itself so I'd imagine it would make your life a bit easier.



    More of a personal decision I'd say. Generally speaking, the more you know the merrier. So if you can find the time to learn another language go for it. You'll benefit from that professionally as well as personally. Becoming an expert in one language should be priority though. However, suppose you pick up something like Haskell (if only to hack around a bit), I'm sure you could carry down a ton of concepts back to Python.



    I'd say if you start from scratch most of the clients really don't care too much about the language. Of course this hugely depends on the project (you wouldn't write some low level stuff in Python for example), but if the language is well suited most clients wouldn't really care too much about your toolset. That being said, when working on an existing code base you are out of luck. You'll have to adopt and use whatever the client was using previously, unless a rewrite makes sense (which it does sometimes).



    I'd generally agree with you here. oDesk seems to be a bit saturated right now. It doesn't matter all that much in the end though, once you have established yourself over there, can be a pain in the beginning though. More importantly, I've noticed that oDesk tends to attract some dodgy clients... You need to make sure you prescreen a lot. Also, you probably know this, but be very careful with non hourly jobs on oDesk, there are definitely some scumbags around.
     
    • Thanks Thanks x 1
  8. Kreylar

    Kreylar Newbie

    Joined:
    Jan 27, 2012
    Messages:
    23
    Likes Received:
    12
    That's good to hear. I would rather work exclusively in Python until I feel that I have the language mastered as well as I can, then branch out into other languages as well. I figure becoming an expert in a single language will help me earn more faster, than spreading my knowledge around between different languages early on. It makes sense that picking up new languages will make me a more well-rounded programmer though, so maybe I will at least learn the basics of a few different languages to help improve my perspective.




    Okay thanks for confirming my suspicions, I'll start with Elance and expand to Odesk if I need to pull in some more work.

    Thank you very much, this has been very helpful.