Wednesday, January 27, 2010

Careers in Open Source

With the deepening economic slowdown enterprises have started looking hard at optimizing their IT budgets, in some cases even resorting to free and Open Source solutions and softwares to address to their needs. The adoption of Open Source in enterprises will automatically imply a need for employees having familiarity with Open Source technologies. Here we look at what all opportunities that you can look at to start a career in the Open Source domain

Today, many applications are being developed in the Open Source environment and are gaining wider acceptance. Open Source is no longer synonymous to Linux and Java, but has matured to several middle-ware, ERP, BI and other enterprise applications. A recent survey by Gartner suggests an increasing role for Open Source as part of business strategies in the coming years. Numerous developers from around the world are contributing to Open Source software and the ratio of contributing developers is witnessing a higher growth. Sun Microsystems, Google, SourceForge, Apache and many other organizations have several Open Source projects hosted and supported by them. It's not only the developer community that has been actively collaborating to build Open Source solutions all the while, but even enterprises are showing interest in the business viability of Open Source solutions. Hearing all the buzz about the Open Source model and its adoption by organizations, and looking at the number of organizations that are initiating their own Open Source projects, one is tempted to wonder how to make a career in this wide arena.

How to start a career in Open Source
Open Source is a wide domain and there isn't any fixed path that one can tread to make a career. There are two ways in which one can kick-start a career in Open Source technologies. The first will pay you while the second will cost you. You can get trained in one of the Open Source technologies and subsequently be hired by an enterprise where it is used. The other way encompasses the true essence of the Open Source, of not just being a user but a contributor. Contributing to Open Source doesn't pay you unless you are working for an organization that distributes under the BSD license, like Red Hat or Sun. Contributing to Open Source doesn't cost you a dime, but you need to devote time and effort, and this pays you in form of recognition in the Open Source arena.

Not everyone is lucky enough to get hired by an IT enterprise where he or she could get involved in a high-profile project of their interest that would also help them in career growth. In fact, people with the necessary skills and knowledge strive hard but are not able to get the work or project where their interest lies. Open Source on the other hand, gives you that opportunity where you can choose the project of your choice; the project that matches your skills and also your area of interest. Open Source projects are typically created as collaborative efforts where programmers improve upon the code and share the changes within the community. The kind of contribution you make for an Open Source project is visible and can land you job offers from enterprises that want pros in that domain. Certifications do acknowledge your skills and are generally accepted by the industry, but your work for an Open Source project is visible and gives instant proof of your knowledge to a prospective employer.

Every component in our software product portfolio is based on, or stems from an Open Source heritage

How has the Open Source domain evolved in recent times? What are the notable trends ?

Santhosh d'Souza, CTO, Sun Microsystems


Open Source technologies are finding increasing acceptance in the enterprise for a variety of reasons. Economic factors have always played a big role in the re-evaluation of IT infrastructure, resulting in strategies like cloud computing, virtualization and adoption of Open Source software in the enterprise. The maturity of several Open Source projects and enterprise class support options that are available now for Open Source applications also accelerates the adoption of such software. Sun Microsystems fosters and reflects these trends in our technology strategy and business models. The recognition by enterprises that a slew of Open Source technologies are well supported by vendors like Sun Microsystems has resulted in those technologies being deployed and used in mission critical environments.

How can a developer benefit from contributing to an Open Source project? Do enterprises recognize such contributions while recruiting?
Participating and contributing to an Open Source project provides several benefits to a developer: such a project allows a developer the chance to work on a product through it's life cycle. There are no constraints on the amount of time and the scope of the contribution thus enabling the developer to devote as much time as is available to him, and so also to develop brand new code, optimize existing code and/or fix problems reported by users of the code.Participating in Open Source projects also enables a developer to work on cutting edge technologies and frameworks. Most of the best known developers across the world are active in one or more Open Source projects. Enterprises are increasingly evaluating Open Source expertise and such experience is now sought after in prospective IT employees.

Open Source as the first step
As the source code of Open Source is available, it gives you the opportunity to fix possible bugs, which is not possible with proprietary closed source products. For instance, if you want to learn how a web server establishes HTTP1.1 request, you need to put sniffer tools to a web server like IIS. But with Apache web server, which is Open Source, you can directly peek in the code of the server and know how the request handling works. It's not necessary that you have to change or modify the source code to become a contributor. You can join projects at sites like SourceForge, Codeplex, Google Code or even start your own project. Alternatively, you can join commercial Open Source projects where the chances of being paid for the contributions are also high. Fedora, Mozilla, Apache, Alfresco, Pentaho, etc are some of the commercial Open Source projects that require specific skills. Once you join a project of your choice, you can start things off by being a tester of the project while gaining more understanding of the technology behind it. And then you can start filing bug-reports and provide their solutions. You can also contribute towards the project by doing its documentation.

Shankar Iyer,
Director � Learning Services, Red Hat

As Open Source technologies are gaining maturity there is a paradigm shift from it being just a technology fad to today being a mainstream business reality. With Open Source technologies having clearly proven themselves all these years in assuring performance, security and scalable solutions while lowering TCO, there is substantial momentum towards deploying Linux and other Open Source technologies within enterprises. Security is another area which is robustly addressed by Linux. The technical workforce for Linux has increased manifold in the last few years, which is just the tip of the iceberg. As the trained technical workforce meets only 1/3rd of the Linux jobs at present, the future is bright for Open Source enthusiasts.

