Will FOSS get me a job?
November 3rd, 2008
I came across the following e-mail linked from the Planet Fedora feed.
Here is an excerpt:
“Trivial example here. The curricula mandates that you learn about data
structures and prescribes certain books and the like. However, the
actual implications of using various ‘like’ data structures or, an
appreciation of the trade-off between algorithms would come if you start
looking at code beyond what is provided by the syllabus.
And, such an effort would stand you in good stead irrespective of which
company you aspire to join or, what programming language you intend to
become a master at.
Having a scientific temper – the ability to grasp the core of the
problem, figure out a pattern to search and adhere to some logical (and
sometimes illogical) reasoning is what will get you a job.”
As both a teacher and an open source developer, this e-mail really resonates with me. I began this semester of Algorithms & Data Structures II by attempting to describe the difference between a theoretical exploration of computer science and actual “real world” software development. I say “attempting” because I acknowledge that until you’ve been in both areas, it’s difficult to fully understand the distinction.
One of my biggest goals in my classes has been an attempt to expose students to both of these aspects. I make sure to cover the required material for the class. But I also supplement it with my experiences from working on real software projects. Being able to pull up one of the open source projects I work on and show students real applications of the concepts behind a domain model or where recursion would actually be used in a non-trivial example is an extremely valuable aspect of the class.
I recommend reading the entire contents of the original e-mail. It’s not too long and does a great job of explaining the benefits of real project work while pursuing an academic degree.


Jon
November 3rd, 2008 at 12:36 pm
“What will get you a job is how much you actually learn.”
Couldn’t agree more. In medical fields, doctors and drug companies publish their findings so that everyone can learn from their research (and research methods, in certain cases). In engineering fields, blueprints for buildings and bridges are available for others to study.
In software, FOSS is pretty much the best form of peer review and vetting that we have.