I have around 8 years experience in software development. I have worked on application development all these years using C++ /win32.

I few years from now I want to become a freelancer . I tried to look into some freelance sites and I am not able to find any projects on C++/win32. I feel C++/Win32 wont help me much and I need to learn new skills . But my job require me to still work on C++ , so I cann't learn any new skills. I can still learn some new skills but without good project , it won't make any sense.

I have shortlisted few skills

  1. php
  2. jquery
  3. perl
  4. python
  5. android

I am still confused which one to start and how to get expertise in them.Any suggestions?

  • Thanks guys for your valuable comments. Recently I started to work on android , creating some basic apps. When I looked at freelance sites I found most of the web projects , so got confused what to do php,html or android? Now I made my mind to learn android and create some application,not thought about idea yet. Let see how it goes..
    – Alien01
    Commented Dec 11, 2010 at 14:22

7 Answers 7


I think the particular language you're planning to use is of very little concern when becoming a freelancer. Actual programming is probably the easiest part for most people. Yes, you'll likely need to know all of the languages/frameworks you've listed (depending on exactly what kind of work you want to find: if you don't want to do mobile development then there's little point learning Android development).

The more important skills will be learning to manage your time and your clients. You can do courses to learn that kind of stuff (I did half a term of a "small business" course, but gave up... it focused way too much on "traditional" advertising for the kind of stuff I would be doing, but that's a rant for another day). Typically, you'll learn that stuff as you go, but there are plenty of websites which give good advice (the linked to in knb's answer looks pretty good).

But if you're currently working for another company, and doing stuff that has nothing to do with what you'll be doing as a freelancer, what you should probably be doing now is:

Build a portfolio

That is, start working on projects now, whether for other people or for yourself, in your spare time. You'll want to have two or three completed projects to be able to show to prospective clients when you finally do quit your job.

What kinds of projects you work on depends on what kind of freelancing you expect to do. If you're going to do web development, build some web sites. Even if it's just a personal blog or something you need to have something to show potential clients. If you're going to be doing mobile development, build some Android or iPhone apps, etc.

Yes, it's tough to work on projects in your spare time when you've already got a full-time job. But if you're getting into freelance, you'll need to be prepared for long hours anyway (at least, when you're starting out... if you're good enough, you can earn enough to do fewer hours, but I always struggle with the "I could be working right now" niggling feeling I get when just sitting in front of the TV relaxing :p)


I don't understand how working in C++ application development precludes you from learning new skills and languages. Picking up a new language usually takes less than a few days for an experienced programmer as far as syntax is concerend. Why don't you start by trying to build a dynamic website for yourself. Maybe an imitation of wordpress. It's an interesting project from several perspectives. You get to learn things like PHP, SQL, JavaScript, HTML, etc. and at the end you actually will have a usable product that you built which you can later turn into a platform for showing off your work to clients.


Becoming a freelancer != getting your projects from a freelancing site.

  • Nice answer! And I know this from bitter, bitter experience.
    – ankush981
    Commented Mar 3, 2014 at 14:30
  • I'm pretty late, but would you care to elaborate? Are you saying most of my projects will come from knowing people and networking rather than freelance websites?
    – aanrv
    Commented Sep 23, 2015 at 18:00
  • @JeffersonSteelflex They are both talking about that freelancing sites will essentially boil down to "bidding wars" where you try to work for less than all the other people on the site to get the jobs. And you are probably worth more than that + "good clients" will know that they have to spend money to earn money. Commented Oct 11, 2015 at 4:52


PHP - Yes, learning this language will make you suitable for a large number of freelance projects. May niche (and higher paying) services like WordPress customization, Drupal customization, Joomla customization will all become a possibility to you if you know PHP.

Python - This is yet another language that is popular and has a LOT of freelance jobs. It is also fun to work with. I have not taken projects that require python but I have seen many jobs on job boards, odesk.com, guru.com that require you to know python. These projects always involve developing web applications with Python using the Django web application framework.

Android - It is the hottest mobile development framework available today. I would tread with caution if I were you in relying solely on this for a steady source of income . A few years ago Symbian was the hottest mobile phone OS to program for. Now you can find not a handful of companies that use the Symbian OS. Nokia ( who owns symbian now ) has moved on to the MeeGo OS.

On to how to get expertise on these: There are dozens of books published on these topics by Packt, Apress, Wiley, O'Reilly. Investing in these books will save you much time.

Nope, Not really

perl - Not a lot of websites today use perl. You will cannot find many projects that require you to work on perl.

jQuery - This is just a javascript library. Knowing how to use this by itself will not help you go full-time (assuming of course you plan on going full time). What is more important is that you know how to work with Javascript and the document object model.

My suggestion for you is to focus on web development. Learn PHP, HTML, CSS and Javascript. Learn to use jQuery.

Also Consider..

Ruby On Rails - Ruby is a programming language and Rails is a web application framework written in ruby. You will find many jobs on this as well as full time positions on the same.

Most Importantly

It is important that you NOT base your opinion solely on what answers you will get here. Go to many job boards. Here is a directory of the job boards:


Get an idea of what are the niche skills that are in demand today. You need not necessarily prepare to provide the skills that is most in demand. Determine what you can realistically do well and acquire that skill.

  • 1
    Hmm ... your logic seems broken. you put jQuery in the 'Nope, Not really' section; but then you say 'focus on web development. Learn PHP, HTML, CSS and Javascript. Learn to use jQuery' ... Commented Dec 11, 2010 at 5:36
  • You seemed to have skimmed the part about: "....Knowing how to use this by itself will not help you go full-time...."
    – rsman
    Commented Dec 11, 2010 at 6:03

If you are seriously trying to get into freelancing and want to earn serious money, concentrate on the domain, and not programming languages first. For e.g. if you want to get into app development for Android, the real thing is innovating at the application level and user interface level -- coding is the last thing to do here (of course very important though).So you would definitely want to check out statistics of most selling apps, compare and contrast for what works and what does not, generally a fair bit of market research is must.

Of course programming languages matter, but say if you know C++ you should not have too much trouble picking up Java or C# on the job, and as you go along you'd get stronger with whatever language is used in the domain.

The key here is the domain itself -- each has its own problems and you are well advised to read technical journals, trade publications, IEEE and ACM papers or groups that concentrate on industry specific problems etc.

  • I understand this is an old thread but it would be a valuable suggestion to get in this context - I am plan to start freelancing after 10 yrs of enterprise web-application development in server side java ee technologies. I am unclear on what you refer here as domain? Is it business domain or technical domain - as in web app development, mobile development or front-end web development? Commented Feb 15, 2015 at 12:59

I work as freelancer for over a year now. And what I found out that although having technical knowledge (languages, design pattern, etcetc) is necessary, you should understand and do also those thing, which did not have to do in companies as a coder that much. You will not have a manager, accountant, salesman, marketer. Although you might get some of those, that's a luck.. you shouldn't refuse such support if get one. So try to know more also about these things, even if you are in a company yet:

  • try to value your days: how could you sell your today work.
  • manage your plan, track your time
  • try to market yourself: find out a product, try to find a market for is, who could use, need your product, publish your codes to show what you can do, sell your technical abilities and also your knowledge in a concrete domain; maybe have a blog, share your results and ideas
  • find ways to deal with customers, learn to communicate well with them: customers have often unrealistic expectations, facing them with reality or kindly saying no is a virtue which is good to know
  • have a strategy: choose and stick (but not too hardheadedly) to a group of technologies which you use for solving problems in a selected domain

So far what I see, it is a much safer feeling to be in a company, but more fun as a freelancer.

  • "it is a much safer feeling to be in a company, but more fun as a freelancer" -- Very well said! Although I keep swinging between the two extremes, given my rough experience with freelancing, I'm inclined to side with a day job, preferably part-time.
    – ankush981
    Commented Mar 3, 2014 at 14:31

Subscribe to the hacker news RSS feed.

You'll get lots of links such as this one.

Graphic Design matters most to clients, "unfair but true".

Not the answer you're looking for? Browse other questions tagged or ask your own question.