As a developer you can learn various coding methodologies being adopted, which you could have otherwise learned at later stage of career in an enterprise. Your contribution enhances your resume and presents your credentials to the prospective employer. So engaging in Open Source projects in college and during free time benefits you in knowledge enhancement as well as adds credentials to your resume. If you had been involved with commercial Open Source projects like Jboss, Alfresco, PostgreSQL, etc. there are chances that your contribution could land you a job from parent companies. Also companies that provide support and services for that technology can offer a position matching your contribution.

Young engineers who consider Open Source as a career option can begin their career without any fear irrespective of cost-cutting or economic slowdown, for Open Source is a great alternative which suddenly has gained huge popularity
Naresh Shah, Managing Director, IDC & Vice President, Global Engineering Strategy, Novell India

How do you see Open Source as a career option for beginners in the current economic slowdown?
Well, if I talk of today's scenario, one should probably be more interested in the Open Source software rather than any other industry. There are two aspects in this field: wider group of developers who are being involved in communities, others are involved in a proprietary software in companies, which tends to be cheaper. In general, if companies are looking for rationalizing the cost structure the Open Source is much viable.

In how many ways can a professional contribute to Open Source?
In Open Source community there are many freelancers, who are contributing to several Open Source projects. There are professionals also in the company where they work, and then in free time, according to their interests, contribute to their Open Source project. So generally there are lot of freelancers who are participating in Open Source area. Definitely, companies do look for hiring people either in India or abroad who are better known and have made significant contributions in Open Source environment.

Opportunities in Open Source
As enterprises adopt more and more Open Source solutions, they seek employees with familiarity and competence in Open Source technologies. There are various ways in which a professional can progress in this domain. He can be a consultant to an organization which is implementing an Open Source solution like a mail server or security solution. On the other hand, there are organizations which are providing support and services for Open Source solutions and are also engaged in the development of such solutions. You can join organizations such as Red Hat or Sun Microsystems and work for the development as well as support for the product.

Chandika Mendis, Director and Head of Global Technology Office, Virtusa

There will be continuing demand for Open Source savvy engineers to support, enhance and maintain Open Source based systems and solutions. Involvement in Open Source brings a lot of visibility to talented individuals who would otherwise not have an opportunity to showcase their creativity. Open Source also touches many aspects of the software development profession. Publicly recognized work and code is always a good thing to have, especially when joining software engineering organizations such as Virtusa. In an interview you will not only be able to showcase your past experience, but how well your code or tool has been peer reviewed and accepted by a larger global community.

To start off, you'll have to develop skills over a product and then target the company which is into support and services for that product. Else, if you aim to be a consultant, you would have to start building your portfolio. You can help an organization to setup the Open Source product and implement it and then offer your expertise over that product for support and services. For example, if an organization needs to implement an ERP package, it can either opt for tried and tested proprietary software from SAP or Oracle that would cost them a fortune or they can look at Open Source ERP packages like OpenBravo and implement them, for which they will just have to just pay for support and customization. But for implementing such packages and integrating them with other services within the organization, they need professionals who have expertise over that product.

Open source technologies and products to watch out for...
Domain Technology/ Product Additional Information
Middleware Suites Glassfish, Jboss, Apache Geronimo GlassFish is a Sun supported project. You can join the project or one of its several subprojects at glassfish.dev.java.net. While RedHat provides a commercial support for Jboss, a Java EE background will help you gain advanced skill over these enterprise application suite.
ERP OpenBravo, OpenERP SourceForge lists hundreds of open source ERP projects. You can gain expertise in these to provide support services to organizations in India
BI Suites Pentaho You can join this BI and DataWare house community at Pentaho.com. It is known that Pentaho has hired contributors to the community into the organization.
Enterprise Content Management Joomla, Mambo, Alfresco Gaining expertise in one such open source ECW product can land you implementation projects from organizations as they look for open source experts to help in its implementation and deployment.
Databases MySQL, PostgreSQL Sun provides certifications for MySQL database. You can be a contributor or else you can gain knowledge of the database as that might help you land up a DBA role for organization using an open source database.
Operating System Linux, Solaris For Linux you can join organizations that provide Linux distros like RedHat and Fedora, while OpenSolaris, which is Sun supported, can be joined as a project at opensolaris.org.
Programming Languages Java, Perl, PHP Java, Perl and PHP form the basis of many frameworks and other scripting languages. The demand for developers in these open source technologies and frameworks will always be there.

The Open Source domain is not restricted to developers alone. Technical writers, legal advisors, etc are also required by Open Source projects. A technical writer shall do documentation for a project and that will help him in getting his work and knowledge acknowledged during recruitment.

Career Path
The career path for a professional will typically start from a programmer or developer, and then with experience, such a professional will be handling responsibilities like implementing, deploying and architecting the strategies around open source product deployment for an organization. With experience under his belt, the professional can then venture into the consultancy arena, or can move up his career to be a strategy officer for the organization who will be directing the complete open source adoption or initiative within the enterprise by evaluating products which will be the best fit solution for the organization. The career in open source domain can be rewarding, but the major hitch will be how you set off your career in this domain. One cannot just make a career as being a contributor towards a project, unless you are being paid for the contribution.

You reap the fruits of devoting time to open source projects by the contributions you make to open source. Enterprises are recognizing such contributions and that helps in being recruited by organizations for the open source technologies. The table below suggests some of the open source projects and some commercial open source products which you can join and gain expertise on to have a career as open source specialist in that field.

No comments:

Post a Comment