Computer programming is an extremely satisfying and addictive profession. I would even say when mastered, it becomes an art. It's even more satisfying when you work for yourself as a freelance programmer. The combination of managing your own business and the skill of software development will guarantee you a very rewarding career. If software development is a new thing for you and you are interested and keen to learn then this tutorial will to give you some direction of what to do and where to go.
How to Become a Freelance Software Developer ...
... in seven (easy) steps
These are the seven steps to get you started:
- Learn fundamentals of programming
- Decide on your business direction
- Choose your programming language/s and tool/s
- Learn a programming language/s
- Write a business plan
- Advertise your services
- Keep things simple
Step 1.
Learn fundamentals of programming
This tutorial presumes that you are a beginner, so in step one you should familiarize yourself with the basics. The best way to do this is to get a book and study some easy to learn and clean language. For me, the Python Programming Language fits this mark right on. It's free, open source, powerful, easy to learn and its clean and verbal syntax makes this a perfect tool to learn the basics. Once you understand what is a variable, array, function, class, then you are ready to apply your knowledge to move to step 2.
Step 2.
Decide on your business direction
Now that you have a basic idea of what computer programming is about, you need to decide what direction to take. There are basically 3 ways you can go, you can come up with a brilliant new software idea, build it and then sell it to end users, or you can become a custom solutions developer. The best way to go is the third way: Support yourself by building custom software for clients, and at the same time work on your big killer app.
Step 3.
Choose your programming languages and tools
Next you need to choose the language and tools. Here you need to work out if you are going to build web applications or desktop applications. I would recommend learning how to do both, that will make you more flexible when getting work. Since you are a beginner, choose carefully and don't believe the hype! For web apps, go for PHP. PHP is easy to learn and you will master small project relatively fast. You will also have to learn XHTML, CSS and JavaScript. There is a lot of talk about Ruby on Rails, but this is not a solution for beginner, yes simple things are easy, but you will not understand how it works and will stumble when faced with a complex task. For desktop applications choose REALbasic. This is a full Integrated Development Environment that build cross platform software. You can compile your applications for Mac, Windows and Linux. It is easy to use and learn, and it's a perfect solution for building custom database software or smaller commercial products. For huge projects you will have to learn Microsoft Visual Studio or Xcode, however I strongly recommend few years of experience with easier to use tools.
Step 4.
Learn a programming language/s
Now that you know your tools, learn to use them. This could easily become the hardest step of all, but remember, you are doing this because you love programming! Both PHP and REALbasic are easy to learn, there are lot of books and online resources available. Do a course. Don't expect miracles overnight, have will to solve problems and don't give up. Don't be scared to ask questions on forums, join mailing lists, and read a lot of books on the subject.
Step 5.
Write a business plan
Next you need to work out a business plan. This is not a business plan for your bank manager, but for you. It always helps to keep a list of ideas and things you should do. Where are you going to advertise your services? Are you going to have a business name? Build some sample applications, so you can show your potential client your skills. If you do plan to build a commercial app, think carefully. Are there any other applications on the market that do the same thing? Think of real world problems, then think of a software to solve them, then look online if such software exists. Write all these things down.
Step 6.
Advertise your services
Now that you have your plan, put it into action. Let the world now what you plan can do. If you are offering your services as a custom software developer, start looking around you. You will probably not score your first project from General Motors, but perhaps your local real estate agent, or school may need a custom database solution. Also advertise your services online, there are many websites offering freelance projects. Consider contacting a specialist employment agency.
Step 7.
Keep things simple
This is not really a step, but a philosophy that you should observe at all times! Keep things simple, that is in your programming and in your business. You are a beginner, so if you get a job to build a control software for a new nuclear power plant, don't take it. My first job was a small database application for an educational consultant. Start small. Also keep your business idea clear, don't come up with obscure and hard to understand concepts, be always clear in what you can offer to others. If your grandma does not understand what you are trying to do, re-wise the concept and simplify.
A Collection of Essential Websites
- The Python Programming Language
- Home page for Python, an interpreted, interactive, object-oriented, extensible programming language. It provides an extraordinary combination of clarity and versatility, and is free and comprehensively ported.
- Python Tutorial
- Official Python Tutorial
- Dive Into Python
- Free Python book
- Non-Programmers Tutorial For Python
- Non-Programmers Tutorial For Python
- PHP: Hypertext Preprocessor
- PHP: Hypertext Preprocessor
- PHP Tutorial
- Free PHP tutorial, reference and examples for web building.
- XHTML Tutorial
- Free XHTML tutorial, reference and examples for web building.
- CSS Tutorial
- Free CSS tutorial, reference and examples for web building.
- Cross-platform that really works | REALbasic 2006
- Official website of RealSoftware, the developers of REALbasic.
- REALbasic Forums
- REALbasic Forums
by 1 person |


