14

I am currently an apprentice software developer at a small company where we develop a piece of proprietary software. I have no major gripes with this (especially not at this point yet), but would prefer to work on open source or free (as in speech) software only.

I'm not currently willing to quit my job and work in another field or put all my eggs in one basket and work full time on a project of my own (I am however willing to join a small startup as long as I get paid a regular wage, though that does of course entail less security and possibly a smaller wage). So my question is:

As a junior software developer, will limiting myself to open source leave me with sufficient job security?

Note that I am theoretically willing to relocate, so if the opportunities only exist in a certain area, this is no problem for the scope of this question. I also don't necessarily want you to tell me if I can make it or not, but rather to lay out clearly (and preferably supported by references or relevant personal experience) how much more difficult it is to get a job if you limit yourself to open source.

  • I'm not sure, but don't you think this would be a better place to ask this question: workplace.stackexchange.com ? – Ranveer Jul 3 '15 at 11:15
  • 1
    @Ranveer I could go there, whether it's a better place, I don't know. I want to see how it does on this site and think it's at least not completely off-topic, but at the worst, an edge case. – overactor Jul 3 '15 at 11:41
  • 2
    For those voting to close as opinion-based, I don't get the point. If unfilled open source positions are more scarce than normal ones and pay less, wouldn't it be fair to say that objectively, it's harder to find a job in open source? If that isn't, then you can say that it isn't harder. – overactor Jul 3 '15 at 14:39
  • 3
    This is really affecting us. With a visible minority of licensing questions, it is crucial that people explain their reasoning for voting, of any sort. Explain what's wrong, how it can improve. This question is absolutely fine to me. – Zizouz212 Jul 3 '15 at 14:51
  • 1
    I'm fairly certain that since this does not involve any sample of code, but a situation in which you are discussing a job about situations wherein you code, that this is indeed off-topic. I agree that the workplace board is a better place to get an answer to a question like this. – Angelfirenze Jul 3 '15 at 17:48
5

It's heavily dependent on where you are/who you work for.

Many companies exist solely to sell a product. These kinds of companies tend not to publish their code so that others don't steal their ideas (yes, it's technically illegal but people will do it). If you're working for one of these companies, your best shot at contributing to open source is getting the jobs writing their utility libraries: since they're not directly part of the software, only used by it, you might be able to persuade a manager that it'd be OK to release these as open-source.

The kind of company you want to work for is a big company that's well known and has at least one major open source project - Mozilla for example. I say this because these companies are going to give you the most job security - enough people use their product and pay for other things they do that you're unlikely to be let go because there aren't enough customers. Of course, the best way to gain job security is always to be good at what you do so you're essential to your company.

If you're not getting enough money, you can always try running your own open source projects on the side, and charging for support or access to extra documentation, etc. This may not bring in huge amounts, though, and you'll need to check with your employer about their side-project policies.

5

You could look outside corporate life. Universities often open-source their code; in this way their experiments / data analysis can be reproduced by other parties. If academic work suits you, you could look for a position as a scientific programmer.
Note that a position in academia does not guarantee that you will be working on open source projects; it still depends on the exact position and who is funding the research. (I'm thinking of public/private partnerships here, but have no experience with these; they probably differ per situation anyway).

It is possible to work strictly on open-source projects, but doing so does indeed limit your options. The limitation is self-imposed though.

5

You would definitely be limiting your opportunities, but it's not out of the question. Completely open source jobs exist — but are a tiny fraction of the jobs which involve both open source and proprietary work or are entirely with proprietary software.

The company I work for employs over 7500 people, and is a pure open source company. (Not everything we do internally is opened, but everything we release is released under an open source / free software license.) We even employ to some people to work almost exclusively on the upstream community projects.

But this is rare — these days most companies are involved in open source, but usually around a mixed open / proprietary model. There certainly are other pure open source companies, but they are much smaller — and even 7500 is not much compared to the tens or hundreds of thousands of employees at large software companies.

So, "pure" jobs do exist, but, yes, you are also limiting your options. Particularly, if you start at a company with a mixed model working on the open source side and the company undergoes a reorganization (and companies do!), this could be very... career-limiting. Many startups today are centered around open source by default (side note: hooray! World domination!), but once initial funding runs out and the company is casting for other options, it doesn't always stay that way. You'd have to be either ridiculously essential to the company to say that you want to only work on the open part even when the company has a different vision for success, or willing and able to hop to a new employer when this happens.

That said, if you're very passionate about open source and free software, there are jobs. I've been fortunate to have them for my whole career. It's a tighter market for sure, but if you really want it, it's possible.

5

You can build up your own business as a self employed contractor. You won't really be working only on FLOSS projects, but you can easily limit yourself to working only with FLOSS project

  • If your expenses are low you don't need much money in the beginning.
  • You can gradually raise your rates and get more clients.
  • Most of the code written is not directly useful for others. Many clients will be ok with you releasing parts of your work under a free license (especially patches with bug fixes, but sometimes also new features). It's usually easy to explain to your clients that it's in their own long-term interest to have patches go upstream.
  • It's probably wise to not limit your skill set to one software project and/or one programming language.
  • It's okay to make small exceptions. I personally dislike working with Windows, but if it's to help a client migrate or to implement an open source system it makes it much easier to swallow. (Cygwin helps.)
  • Build up your network, in real life and online: non-free networks like GitHub, Stackoverflow and Linkedin can be very useful.
  • Bonus: pick up some skills not immediately related to software, e.g. graphic design, marketing, legal knowledge. (You can also use these skills to further the cause of free software. Demand is high and supply low, within the free software community.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.