Developing Your Open Source Career
Developing Your Open Source Career
Once you have started a career in open source technology, it can be difficult to ascertain where your efforts should be to build upon and expand the foundations you have already established. One of the most important things to remember in the open source environment is that your contributions are generally rated based not only on the depth of your involvement with a single project, but also with the variety of projects in which you are participating. Another important factor of developing your open source career is your reputation, attitude, and participation levels.
Participating in a single project is a good way to develop your open source career. By investing large amounts of time and expertise into a single project you are developing a reputation of being reliable and dedicated. One of the greatest fears of a company considering using open source technologies internally is that all support for the project will dry up and they will no longer be able to use the product, or will have to take on the responsibility of maintaining it themselves. By spending more time and effort on a project you reinforce the idea in the heads of the users of your product that you are going to be there for the product, and for them. This in turn makes your skills more attractive in the open source community and makes it more likely that you are going to land a paying position in open source technologies.
Another thing you can do to improve your reputation is to participate in multiple projects at the same time. While it is entirely possible to spread yourself too thin, you can avoid this by only participating in projects that either deeply interest you, or in projects that are related. In many cases solutions and code contributions that you provide to one project can be easily adapted to another, saving time and allowing you to appear more dedicated and skilled in the process.
Participation in open source projects is also critical in developing your open source career. While it is generally easy to submit code changes and patches to a repository or mailing list, that is only one small part of open source software development. Equally if not more important is spending time in IRC chat rooms, on mailing lists, or in meetings contributing your thoughts, ideas, and assistance both to other project members and to those who use the product you help develop. By investing this time you are showing other open source developers that you are capable of working as a team and providing support for the end user, in addition to providing direct code assistance with the project. Even something as simple as providing assistance with documentation can go a long way, and these skills will not only help you develop your open source career, but will help you outside of open source as well.
From the above paragraphs it should be clear that in open source technologies, reputation is paramount. This is because most open source projects are desperate for volunteers and will accept almost anybody. This leads to a vast number of open source programmers being anti-social, unhelpful, or simply unskilled. To rise to the top of this you will need to prove, through a history of well thought out helpful actions, that you are one of the best in the field.
There are other advantages to participating in open source technologies to advance your open source career. Mailing lists and IRC rooms are the primary locations for professional networking in the open source environment, and spending time in these locations means you will be at the front of a hiring manager's mind when he or she finally decides to move forward into the open source realm. In addition do not be afraid to use your real name on these mailing lists. In most situations your contact information and real name are already available on the internet, and by hiding these facts you are simply assigning all the credit to a pseudonym instead of yourself.
In addition, you will be exposing yourself to a multitude of different programming methodologies and techniques that you may not get a chance to experience outside the realm of open source software. Thousands of new ideas are tried out every day, and while the vast majority of them fail open source technologies have been breeding grounds for groundbreaking new ideas. By participating in open source software development you not only advance your open source career, but you may find ideas that will solve problems you've been having outside of open source development.
Overall, the best way to develop your open source career is to simply participate as deeply and as widely as possible in a multitude of open source projects. Build your reputation and your career will follow.