Will FOSS Get Me A Job ?

By Sankarshan Mukhopadhyay (Linux For You Dated March 2009 Vol 7 Issue 1)

Any introductory talk on free and open source software (FOSS) addressed to students will throw up the typical question : “Will FOSS get me a Job? “ This is generally a follow-up question to “Why Should I do this FOSS thing?”

A lot of blogs and articles that i read state that in current economic downturn, FOSS ought to be something students should be looking at.This goes to prove that FOSS has attained mainstream acceptance as a skill worth acquiring.
In short, students should consider participating in and contributing to FOSS as early as possible.


And as a response to the first question the answer is generally a resounding NO. FOSS is'nt going to get any student a job.However, it is going to equip anyone who chooses to participate or contribute with the required skills and the recognition that will surely come in handy when building a career around software development.


Training a recently recruited software developer from the ground-up in the basics of the software development process is an expensive and labour-intentive affair. Yet lots of companies do so because of the lack of such skills in their freshers. This is one aspect that can be taken care of by gradually acquiring skills in the world of FOSS.The academic curricula that students go through bring them up to speed with the rigour and discipline imposed by the theories FOSS allows them to immediatly implement their knowledge and learn from a collaborative experience.


Let's take the example of students who feel motivated enough to begin by participating in and theorem moving to contributing to FOSS. What skills do they obtain? Plenty.

 

Since FOSS development is mainly driven over the internet, the very first skills that get polished are communicatiion skills and the ability to use communication tools like e-mail and IRC(and Ims). Virtual communiction puts the responsibility on the sender of the message to be clear,clear consice and precise. All these are very good qualities to be learnt. Additionally,appreciation of the cultural nuances of interaction,the norms ,etc, make a new contributor a much more well rounded personality in  addition to enhacing developer skills.


Moving on ,any FOSS project would have its version contrl system, and submissions of code or content to the version controlm system undergo the age-old process of peer review. How are these two important? It helps a student get familiar with the theory and practices of version control, the need to write code/content/patches according to the established guidelines, and build upon the communication skills learnt to appreciate the feedback from a peer review group.

So, form just interested participants, willing students are well on the road to becoming well-rounded developers with various skills that make them invaluable when the recruiting season comes around.But wait, there is more: FOSS development processes ensure that contribution of code/content are always out in the open and available for perusal/analysis.What this means is a portfolio of development wor. How does that help?Well, if there is an existing body of peer-review code/content on a publicly-available version control system, it helps a recruiter do a technical assessment of the candidate.

This does not really mean that a company would waive standatd procedures od technical tests, but a tool perhaps often added advantage when put in the perspective of peers. And for companies already doing FOSS, such a code/content portfolio is of immense use. It allows them to form a judgement around their competencies of the candidate and even check out with project module leads about how good the contributor is.


The curricula teaches the students about Software Development Lifecycle (SDLC),its various stages, and the different checks and documentation that make up the body of knowledge. Participating in an upstream FOSS project provides an excellent exposure to these intricacies.Following up a project roadmap and working on tasks related to modules/components, while keeping in mind the project releases cycles allows the contributer to become proficient in the real-life aspects of the SDLC concepts. Addtionally with time and an increase in the quantum of contributions the new contributer would soon be confident enough to help out and mentor others in the project.Thus completing the circle while learning how to work with dispersed teams communicate virtually and work to timelines.

These are qualities that companies spend an inordinate amount of time inculcating in their new recruits; while participating in a FOSS model of sofware development,anyone can learn it as on-the -job training.This can be done in addition to the activities of an academic life. Lessons from books are somewhat easily tested and applied in real-life projects.Thus, students should take the time to look at any interesting projects and make an effort to participate in it.

So, why did I say that FOSS will not get students a job? It should be fairly obvious by now. Brushing your teeth regularly does not automatically make you a film star, does it? But good dental hygiene along with disciplined practice should equip you with a pleasing personality that may(or may not) lead to stardom.In somewhat a similar way,FOSS allows anyone to acquire skills and personality traits that lead towards becoming a better developer and an improved person-which is a long way down the road towards building a good career.

// added for tracking