Saturday, March 9, 2013

Become an Independent software developer

Target audience: Computer science students or graduates.

So, you are a computer science student or you  just completed your graduation, now what? You can start looking for a job or prepare for campus placements or, you can become an independent software developer. The best part of this is that you can start earning money as well as gain professional experience, and the best part?  You are your own boss!

So, what does an independent software developer do? Well, to start with, you can develop custom applications for small firms, shops or institutions.  Some people earn Rs.10,000 to 50,000 for small to medium sized projects. After you gain some experience and depending upon your reputation in the industry, you can start earning lots more by developing large scale applications or maybe even start your own software consulting company. In this (rather crude) article, I will attempt to show you the way to achieve all this.

All you need is a little background in computer science. For all those BCA/BSc or Engineering students, this will be relatively easy compared to other graduates. Either way, the first step to becoming an independent software developer is to get proficient in the latest technologies and programming languages.  We will talk about Web applications here as it is the more popular and a little easier than developing desktop applications. However, if you want to develop desktop applications, you can use Visual Studio, QT framework , Netbeans IDE etc.  Visual Basic 6 used to be popular, but it is now highly outdated although you can still use it. Many universities and colleges still teach Visual basic 6 today.  If you want, I can even write another article on developing desktop applications. Let me know in the comments.

Now, for developing web applications, you will be using one among these languages; asp, php or jsp.  These three technologies are the most popular today. I would suggest using php as it is free,open source and easier to learn. PHP is a server side scripting language. The syntax is also a bit similar to C. You can use asp if you have experience with it or if  you made your final year project with it.
All right, now let's talk about PHP. In order to be able to develop full fledged applications with php, you need to know a few other things.

1.The  PHP language itself.
2. MySql database
3. Ajax
3.Client server technology.

You can learn these technologies  all by yourself from the tons of tutorials available on the net.  This will be the most cost effective way. Or, you can take a course at a computer institute nearby.   MySql is the database which stores data from your application in a secure and  easy to retrieve manner.  PHP and MySql have native support for each other, so they are the best combo.  Next, you will have to design the site where you will host your web application. Since it will be only for the staff or employees to use, it need not be beautiful. You can use Dreamweaver or any other web designing software to design the forms, like text field, buttons etc. You don't need to be an expert web designer although a little proficiency helps. Along with HTML, you will need to know a bit of CSS and JavaScript if you want to make your webpage more interactive and beautiful. (This combination of HTML,CSS,JavaScript, etc is known as AJAX). This part is optional, because you can have a plain looking webpage but still have an excellent application, as long as you know what you are doing. 
You can develop your applications using the WAMP or XAMPP platform.  WAMP and XAMPP are a readymade combination of Apache web server, MySql, and PHP.  Here you can test and deploy your application.

Next comes  the web server where you will deploy your application. You can have an Internet based application , or an Intranet based application. If your client needs the application to be accessible from anywhere through the Internet, you will need to buy a domain name or use an existing domain name. You can buy a domain for as cheap as Rs.100 a year, if you are lucky. You will also need a PHP MySql web hosting provider. You will host your web application here. This may be as cheap as Rs. 800 a year, depending on the provider you choose.Here  are a few web hosting providers.

If you want your site/application to be accessible only from the local network, it is called an intranet site. This is much simpler and easier than the Internet based one.  You will need a desktop computer where you will host your site and database. Other computers will connect to this server  via LAN or wifi. The only requirement here is that your server be on during working hours so that employees can use the application.  Another important aspect is the security of your application. You need to learn some basic secure coding and web app pentesting methods, that way, your site will be safe from hackers.

Hopefully, if you are still reading this article, you now know how to develop a PHP application and start earning some money. You can take help from people who are already working in the software industry.  The best way to get about in this field is to offer your first few projects free of cost.  This will be your portfolio and people will start entrusting you with their software needs after that.  
Your feedback and comments are always welcome.

1 comment:

  1. You just have so many guts to go ahead and tell it like it is. A very nice
    informational blog. Keep on making such important blog post. That’s nice and
    useful blog site for all thanks.
    Software development