Information Technology has a vast area of expertise and literally thousands of software engineers are trying to learn bits and pieces of it. Universities and educational institutions provide graduate students with the basic knowledge and the fundamentals in making them 'adaptable' to newer technologies as they grow. Since this part is pretty straight forward I'll like to touch on the areas that perhaps you might not learn in a classroom.
Homing your software development skills is not something you can learn merely by reading a book. When working for a team you have to be able to "walk the talk." I've heard numerous times when people would say "I know this programming language very well" or "I have certification in this language, so I know the stuff." But the fact is, you can only show your true colors by writing good code! I am not a software developer and certainly not an authority to say who is good or bad. However, I can suggest a way in which you can improve your software development skills.
The concept of a "community" first came about with the development of free and open source software. Developers from all corners of the world contributed to the development of a particular software which they believed to be the best of its kind and took it upon themselves to ensure the software is well maintained.
With the commercialization of the Internet, developer communities gathered momentum and now there are thousands of them. There are three major databases of open source software available on the Internet today: The GNU Free Software Directory (http://www.gnu.org/directory/), SourceForge (http://sourceforge.net/), and Freshmeat (http://freshmeat.net/). There is also Codeplex (http://www.codeplex.com) which is an open source project hosting website from Microsoft.
These sites provide lots of information into ongoing open source software including information about its underlying operating system, programming languages and access to its source code. You can also check out the features requested by other developers and how they are implemented or going to be implemented. If you are interested, you can simply sign up to the project and join the community. Easy as that!
So what can I get out of this? The very first thing that you have to do is to find the right project for you. This is very important. Sourceforge for example, has categorized each project down to different topics ranging from clustering, databases, desktop to games and security. Once you find it, what you can do with it is endless. You can learn the software very easily through the forums, and by looking at coding material that is available there. Once you know the basics of it, you can start using the software and gradually get to a point where you can hack the code. What's important to realize here is that throughout your usage of the software you can continuously interact with the community and contribute back in many different forms. It could be giving feedback on your user experience, locate bugs or even develop new features for the software.
|
Why do all this for free? Valid question. The answer is "quite a lot!" Firstly, what you do in the community has very little strings attached. Meaning, you are free to do whatever you like. Having such freedom gives you the ability to think out-of-the-box and also learn the traits of working with a developer team that is as enthusiastic about the work as you are! This can be valuable experience for those who have not yet started a career. Many analysts have done surveys and research into this particular question and almost all of them show a common set of results.
The numbers speak for themselves and I encourage all of you to look into such projects and maybe you might find something you like. Get involved and trust me, you will become a better developer in no time!
CONTEST!
The very first article I did for this column was on free and open source software. It's been quite a while since that and I'd like to see whether anyone has actually started using it! Here is an invitation to everyone to design the COOLEST UBUNTU DESKTOP. The winner will be interviewed and the video will be hosted on youtube.
Send me your screen shots to technopage@gmail.com along with your name and phone number on or before December 31. |