What does it take to get a job as a Linux developer? It is a question that many amateur coders and college students ask themselves. Today we are going to answer that question by looking at what you have to do. We will examine actual guidelines from employers. Then we will talk a bit with a professional who is actually does this job. Finally after that we will take a look at some of the resources that can help you get there. By the time you get to the end of this piece you will not only know what you have to do, you will have a good idea of where to start.
Guidelines will vary from company, so in order to give you a fair look, here are snippets from some of the employment ads put out recently:*
Two Sigma Investments: Software Developer
“Our developers all have at minimum a bachelor’s degree in computer science and experience using several different programming languages including Java and C++. Successful candidates will typically have strong analytical and organizational skills, exceptional programming skills, a true love of building quality software, and a team spirit. Large-scale systems experience is highly desirable. Finance experience is not necessary.”
Livable Streets Initiativ: Software Developer
* A solid base in oo, databases, and design patterns.
* Experience with PHP, MySQL, and HTML.
* We seek people who are comfortable switching languages, picking the right tool for the job.
* Experience with open source and/or web projects is a plus.
* Passion for biking, progressive urban planning, improving public spaces, and similar causes is ideal.
* Experience with online communities, political organizing, or campaigning via the web
* A record of organizational leadership. You have managed successful projects, you function with a high level of critical thinking and personal responsibility, and you know how to turn ideas into reality.
* Experience with CSS, Python, and/or WordPress is also a plus.”
* All listings taken from Jobs.Linux.com to ensure that all jobs are in search of Linux developers.
Advice from a Working Developer
Q1: How were you first introduced to Linux? And how did your career in Linux begin?
A1: I was looking for the next best thing. I had started out as a coder on IBM mainframes and VAX minicomputers, but I had a couple of Amiga computers as my hobby systems at home and was quite active in the Amiga scene. There was a guy named Fred Fish who maintained and distributed a very large collection of “freeware” for Amiga. Fred was also involved in the early days of Linux.
Anyway, the Fred Fish Collection was my introduction to the idea of freely distributed software. I started working on various bits of code, most of which never matured into something I could release. Some of it, however, wound up in earlier versions of Samba and in Snort. Not a bad start.
Q2a: What position do you hold now?
A2a: I’m in a sitting position, leaning slightly to the left because the people who make keyboard drawers for computer desks have not clued into the fact that the center of the keyboard is actually the center of the space bar, not just below the right ALT key.
Q2b: What previous jobs that you have had prepared you best for this role, in your opinion?
A2b: Oh. You meant what position in terms of employment. Ah. Yeah. Sorry. I’m CTO of my own company. We formed a company so that I handle a large contract. Meeting the requirements of the contract required that I hire subcontractors and at least one employee. I spent many years working in networking and eventually storage networking. About ten of those years were spent as a network guru at the University of Minnesota.
Q3: What kind of education do you feel is most relevant to you role? Do you recommend any specific education programs and certifications for someone who aspires to your role? Are there any specific courses that you would recommend to students preparing to work in Linux?
A3: Liberal Arts. If you study computer science alone you won’t learn anything practical. Computing is only valid in context.
Q4: Do you feel that working on Open Source projects as a volunteer contributed to your career, or would have contributed? Would you recommend working on these projects for people who are interested in careers in Linux?
A4: Absolutely, in many ways.
Working on my early code gave me practice. Exposing it to public ridicule provided me (though my own filters) with positive feedback.
Early Binary Tree code (basic CS stuff) that I wrote and released wound up being credited in a research paper in nuclear physics from a university professor in Italy. It also wound up as the subject of a Canadian research paper sponsored by IBM, and it was how I introduced myself to the Samba Team. In Samba, that particular code has since been replaced by something even better, but it was a step in the right direction.
When I worked for the University of Minnesota, my manager felt that my contributions to projects like Samba were of value because the University couldn’t afford the license fees required to use the commercial stuff. I wound up working heavily on version 2 of Samba and became a Team member. I became annoyed that the majority of the Samba Team’s know-how was locked in people’s heads and I started to collect notes. In return, I annoyed other Team-folk with questions, collected what I could, figured out a lot more, and wrote it all down. The result was an open source book. It’s online, and also published by Prentice Hall PTR. https://www.ubiqx.org/cifs/
In the end, only you know if you have the power to start a career in Linux. If you are willing to put in the time and the energy required, then you will be rewarded with the benefits of a career in a field where the sky is the limit.