How To Become A Highly Paid Freelance Programmer
Pick A Language To Learn
First Task is picking a programming language. There are 2 lines of work - standalone application programming and web development.
Standalone application development is where you develop software programs for the desktop. As it stands today, the best language to learn is Microsoft Visual Basic.net. You can get the express version for free at Microsoft's website. Look for "Microsoft Visual Basic 2008 Express Edition".
Web development is where you develop web applications, code website templates, code complete websites from scratch etc. The best programming language to learn for this is php. This is the most popular programming language online and it powers majority of websites today.
If you can program in any language that is in use today this is for you. This is a guide to creating a part-time/full-time freelance career that makes you a lot of money. Doesn't matter how old you are, doesn't matter where you live. As long as you have access to a computer and an internet connection. You have a means to create a deeply fulfilling and highly paying freelance career.
If I had to go back and start all over again, this is what I would do. I hope you find this hub page useful in creating a freelance career and make more money for yourself.
My Story:I was referred to freelance programming by a friend. I was hesitant to trust someone in some other part of the world to send me the money they promised for my work and asked my friend "what if they ran away with my work". I soon realized most people online are good and something like that happens very rarely.
I've finished about a hundred projects and made quite a bit of money all while studying in college. A full time freelance career would have been a very satisfying career. Now I have decided to change business and start a digital coaching business.
Without much ado, lets get started with starting a freelance programming career.
Why Become a Freelance Programmer?
1.A freelance career can easily replace a white-collar job. In fact, if you are efficient enough, you can make more money in a month than you would with a job in 3-4 months.
2.Its much more satisfying to finish a freelance project than to finish a project given at your company. Nothing can beat that. You don't get that sense of fulfillment when the project goes through and you get paid.
3.You don't have to put up with office politics, a strict management etc. You can work in your underwear if you want to. A freelance career allows you to work from wherever and whenever you want. You just got to feel it.
4. You are in complete control of how much you make. You can increase or decrease the amount of money you make based on how efficiently you work. You don't have to haggle with some HR manager to get a raise. You see immediate benefits to a job well done.
Freelancing Myth - “Hard To Get A Job”
It is actually the other way around. You should have the discipline to be honest with your clients that you are full of projects. You will reach a point where you are rejecting 2 or 3 projects each day.
Sharpening your skills
Contribute to Open Source Projects
Read the code and contribute to open source projects written in the language of your choice to get an idea of coding conventions and a general idea of how things are done. It will help you to adopt a certain way of thinking while coding on the projects you will be accepting in the future.
Use code libraries extensively
Find and learn to use libraries extensively. These will save you a lot of time. Since you will be trading time for money, you want to get done as much as possible in the minimum possible time. Libraries are great for that. These bad boys can make a mammoth project to a few days work. Make sure to read the licenses that come with libraries. Some libraries cannot be used in commercial products. Ask your client if you are developing a commercial product for them.
Comments 16 comments
How To Price Yourself
This depends on your living expenses, how much time you have on your hands in a given day, and your skill level. Use this guide to pricing yourself:
Get the right tools
Get the best possible IDE you can afford for your language. Having the right tools can make the difference between a failed and a successful project. You may not have to invest in a new tool and pretty much get away with using open source and free tools.
Web Development Tools
For any kind of web development, try to get Dreamweaver. Dreamweaver is the industry standard power house of an IDE. I don't know what I would have done without it. If you can't afford dreamweaver, I highly highly recommend that you work and save up to get it.
Also, it would make your life a whole lot easier to run a server locally on your computer. It saves you a lot of time by letting you test your code without having to upload it to a server. If you are using one of the microsoft techologies like ASP/ASP.net. You will need Microsoft IIS server. You can find it as an add-on in Control Panel>Add/Remove Programs>Add/Remove Windows Components.
If you are using an open source language like PHP, Python, Ruby on rails, or Perl. You can run it on the apache server. Instead of going through all the pain of downloading the server, the database servers, mail servers, ftp servers, etc. Get this package and install it: www.apache2triad.net
Standalone Application Programming Tools
My knowledge of standalone application development is quite limited. But I can tell you this - netbeans and eclipse are good IDEs for java, c/c++. You also get the Microsoft Visual Studio Express Edition for free from microsoft's website which can help you create Visual Basic applications.
Setting Up Shop
Since you are selling your skills online, it is a good idea to get a website. If you can afford to invest $40, I highly recommend namcheap's basic web hosting pack. If you are a web developer. Get a decently ferocious monster at midPhase or namecheap. With regards to web hosting. I recommend namecheap over midphase for their superior support and add-ons.
You don't even have to get a hosting account if you don't want to. Get an account at Weebly. Get a domain name. They let you park your own domain name too. They also come with premade templates, and WYSIWYG editor so you can have a website running in hours. Having a web presence with your own domain name makes you look professional.
C'mon can't you invest $9 in your career that's going to make you $5000-$10000 a month?
Before you go out and start hunting for clients. Show a few samples of your past work on your website. If you program for the desktop show some screen shots and link to your projects from your portfolio if they are hosted on software directories.
Marketing Yourself & Getting Clients
Aren't both the same? Not necessarily. Your friend may know that you are a programmer but isn't going to hire you. But would definitely refer someone they need a program to you. That's marketing.
Give Out Freebies
Create a cool tool and give it away for free on your site. It builds your brand and shows you are skilled. Make sure you project your brand repeatedly on splash screens/pages of the application you are giving away. Put a donation button on the page you are them giving away.
Blog on the topic
If you think you are capable of writing a few lines a week add a blog to your website and write on whatever it is that you do. It projects you as an authority.
The real way to work is to network with potential clients. That is the way professionals do it. Most newcomers make the mistake of only posting at reverse bidding sites. While in the beginning posting at RentACoder etc are good ways to gain traction, it is not a long term strategy to bank on.
Create and rely on your brand. Focus on delivering true value to your clients.
Network in forums where your clients would hang out.
Are you a web developer? Get involved in a web master forum like digitalpoint and sitepoint forums. People are always looking for programmers. Forums are by far the best source of clients. This should be your primary target when looking for clients.
Post at Reverse Bidding Websites
The idea behind using these websites is to build contacts not to rely on them solely for your income. Remember: You are sometimes underselling to get a project. Do not bid lowest to win a project. Know what you are worth and don't lower yourself too much below that.
Guys who undersell too much have a high probability of not delivering and the clients that will stay with you for a long time already know that.
Network with other programmers
Aren't they the competition? Not really. There are just way too many people looking for skilled programmers. Network with programmers on forums, and open source project forums etc. Other programmers would send projects your way if they are full. At least work out such an understanding.
Use OCommunity of ODesk.com
OCommunity seems to be a very good marketplace.I haven't used it but seems to have a better quality of projects than other websites. Check it out:
Freelance Career Mistakes To Avoid
1.Don't accept projects if you don't have time to do them - you are doing a bad thing to someone by wasting their time and money. Don't accept them even if you feel the slightest sensation of aversion towards doing the project.
2.Don't accept projects you have no idea how to do. Like in another language - you will be learning with someone else's money
3.Charging Too High/Low - With charging high, people would have a higher expectation of your work, which hopefully you can meet. When charging low, you aren't going to take the work that seriously. If not that, you will just work yourself to death.
4.Don't accept too many projects - you may think you want to pull an all-nighters and finish the projects. But you will be working yourself to death. It's just self-defeating. Your productivity will fall, you will introduce new bugs while removing old ones, and keep running in circles. Not to mention the effects it will have on your health and social life.
5.Don't be cold, but don't be too warm either - Don't be a stone cold agency. Don't charge just to put your hand on the mouse. If a client needs something that needs just a few minutes of work don't charge for it. Make suggestions to improve the app whenever possible. Suggest possibilities whenever appropriate. Sell your expertise not just your hands and brain. At the same time, if you are too warm and go "hey man, sup?" on your clients. It will look unprofessional. Also, too many freebies and they will take you for granted and expect you to do certain things for free.
6.Don't get outdated -Keep up with the trends. Follow blogs, get involved in forums, and see what's new. Learn some new platforms of development. For example - PHP programmers are plenty but using php to develop for the Wordpress CMS - there's a hungry market to serve.
7.Don't rely on just one client - That one client can drop you like a rock any time and can pretty much control when you sleep and wake up.
Tips To Advance Your Career And Make More Money
1.Go through and follow www.freelanceswitch.com
Read their archives. Read as much as you can. That's the best site on freelancing there is. I wish it existed just a couple of years ago when I was starting out.
2.Work to increase income - If at some point you need to hire programmers yourself to work under you, do it. The highly paid hairstylists do.
3.Invest in tools to help you - As it stands today - Feb 11th 2008 - There are so many free tools to use that simply cost mind numbing about of money just a few years ago. Use them wisely. Do not be afraid of investing in your business. Just make sure you are getting a return out of every investment you make, be it time, money, productivity, or convenience. Get yourself a comfy chair, two wide screen monitors, air conditioning, ipod, etc.
4.Invest in professional tools - Domain names, business cards, a good web design.
5.MOST IMPORTANT: Learn some basic project management. This stuff will help you advance your freelance career in a big way.
6.Become a consultant at various sites - Sell your expertise on various websites such as www.subhub.com, www.wengo.com, on skype instant messenger's business directory and other knowledge sharing websites.
7.There are ways to make using your programming skills by working once and getting paid for years on end. Do you notice that some projects have the same or similar specifications? Create a generic version of that application and make it your product and market it.
Very Important! - Optimize The Way You Work
Make sure you put some effort into optimizing your work. Improve your coding style. Create your own libraries. Invest in the proper tools however expensive they may be.
Resources That Run Your Business And Save You $1000s of dollars and a lot of time:
1.oDesk - Locate freelance clients and manage projects in one place http://www.odesk.com/w/
2.Paypal - Payment Processor - Get a personal account not a business one. http://www.paypal.com
3.Toggl - Track The Hours You Work http://www.toggl.com/
4.Freshbooks - Another time tracking and billing service http://www.freshbooks.com/
I'm a student at Vellore Institute of Technology in Vellore,India. I am doing by final year in Bachelor of Technology in Computer Science. I've been a freelance programmer for over 3 years. Have been doing it since 2004 in freshman year in college. I recently quit freelancing to start an online coaching business.
I recently started a blog on small business online outsourcing at: