How do I advance my career? It is a question that is posed to us on a daily basis. People are always looking to take that next step up the corporate ladder. You may even know the traditional ways: a new project initiative, corporate politicking, networking, etc. Those are all vital in realizing your goals, and they could be discussed ad nauseum.
But working in the Linux world brings its own set of challenges--and key advantages--to career moves. In this special series, Brent Marinaccio of HotLinuxJobs.com lends his unique insights into the Linux and open source career world, and reveals the benefits working with open source can have for your r√©sum√©!
How to Advance Your Career in Linux Development
How do I advance my career? It is a question that is posed to us on a daily basis. People are always looking to take that next step up the corporate ladder. Traditional means in doing so involve such tactics as new project initiative, corporate politicking, networking, etc. Those are all vital in realizing your goals, and they could be discussed ad nauseum. However, this article is going to focus on how a predilection for the way open source software can benefit your career. Since open source skills are different than a number of other areas throughout the corporate landscape, you must utilize that difference to your advantage. The message is simple: get or stay active.
You might be sitting there thinking to yourself, what does he mean by saying get or stay active? Is he talking about reading the latest O'Reilly book on the Linux kernel or Python programming? Or participating in formal training programs, such as those offered by the Linux Foundation? Those are things you should be doing on a regular basis, but again the focus here is exploiting the nuance in open source development practices to your benefit.
Therefore, how does one position themselves for the future in the open source space? It is a poignant question that every developer should be asking themselves in good times and bad. I will break this into two segments. The first one will focus on the primary way people that are currently unemployed can get back on track. Then I will touch on what people can do, even though they are currently employed, to further their career prospects.
For those that are unemployed, stay active in development. Even though you are not getting up and going to the workplace on a daily basis, there is no reason for you to let your skills lose their luster. You chose to get involved with development utilizing open source based software for a reason and it has the potential to be your biggest friend if you use it to your advantage. You have all the opportunity in the world to stay relevant even if there is not a weekly check for you to cash at the moment. After all, it is open source. Just because you are no longer working for XYZ company, you can still make meaningful contributions. And, those contributions will not only prepare you for your next role, they could lead you to your next role.
The key is the selection of the project(s) you decide to contribute to. I applaud people that get involved with projects that have little to no following. These people have an itch and they decide to scratch it. That is an extremely honorable goal. But, if you are looking to contribute to a project that could possibly lead to employment, find one of relevance to your skills that has a following. It is very easy to find out the amount of participation in a project by going through the mailing list or spending some time on the IRC channel for that project. This will give you a good indication of the activity level and the potential number of companies that deem this work critical to their operations. If they are employing people to contribute code to that project, that is something that you should find intriguing.
Once you find the project, get active. Depending on your skills and experience, there is always an avenue to get active. Initially, I would monitor the development and communication for a period of time to get a feel for the group and the processes they have installed in their development process. Once there is a comfort level in that regard, it is time to dip your toes in the water.
Perhaps you can start testing some of the code. There always seems to be a need in that area. If you are doing some testing of the code base, you might come across a bug. You can either do one of two things at that point. You can pass the bug along to some of the other developers or, if you have the skills and the comfort level, you can write a patch for that bug and submit it to the group. If you can get that patch accepted into the code base, you are well on your way.
Your name will be attached to that patch. Nobody can take that away from you. As important as it is from a technical perspective, and probably an ego perspective, you just took a page out of Self Marketing 101. Being that you are unemployed, this is critical to you. If you are fortunate, other members of this project will start to pay close attention to your contributions. At that point, there should come a time where some of those developers start to discuss your skills internally within their corporate framework. When an opening arises within that company, you could be in a position to land that job based on the rapport you have developed with this group.
All in all, it is a beautiful way to network while being active in the development process. There are not a lot of other segments of the technology population that are provided with this type of opportunity. It is one of the truly great things about open source software.
For the lucky folks out there that are not concerned with finding new employment at the moment, you are obviously among the fortunate. But that is not a reason to just rest on your laurels. If you want to make an impact in your career, it is always best to stay active. You are, of course, active with your current work, but take advantage of the opportunity to explore. More than likely you have other interests in the technology space outside of the one(s) you focus on on a daily basis. It never hurts to round out your skillset to avoid getting pigeon-holed into one specific area.
Fortunately for you, you do not need to focus on the activity levels of a project. No matter the magnitude of a project, each one starts off small. Thus, you may find yourself involved in a project that takes on a life of its own and results in greener pastures for you in the future.
As I have stated before in this article, the true benefit of being a Linux/open source developer is the ability to stay relevant in any economic environment. That is what differentiates this niche within technology from others, as well as other sectors of the economy. You are afforded this luxury with being interested in this space, so take full advantage of it. Through the years, I have seen engineers make significant strides in their careers through the contributions that they have made to open source software. And this door is open to everyone.
Sure, there are other more traditional ways of advancing one's career, but when you take open source software into consideration, the ability to contribute is the differentiating factor.¬†
Linux Developer Career Outlook
The future is bright. Ultimately, that sums up the outlook for an open source developer. Since 2000, we have seen the number of opportunities increase exponentially till this day. Sure, they go up and down periodically based on the health of the economy, but overall there is increasing strength. There are two main factors why that has been the case. They are breadth and depth.
Breadth is a key contributing factor in the growth of the open source employment landscape. When I mention breadth, I am speaking about the number of areas in the overall technology environment that open source based software has been able to penetrate. Back in 2000 when we first started this firm, the main focus was Linux. Companies tended to speak almost solely about Linux. They left out what would later become known as ‚Äúopen source‚Äù software outside of just Linux. MySQL and Postgres in the database space, and PHP and Python in the application space were not discussed in great detail by companies that we worked with at that time.
These technologies ended up on the periphery, and upper management was not always aware of the internal usage of these open source tools. The light bulb finally turned on when everyone started to talk about LAMP. Thus, the continued growth in these core areas as a result of people combining these components in one powerful open source suite.
But it did not just stop there. That is the beauty of open source software. There is literally an open source alternative to any proprietary based software that was used in the past. From CRM (Customer Relationship Management) to ERP (Enterprise Resource Planning) to BI (Business Intelligence), there are open source alternatives. The list goes on and on in the different layers of the pyramid. The end result is opportunities. Opportunities to get involved in whatever area of the technology landscape that interests you. There was a time when you had to dedicate your talent in a specific area if you wanted to be involved with open source software. That time has come and gone. Developers not only have the freedom to hitch on to whatever project interests them, but also build new projects on the foundation that has been laid over the years. As you can see, there is a multiplying effect that takes place when this happens. And, the open source developer is the one that reaps the benefits of this taking place.
Breadth does not strictly apply to the technology piece of the equation. It also is relevant when thinking about the adoption of open source software. There use to be certain sectors that were the primary companies that were utilizing open source software. Whether it be financial or oil and gas or technology companies; these were the early adopters. But, times have changed in a positive direction for the open source developer. You can now name just about any sector of the economy, and I would be willing to bet that open source software has permeated their technology landscape. Due to that factor, we now see opportunities for employment in a lot more geographical regions than we use to. This has allowed individuals to stay home or close to home without having to relocate to one of the more technology centric areas of the country.
The other main factor in the growth of open source based positions is depth. As open source software takes on a more prominent role, the need exists for companies to increase the level of staffing they have in this area. We have throughout the years seen small teams grow to medium size teams and now are on the cusp of becoming large teams within the corporate framework. This growth in size creates numerous opportunities. In the past, these small teams would primarily be made up of senior level engineers. However, as the group grew, they were/are willing to hire individuals with differing levels of experience. The layers have created positions for junior and mid-level engineers that did not always exist before. Therefore, one now has the opportunity to join an organization with limited amount of experience with plenty of room for advancement throughout his/her career.
Depth has also let developers who get to a point in their career when they no longer are interested in coding have the opportunity to move into the management side of the corporate hierarchy. Positions such as Kernel Engineering Manager, Director of Open Source Software, etc. are titles that were very infrequent a few years ago. Their prevalence has grown and continues to do so. Therefore, if you get to the proverbial fork in your career path (development vs. management), you can feel comfort in knowing that whichever direction you choose, opportunities are abundant.
The growth in the use of open source based software has had a resounding positive impact on the career choices available to an open source developer. And, I only foresee it continuing in this direction well into the future. Due to the astounding adoption rate of open source software in so many different sectors, choice is now where the open source developer finds herself/himself.
Do you want to do kernel or application space work? Choose, because it is available to you. Do you want to be coding in Python, Perl or PHP? Choose, because it is available to you. Are you tired of coding, or do you want to do it for the rest of your life? Choose, because it is available to you. The open source developer's fork has many more prongs on it than it use to with more to come. Use it to your advantage. Expand your boundaries knowing that whatever direction you take your career in, there should be opportunities.
How to Advance Your Career in Linux Administration
Administration positions have experienced tremendous growth over the last couple of decades. This will continue as data centers become more advanced and prevalent in corporate environments throughout the globe. There will continue to be advancements in automation that will eliminate some tasks while creating others. Thus, the ever-changing life of an administrator.
In essence, the most successful administrators become chameleon like, therefore exhibiting the necessary adaptation skills to keep up with the continuous changes that take place. In order to succeed, you will need to do your best to learn this trait if it is not inherently within you.
There are a couple of key questions an administrator needs to ask himself/herself. They are as follows:
Is my employer using or interested in using leading edge technology?
Would I be a better administrator with a recognized certification?
Do I want to specialize in a particular area or be a generalist?
I will detail out each of these questions as you may find yourself contemplating them in you quest for career advancement.
It is of the utmost importance that you are working with technologies that are going to make you a more marketable candidate if/when it is time to look for a new place of employment. Therefore, you must keep track of industry trends through research and networking. By interacting with other Linux administration professionals and reading leading technology driven publications, you will be able to determine what these technologies are. Once concluded, you want to make sure you are either getting the opportunity to work with these technological advancements, or your employer has expressed interest in getting involved with them. The end result is placing yourself in a better position in your current or future role.
We get asked about Linux certification frequently. In my opinion, the answer changes on a case-by-case basis. Overall, the tendency of the answer is largely derived by experience. For individuals that are either early in their career or new to Linux, it is likely to be more beneficial to attain a recognized certification than to not have one. Without having prior professional experience to rely on, one can show their knowledge level with a certification in hand. This assists these individuals greatly in their search for new employment or advancement in their current position.
For individuals that do have prior professional experience, the benefits of a recognized certification dwindle based on the amount of experience an individual has. As I have always stated, any education is good education. Therefore, even if you are a very experienced administrator, it is not going to hurt you in either your current role or positioning yourself for future employment elsewhere. But, do not count on it being a difference maker for you, at least in comparison to individuals with less experience than you possess. Ultimately, if you are a person that is in a continuous quest for knowledge and feel a certification demonstrates that knowledge, by all means pursue it. On the other hand, if you are an experienced individual that prefers to just learn the inter-workings of new technology through hands-on involvement without the paper to show your knowledge in this area, that is fine as well. In either situation, you will probably end up in the same place in most instances.
The last area of certifications to discuss, outside of who is best suited for them, is the certification that is going to provide you the most reward. That is why I mentioned ‚Äúrecognized certification‚Äù above. From what we have seen over the last nine years, there is a tendency for companies to prefer a certification in the flavor of Linux that they are utilizing. Being that we target the North American market and Red Hat has the largest market share there, it is fair to say that we get positions that ask for a Red Hat Certified Engineer (RHCE) the most of any certifications out there. It has won multiple awards over the years with it's ‚Äúhands-on‚Äù component, and thus employers have gravitated toward it.
Not to be outdone, Novell has made strides in this market, as well. Therefore, that is another certification that resembles the RHCE to a large extent, albeit with a SUSE bent to it, and is requested by employers. Outside of those two leading distributions, you have the vendor-neutral Linux Professional Institute (LPI) and CompTIA certifications, among others that are available. I believe these certifications also play an important role in the marketplace, but I must admit that we do not get requests for these certifications as much as the others. Perhaps that will change over the course of time.
The last question that I asked above is whether you want to be known as a specialist or a generalist. There is no clear-cut answer in this case. It is purely driven by your own desires. But, it is something that you must think about. It will determine what opportunities are available to you in the future.
For instance, some administrators prefer to work in large clustered environments, and thus gain the necessary skills to stay in that area. Others thoroughly enjoy working with the latest virtualization software, and therefore travel down that path. Finally, some people prefer to work in a heterogeneous environment, while others stay strictly in the Linux area. It ends up being no different than regular tastes and preferences that all people exhibit. Whatever you have a passion for will lead to your success on a daily basis. You just want to make sure that you are at least aware of the trends in the marketplace, so you do not find yourself left out on a deserted island as everyone has shifted away from what you are working with.
All in all, there are a lot of opportunities to advance your career in the Linux administration area. Much like anything else in life, you have some key questions that you need to ask yourself, and based upon those answers, they will help determine your best path to prosperity. With the growth of Linux and open source software throughout the years, it is a very exciting time to be involved in this area. As I always like to say, as long as you are up to date on what technologies are prevalent, you should not have any problem staying relevant.
Linux System Administrator Career Outlook
Be nimble. In a nutshell, that is what it is going to take to garner success in your career as a Linux system administrator. Technological advancements come and go. That is nothing new. It just happens at an ever increasing rate. That has probably, more often than not, been the case for the average system administrator throughout time, but the breadth of skills that you need to possess is the essential ingredient.
Companies are constantly trying to do more with less. That is no different when it comes to managing a technology infrastructure. Automation of tasks has allowed them to constantly expand their networks without necessarily increasing their headcount in equal proportion. Therefore, even though you find yourself in a growing area of the overall employment sector, your job and the skill set you need to complete it are ever changing.
As time has progressed, administrators are being asked to do more programming than in the past. This is at the heart of the automation phenomenon. To put control in the hands of the system per se, taking it out of the human hands, is the preferred methodology when constructing and maintaining an ever growing infrastructure in today's day in age. Thus, make sure that you have put yourself in a position to gain the necessary knowledge to perform such a task. Gone are the days of being the person that is content in doing the mundane daily maintenance of the network. That job no longer exists.
Keeping the breadth focus intact, there continues to be signs that the heterogeneous environment is here to stay. By now, everyone is well aware of the growth of the Linux server market over the years. And Microsoft server market share has continued to climb as well during this time. This has all come at Unix's expense.
Being that we have focused solely on Linux and open source for over nine years, I am well aware that even the mention of the Redmond folks name is not a popular route to take. Unfortunately, we must deal with reality. The environments that were built primarily with the use of open source software have stayed that way. However, with Linux's momentum into the large corporate environment, this where we see positions for Linux administrator's also including any Windows knowledge as a plus. The focus for this individual still primarily lies on the Linux side of things, but it sure does not hurt to at least familiarize yourself with the Windows world a little. Once again, flexibility reigns supreme.
Outside of the technical arena, the growth of the Linux server market has presented many opportunities. Gone are the days of being perhaps a little pigeon-holed when determining which companies you might be able to work for. Companies of all different sectors of the economy have recognized the open source phenomenon, and thus choice is a great benefit that you now have. Whether it is a small manufacturing company that you prefer, or a large biotechnology firm that you have your heart set on, more than likely they have Linux as part of their infrastructure. Therefore, they will ultimately need people with your skill set. A network is a network to a certain degree, but to be able to follow a passion that you have outside of your day-to-day work requirements is a tremendous bonus.
Along the same lines as the flexibility of corporate sector within which you work, you also will enjoy the lack of location necessity. Since companies in many different industries and size are adopting Linux, that means that corporations throughout the country have opportunities that might fit your skills. Therefore, if you find yourself in a non-technology centric part of the country, you still may find the position you are looking for. In addition, with many companies locating their network across multiple sites, this also encourages less of a need for you to be at the corporate location on a daily basis. There continues to be an increase in the ability of an administrator to work out of a home office, and more and more corporations are allowing for such a work arrangement.
Lastly, as Linux has gained steam, its importance in the network infrastructure has increased. Much like that of the career outlook for the Linux developer, the Linux administrator will reap the benefits of increased layers of management surrounded solely by Linux and open source software. This allows you to grow at your current place of employment with additional responsibilities without taking on a pure management role. A company may start off with one Linux administrator as they introduce it into the corporate infrastructure. As they continue to add more and more Linux servers to the network, the need exists to hire more administrators as needed. Ultimately, the formation of an administrator hierarchy will result with a Lead administrator directing the others. Therefore, if you are hired on as an administrator, there is the opportunity to grow into that lead role, with the ability to still get your ‚Äúhands dirty‚Äù on a daily basis if that is what you desire.
As time progresses, so has the role of the Linux administrator. As I have stated before in this article, flexibility and opportunity reign supreme. As an administrator, you will continue to don more and more hats as the complexity of the network continually evolves. Make sure that you are always up-to-date with what that complexity consists of, so that you are positioned correctly to take the next step in your career. Opportunities are plentiful with the advancements of open source software, therefore you should be able to direct your career in a direction that brings about the most satisfaction for you. Just do not fall asleep at the wheel and get too content in your current role. With the continuing evolution of Linux and open source software, the need for you to stay active is a must.
How to Market Yourself to Your Current Employer
Marketing yourself at your current place of employment is something that often is overlooked. Individuals tend to focus on how they are going to position themselves for their next role. More often than not, they believe that they will have to join another company to assume that role. They sometimes fail to see the potential opportunities that are available within the four walls where they currently occupy their time. On occasion, their ideal position might be there for the taking without having to switch companies.
In the end, it all comes down to positioning. You want to exhibit all the quality traits that your employer is looking for in an individual for the role you desire. These do vary on a case by case basis, but for the purpose of this section, I am going to take a more generalist view. Also, being that the focus is on open source, I am going to position things accordingly. By being actively involved in open source, you can exhibit traits that encompass many of the key areas within a business; finance, marketing and management.
Let's start with finance. You might be saying to yourself, ‚ÄúI am a technical professional, not a finance person.‚Äù And, by all accounts, you are generally correct. However, that does not prevent you from possessing the wherewithal to do a little spreadsheet management. Suffice it to say, when it comes to business, there is not much more that holds higher praise than the almighty dollar. In order to be successful, you have to turn a profit. And, the more you control expenses, the higher the profit will be.
Now, let's put that into context as it relates to open source. Perhaps you are a person that when you joined the organization, there was a mix of proprietary and open source software being used. Showing your open source savviness, you transition some of the proprietary software to an open source alternative. Hopefully by doing so, you not only put your company in a more stable environment, but you also saved the company money. The question is, how much? Well, this is where you need to put on your financial hat and start cranking out the numbers.
Do your best to be as accurate as possible. An estimate that is way off base is not acceptable. Take all the factors into consideration (i.e., labor, uptime, etc.) in addition to the cost of the software and support. In the end, you should have a spreadsheet that shows considerable cost savings. In turn, that is material that you should present either during an annual review or when interviewing for a new position within the company. In most, if not every case, this will catch the eye of upper management, who will in turn view you in an even more positive light.
That one was easy. Everyone discusses the cost savings and stability that is realized by implementing an open source software solution. But, there is another financial gain that can be assessed by being an active open source individual. This area is labor. Much has been discussed recently about the continuous growth in positions involving the knowledge of open source software. Overall, the supply has not kept up with the demand in this area. Therefore, talent is a key component to the success of your organization. Your company will need a top notch engineering team to compete in today's environment.
By you being a respected open source developer, you have the chance to impact this area. As a result of your work, there might be other individuals who actively participate or want to participate in open source software, that want to work by your side. Thus, they seek out a position at your company. It is very important that you keep track of these instances. Hiring and retaining employees is a large expense for the organization. If you can show that you have attributed to keeping these costs relatively low as a result of your involvement in the community, this could benefit you greatly. There is a large financial gain that can result from such an effort. And, you do not have to put in much time and effort outside of what you do on a day-to-day basis. You just have to be aware of your surroundings and realize the impact.
Outside of the financial arena, marketing is an area where you also might show your worth. Every time you provide meaningful code to a project, there is a chance that an impact is made. Even more so if you utilize your corporate email account. The rest of the community and abroad will continue to see the name of your organization while viewing certain mailing lists. As a result, there might be a number of individuals that have a comfort level in purchasing your company's product based on these contributions. They view your company in a positive light, and therefore you have helped the organization create goodwill. This area is hard to quantify, just as when you see any company attach a numerical figure to goodwill. Nonetheless, it is still important and something worth discussing.
Lastly, let's move to management. This is a key area if you are looking to eventually move into a lead or full management role. Even though your daily responsibilities at your company involve strictly hands-on development, that does not prevent you from gaining valuable leadership skills via your open source involvement. You perhaps have risen through the open source ranks to becoming a maintainer. In this role, you have essentially established yourself as a lead in the open source hierarchal structure. This is your opportunity to display to your current place of employment your ability to lead a component within the open source framework. Detail out to your employer how you have achieved this, and as a result of your effort, how this piece of the open source puzzle has thrived. You should be able to translate it to a position at your company that you fancy, and therefore, improve your chances greatly in landing such a role.
In the end, there are a lot of benefits that can be gained by either being directly involved in open source software or utilizing it. In most instances, these benefits can translate to daily corporate functions. The key is documentation. You must be able to document in a meaningful manner how the experience you have gained, as a result of your open source involvement, makes you a greater asset to the company. Be cognizant of even the most subtle achievements. You might not be aware of it at the time, but each accomplishment that is made might play a vital role in assisting you in landing your desired position. Open source provides you with opportunities that might not be possible elsewhere, so make sure you utilize them to your advantage, and your career will benefit accordingly.
Resources for Linux Professionals
Resources abound for either newly engaged Linux professionals or experienced ones. With the amount of individuals that have endeared themselves to open source software over the years, there are a multitude of educational avenues to consider. Doing simple searches will point you in the correct direction for wherever your interest lies. In the following few paragraphs, I will just point out a few of them that have had the largest impact over the years.
With Linux and open source software being open, there is ample opportunity to get a grasp of the entire framework of it by monitoring the communication that takes place among developers. First and foremost is the importance of the mailing lists.
If you are interested in Linux kernel work, monitor the Linux kernel mailing list (LKML). There is even a kernel mentors mailing list if you are ready to dip your toes in the water. Your questions on that mailing list are often answered by experienced kernel developers that get your development efforts off on the right foot. If it is PHP application development that interests you, go to php.net and find an appropriate mailing list for you. No matter where your interest lies in the open source software space, there is an appropriate mailing list for you to monitor and eventually interact with.
The huge benefit that is gained by viewing the mailing lists is that it allows you to become intricately aware of the communication that takes place among the developers. You will get to know the individuals that are most active. As a result, you will be able to ascertain the tone they display while interacting with other developers. It is not a hidden secret that the mailing list's sometimes display an environment that is less than pleasant. But in all honesty, people tend to be more direct than anything else.
In any regard, you want to make sure you know what to expect when it is time for you to interact with other members of the community. Of course, the code that you get to analyze has an extremely high level of importance. That goes without saying. But, knowing the ecosystem of each open source group is a factor that some fail to take into consideration. By having a good grasp of the expectations, it can go a long way into determining the level of success you have as an open source professional.
Another way that the open source community communicates in an open format is the use of Internet Relay Chat (IRC). There is an IRC channel for just about every open source project out there. IRC is another open forum that provides you with a lot of insight to the interaction flow of developers of specific projects. It is worth the time to just sit back and watch the communication flow of a project that interests you via IRC. It provides a lot of the same benefits of the mailing lists.
Linux User Groups (LUGs) can be another resource that is beneficial to anyone interested in Linux. While the height of embrace for LUGs probably existed a few years ago, they still play a very vital role in the establishment of the open source community. The real benefit of these groups is that you are able to get answers about nearly any question you have about open source software from people that are local to your area. And, a lot of them have monthly meetings that take place that allow you to meet other open source professionals in person instead of always having to communicate electronically. In the end, it is a great networking tool from both a professional and personal perspective.
Another way to get a good grasp of different open source software is to pick up an appropriate book. O'Reilly publishes books on any open source topic you can think of. I know there are plenty of other publications out there, but O'Reilly has been visible in the open source software space from a very early stage of its existence, and thus it has become the de facto standard in this category. From Python development to Linux system administration, every subject matter is covered by an O'Reilly book. And, this is just not for newbies. I know plenty of experienced developers that will take the time to review a certain topic by investing time in an O'Reilly book. Therefore, make the most of this resource that is at your disposal.
Staying along the lines of available publications, every company or organization that offers Linux certification have a periodical that covers a lot of the most important basics for a Linux administrator to know. These books provide great assistance to both individuals new to Linux or experienced administrators. Thus, even if you decide that you do not want to complete the entire certification process, at least picking up one of the publications that deal with each certification is going to provide you with a lot of the knowledge that is needed to succeed.
Lastly, the vast amount of web sites that focus on open source software are a great resource for both developers and administrators. Whether it is that latest Linux news or in-depth background on a particular open source project, there are a number of sites at your disposal. As people's tastes and preferences change, so do some of the successes of the open source sites out there. Thus, I will hesitate from naming names (though you're on a good one now). But, there are a number of sites that have stood the test of time and can easily be identified through simple searches for your particular interest area.
Bottom line, the resources available to open source professionals are plentiful. By investing time and energy into utilizing all these avenues, it will greatly enhance your chances of success during your open source software career. There is no excuse for not being up-to-date on the latest advancements in your area of interest with the amount of information that is available to you.
The fact that open source software is open is a great way to level the playing field. Every individual has as much chance to succeed as the person next to them. It is a technical area where there is no beneficial treatment toward certain individuals. Therefore, the people that make the most of the information at their disposal are the ones that have achieved the greatest amount of fulfillment throughout their careers. As always, if you get active and stay active and act professionally, the sky is the limit for the opportunities that await you in open source software.
What to Know on Interview Day
Everyone knows the importance of a first impression, and an interview is no exception to that rule. Whether or not your interview has a positive outcome may very well be determined within the first few minutes you meet with members of the company's team. Therefore, it can not be stressed enough that you must put the time and effort into being as best prepared as possible. In order to accomplish that, make sure you have a simple checklist and go through each of these steps. They are as follows:
Do your best to get a list of the people you will be meeting with.
Know the dress code to make sure you blend in as well as possible.
Know the company location.
Make sure you know the details of the position you will be interviewing for.
Try to get an itinerary for the interview.
Be up-to-date on the company.
These do not have to be completed in any particular order, but each has a high level of importance.
Prior to the interview, ask the company who you will be meeting with. Sometimes the company will not oblige with your request, but most often they will. This is a potential key to your success on interview day. With the tools that are available today at your disposal, you should be able to get details on each of the team member's background.
A good place to start is with your social network tool of choice (LinkedIn, Facebook, etc.). By locating each individual, you should be able to get an idea of their background and perhaps get clues into their technical strengths. By doing this, you should hopefully be able to find some similarities with a few, if not all, of the member's of the team. Whether it be something as simple as you growing up in the same area as a team member to having the same interest in a particular open source project, this will benefit you greatly. People who can carry a conversation and find likenesses with one another tend to do extraordinarily well on interview day.
Knowing the dress code of the company is a subtle reminder of a detail that more often than not is taken for granted. A number of people might consider it to be a minor detail, but it still carries a high level of importance. Believe it or not, I have witnessed on a few occasions a person not being considered for a position solely based on their dress, even though they displayed the necessary skill set. Thus, do not let something that is so easy to overcome be a detriment to you on interview day. More often than not, in the technology space, a safe bet is to dress business casual. That always seems to be the de facto standard. But, it never hurts to ask. Rarely is a group more formal than that, but there are times when they are more casual. Nonetheless, even if you are dressed business casual and the rest of the team is in shorts and flip flops, you are going to be OK. Just do not bring out the suit in that instance. You will be looked at as too stiff for their group. On the flip side, I have witnessed a candidate show up in shorts and flip flops with the rest of the team being business casual, and they have taken his/her dress as a lack of respect for their company. At the end of the day, play it safe.
Know where you are going to be heading on interview day. It is another detail that sometimes gets overlooked to the candidates demise. I have heard candidates tell me that they failed an interview due to them either running late or going to the wrong location. It is important that you know how long it is going to take you to get to their location. Everyone is aware of the possibility of there being a car accident or some other traffic situation that makes you late. No matter, make sure you take the companies phone number with you. If you happen to run into traffic, call the company and notify them. There is not anything worse than a team sitting around waiting for you, and you not showing up on time unannounced. That gets you off to a bad start right off the bat. Also, make sure you have the right location. I have seen where people will just look up the address of the company on the corporate web site and go to that location. But, what if this particular team is located in a satellite office that is not listed on their site? In the event that is the case, you will miss the interview time which lowers your chance of success.
Another key factor in a positive outcome of your interview is knowing the details of the position you are interviewing for. This will assist in your preparation. If you have a varied background and have been away from a particular language that they are looking for for the last year, take the time to brush up on it. In addition, perhaps there are ten key items that the company is looking for in an individual, but you only possess eight; try to not only stress those eight but also be prepared to explain the measures you are willing to take to get up to speed on the other two. Or, perhaps other experience that you have will make up for this deficiency. Knowing exactly what they are looking for will only assist you in a successful interview.
If possible, get an itinerary for your interview. Most companies will accommodate you with this request, so do not hesitate to ask. There are several reasons why this is so important. First of all, you will know how much of your time is expected during the interview in the event you are planning other activities that day. Secondly, if it is a lengthy interview, you will be able to see if the company is allotting any time for a lunch break. Thus, you are able to make sure you have had a meal beforehand in the event there are no breaks during the interview. I have had people show up for an interview on an empty stomach believing that there will be a lunch break. When that does not come to fruition, they end up struggling during the latter half of the interview due to a lack of energy. Lastly, an itinerary allows you to know how long you will be meeting with each individual, and perhaps if you will be meeting with one individual more than once. Therefore, you should not incur any surprises during your interview, and it should flow accordingly.
Another important criteria to a successful interview is doing research on the company. Seems like a no brainer, but you would be amazed at how many people forget to spend some time looking at the company. There are so many avenues these days to get information on a company, so please utilize them. Do not just be satisfied with knowing their business, but also look up any news items about the company over the last couple of months. That will give you an idea of where they are headed as an organization. Being able to ask relevant questions revolving around their business model only enhances your chance of a positive meeting.
Preparation is the key to a successful interview. By following these steps, you will improve your chance of landing the open position. All of the items discussed are fairly fundamental, but as mentioned, each holds a high level of importance. By discarding any one of them, you will inhibit this opportunity. Interviews are tough enough during the actual process. Everybody has an equal chance prior to the interview, so make sure you are as prepared as the rest of your competition.