Many college graduates are finding it difficult to enter the information technology world with little or no work experience. There is no such thing as an entry-level position anymore, and more and more graduates are finding themselves in a catch-22 situation because of this.
Searching the numerous jobseeker Web sites, such as dice.com, will return thousands of positions available in the IT field. But when you look closely, most positions, such as an entry-level software engineer, have a minimum requirement of at least one year's work experience in a related field. The search field criterion doesn't even offer a selection for graduates with less than one year's experience.
You will find that some major companies, such as Microsoft, offer paid training courses to students pursuing a degree, but out of five positions listed at the time this article was written, only one would accept students who only had classroom coding experience. The remaining positions required one to two years of experience, and there were no positions available for recent graduates. When you consider the number of students searching for that "dream job" at a big corporation, you soon realize that your chances of getting a response to your application are slim to none -- especially if you don't have work experience. We have all heard, over and over, that there will always be a need for workers in technology, but getting your foot in the door is a whole 'nuther ballgame.
So what do you do next? Go get a job at a pizza joint, Taco Bell or Burger King until you land that dream job you are so desperately seeking? Stop right there. There are plenty of options available to you in open source technology. Developers in open source technology are always looking for someone who is going to help create the next new groundbreaking application that will take the world by storm. And the best part is, it's free and, in most cases, you can work from the comfort of your own home.
The key to being successful in the IT industry is interning while still attending college and taking some certification courses after graduation. Do some research. Find an open source technology company that will provide you with the tools and resources you will need to build your career. Open source spans platforms, middleware and applications from data centers to desktops. There are many companies that offer internship programs and certification courses.
Google and Red Hat are major contributors to Linux and open source technology. According to Google, each time you use the Google search engine, you are using open source software, which relies on the Linux kernel, GCC, Python and Samba, and commits code into each of those projects. Google maintains a healthy relationship with the open source software development community by releasing Google-created code, providing vital infrastructure, and by creating new open source software developers through programs such as the Google Summer of Code. Red Hat offers a summer intern program and certification courses for undergraduates, graduates, and candidates who hold a master's degree in business administration.
Google Summer of Code
Over the past three years, the GSoC program has brought together more than 1,500 students and 2,000 mentors from 90 countries worldwide, all for the love of code. This year alone, Google welcomed 1,125 student contributors and 175 free and open source projects into the program.
"Google's SoC is a formal sponsorship program tailored specifically to open source," Angela Byron says. Byron, a former student sponsored by Google in 2005 to participate in GSoC, is currently a senior Web architect for Lullabot, which provides consulting and training for Drupal and other open source software. The core Drupal software is a framework that power community-driven Web sites, and includes features such as internationalization, tagging, and an extensive roles and permissions system. The architecture supports more than 1,000 sub-projects in the form of contributed modules and themes.
"My primary role has changed from developing Drupal Web sites myself to consulting with large clients such as MTV, Sony BMG Records, BBC, and Popular Science magazine that use Drupal. My job is to help train their developers, help architect Web sites [mapping wireframes to Drupal functionality], and to impart best practices and advice that I've picked up from working in the Drupal community over the past three years. Lullabot also gives us time built into our working schedule to work on Drupal itself," Byron says.
Byron began working with the Drupal project during GSoC 2005. She is still actively involved with GSoC's mentoring organizations, and went on to become an organization administrator for GSoC 2006, and sits on the board of directors for the Drupal Association.
Byron thinks it is beneficial for college students to intern with a company to secure a position upon graduation. "An internship is a nice opportunity for both an employer and an employee to size each other up to see if they'd be a good match. And 'real world' experience will always trump anything you read in a book," she says.
Byron says there are other opportunities available to college students as well. The Knight Foundation provides a grant program for people who want to implement innovations in local media. There's also a Knight-sponsored, Drupal-specific initiative. But none of this is necessary, she says, because getting involved in an open source project requires nothing more than doing some background reading to find good spots to look into -- and then diving in.
In 2005, Byron graduated from Nova Scotia Community College's IT programming program, which is a two-year diploma program. She has had no formal computer science training and no university education. "I've been mostly self-taught, but I went to school to help fill in some of the gaps," Byron says. "One of my instructors, Ian Macleod, mentioned GSoC. It sounded like a wonderful opportunity to me. I'd had a love of open source basically since I first heard the term in the late '90s, but I had always lacked the confidence to believe that I could be part of it. To be able to get my foot in the door, and to be paid to do it at the same time, was basically a dream opportunity. So I applied, figuring what the heck."
According to Byron, mentoring organizations [open source projects] from around the world can apply to Google to be chosen to participate in GSoC. Google allocates a number of "student slots" to the organization, each of which corresponds to a $5,000 investment: $500 for the organization and $4,500 for the student. Mentoring organizations then submit a list of possible project ideas, a list of mentors they have available, and answer some questions about how to handle problems that inevitably come up, such as student or mentor disappearances during GSoC. Once the mentoring organizations are chosen and announced by Google, the student application period is open. Students have the chance to apply to one or more mentoring organizations, with either a project of their own devising or by choosing one from the ideas list provided. During this period, the mentoring organizations rank the students' applications based on a number of criteria, including overall impact of the project to the organization [if it solves some long-standing problem or opens the project to new target audiences], how well-written the application is, how responsive the student is to clarification requests, etc.
"Someone reading about GSoC might come away thinking the sole goal of the program is for open source organizations to use Google's money to pay students to work on much-neglected or much-needed features," Byron says. "What a sweet deal. However, I believe GSoC is more about attracting and retaining talent to an open source project than it is about producing fantastic code.
"As an organization administrator for Drupal," she says, "I would much rather have only semi-fantastic code from a student who stays on with the project long-term, and gets involved in other aspects, such as documentation and core development, than a 100% working thing of beauty from a student who we never hear from again after GSoC is finished."
GSoC provides many benefits to students and mentoring organizations. "Students Work on something fun that they enjoy, and get paid to do it," Byron says. "It greatly lowers the barrier of entry to getting involved in an open source project." GSoC assigns a mentor to each student, who helps review code and works with students on any issues. "And if they can't help you, they know someone else who can," she says. Students also learn valuable life and technical skills, such as communication skills, how to work in a distributed and international team, and how to take complex problems and break them down into manageable tasks. GSoC also helps students become more marketable to prospective employers. Mentoring Organizations benefit by getting new contributors and new code for existing projects, and money from Google for each student and organization mentors. "It's a great way to 'bug test' your documentation to see if it's easy for new people to get up to speed," she says. "[Potentially] long-term contributors get completely immersed and start taking on additional roles in the project. Since open source projects thrive on contributors, the opportunity to obtain more of them is a huge benefit.
"Working in open source effectively gives you an open resume," Byron continues. "Instead of taking you at your word, your employer can actually look at your code and see its progression from when you first started on a project until now. They can view your interactions with fellow community members and see how you can effectively solve problems in a team environment. You demonstrate your ability to use collaboration tools necessary for serious software development."
Jobs available upon graduation depend on where, and to what extent, you get involved in open source and the open source community, according to Byron.
- Programmer: Open source exposes you to development best-practices, how the "pros" do things, etc. It's a great way to take some fundamental knowledge of a particular language and learn it to a much greater depth.
- Systems administrator: Sometimes working in an open source community requires tinkering around at the network/operating system level. You can turn this skill into a job.
- Designer: Some open source communities know a lot about coding, and not a lot about design. Coming into a project with an eye for design can help you to build your portfolio with icons, advertisements, page designs, and more.
- Instructor: If you start to really know your field, you can get jobs teaching about the project or areas related to the project.
- Technical writer: Diving into documentation can provide you with valuable experience, which can turn into a career as an author for technical documentation.
- Translator: Open source gives you a chance to work in an international community. Time spent learning how to translate between languages can also turn into a job.
- Specialist: Some open source projects are extremely powerful, but require depth of knowledge in order to get the most out of the tool. If you have studied the guts of a program, and know it inside and out, you may be able to tap into a niche market.
- Project manager: Depending on the project, open source communities may provide opportunities for getting involved in a management capacity. Skills managing an open source project can be translated directly into skills managing a "real world" project as well.
Byron says she loved becoming a part of a thriving open source community, the challenge of the project, learning new things every day, and helping other people. "This program served to completely shatter the myths I had about how open source projects worked. I thought everyone who works on open source is this enormous genius with a huge brain and is some sort of god of programming, which paralyzed me from getting involved in open source for nearly 10 years," she says. This perspective is hilarious to her now. The issue queues are filled with patches that break things, use totally inefficient algorithms, and even cause security holes, she says. "Everyone contributes what they can, whether it's a starter solution, a fantastic algorithm that'll blow your mind, a confirmation that the change works on Internet Explorer 6 under Windows XP, or documentation that has proper grammar and sentence structure," she says.
Byron's work within the open source community was a huge stepping stone in her career. She learned time management skills because she was responsible for managing her own time, setting her own deadlines, and sticking to them. She learned better development skills and how to work in a distributed, culturally diverse team. "Suddenly I was collaborating with people in Hungary, Germany, and the United States," she says.
Byron offers some sound advice for students who have never worked in a developmental environment. She had never installed Drupal before GSoC started and she needed to go from knowing nothing about it to being able to code something that worked with it in a short period of time. "Get over the fear of asking questions," she says. "Instead of smashing your face on the problem for three days, mentors are available who will answer your question in five minutes. Realizing that it's perfectly OK to ask questions [and, in fact, encouraged], was one of the hurdles I had to get over. Students also have the tendency to avoid committing projects until they're so clean and shiny you can eat off them. When I finally learned to 'commit early, commit often,' I had fewer headaches and a lot more help," she says.
Byron chose Drupal as her mentoring organization because she had seen it used on Firefox, which is a grassroots marketing and activism Web site for the open source browser, she says. "I chose to apply for the 'Quiz module,' which allows people to use Drupal to build Web-based quizzes and tally the results. The idea was for educators to be able to use Drupal's community features such as commenting, ratings, and revisions to collaborate together and come up with the best questions possible. Three years later, I am happy to report that the module is still being actively maintained by other members of the Drupal community, and it's being used on some high-profile Drupal Web sites, such as Lifetime Television.
Within days of completing GSoC, people in the community began paying Byron to make themes, code modules, fix bugs, etc. She suddenly found herself to be an independent consultant with her own home-based Drupal business. "One of the people I did contract work for was Kieran Lal, who was with a Drupal company called CivicSpace Labs. He had seen me actively participating in the Drupal community, and paid me to drive a couple of patches home, and to write some gnarly technical documentation about the new Form API that had just been added to Drupal. After this kind of 'test drive,' he ended up hiring me to work full time, and that became my first Drupal job in November 2005 -- three months after completing GSoC," Byron says.
Currently, Byron manages Drupal's participation in GSoC. Each year, she finds more than 50 mentors and helps them build an ideas list. She helps manage the application voting process, status reports, and acts as a general resource for anyone [student or mentor], who has problems during GSoC. She is behind efforts that help get new contributors into the Drupal project. "Last year, I helped manage Drupal's participation in the Google Highly Open Participation contest, which was a GSoC-like program, but for 13- to 18-year-old students, with a focus on short-term tasks rather than two-month long projects," she says.
Byron also manages Drupalchix, so women in the Drupal community will have a safe place to ask questions, talk about their experiences, and discuss how to increase the number of women involved with the project. She is also on the Drupal documentation team, and actively recruits others to help out. She has been a Drupal speaker at Google, at the Women in Open Source conference at SCALE 2008, and several other events.
During the past two years of mentoring at GSoC, some of her participating college students have become successful, including Jimmy Berry, Aron Novak and Rok ÃÅ½lender, just to name a few. "Berry was a GHOP student who increased Drupal's automated test coverage by many orders of magnitude, and is now working on the Usability Testing Suite, which will allow field testing of proposed user interface changes in order to get immediate feedback from users. Novak is a three-time GSoCer with Drupal, who is passionate about re-tooling Drupal's feed aggregation system," Byron says. "ÃÅ½lender's GSoC project was around an automated testing framework for Drupal, and he was hired by NowPublic, a citizen journalism Web site powered by Drupal, to help manage internal testing procedures. Several of our students have gone onto jobs within Drupal shops and one at Google itself."
Google and Drupal are not the only companies seeing a boom in open source technology. The number of Red Hat-sponsored open source projects increased from 16,000 in 2001 to 150,000 in 2007.
DeLisa Alexander, senior vice president of Human Capital at Red Hat, doesn't believe it is necessary for college students to intern with a company to secure a position upon graduation. "People often get jobs at companies like Red Hat, with no previous relationship to the company. However, interning certainly can assist in opening doors and building relationships that lead to full-time employment," Alexander says.
In addition to entry-level positions in software maintenance and technical support, Alexander says there are many other positions available to graduates who have worked on open source projects. "With a background working on open source projects," Alexander says, "there are related roles in engineering, sales and marketing. Positions like these are available at Red Hat, and candidates can review our careers site to find more information." There are many jobs available to graduates, who don't have general exposure to open source, but have Linux experience, and have the desire to learn more. "Having Linux systems management experience helps differentiate an applicant," Alexander says.
According to Alexander, Red Hat offers jobs to college students with excellent open source coding skills. "This is often facilitated by the close relationship that Red Hat maintains with the Fedora community.
"At Red Hat, our new hires must have the basic skills we require to perform the job, so while we don't offer 'on-the-job training,' we do offer opportunities to enhance core skills with additional training. For example, with our associate technical support engineer role, new hires participate in six weeks of in-house training and then sit for their Red Hat Certified Engineer certification, which is paid for by Red Hat," Alexander says.
Red Hat offers a summer intern program for undergraduates, graduates and MBAs. "We [Red Hat] have a three-month intern program, where interns work for specific departments and participate in cross-functional projects. The internship program delivers a robust exposure to open source," Alexander says.
Graduates trying to obtain an entry-level position with Red Hat need to be passionate about open source, and Red Hat's mission and values, according to Alexander. "Beyond that, as a growing company and a leader in the open source community, we look for entry-level employees who can demonstrate an ability to scale with Red Hat," she says. "With regard to specific technical skills, experience with Linux up-stream work, Java, C, C++, Perl and Python are big pluses."
If, after graduation, you are having trouble obtaining an entry-level position, Alexander says it is important for you to continually grow and adapt your skill set. "One approach for this is to seek additional education or certifications that are in high demand in the marketplace. For people focused on an open source career, a RHCE certification could be a good opportunity.
"In the Web 2.0 world, building a strong network is critical to managing your career. Utilizing tools such as Linkedin, Facebook, and Plaxo to build your professional network early in your college career is an important first step," Alexander says. "Also, try to seek out skill enhancement opportunities that are aligned to your career goals."
Google, Drupal and Red Hat are only a few of many organizations that offer open source opportunities to students. SourceForge.net hosts a "help wanted" board for non-commercial, open source project volunteer openings. AgoraCart survives on help from the community, and posts jobs, internships, and volunteer positions. The Apache Software Foundation also provides support for the Apache community of open source software projects. So take that first step -- do some research, get involved with the open source community, find a sponsor, and dive into a potentially lucrative and successful IT career.
Photos are copyright by Dries Buytaert