Stupid Question 80: Do you have to have an open source project to be taken serious as a programmer?
[To celebrate my first year of programming I will ask a ‘stupid’ questions daily on my blog for a year, to make sure I learn at least 365 new things during my second year as a developer]
I’ve had this question on my mind a while, as I’ve heard quite a few times that all ‘real’ programmers have an open source project, and nobody will take you seriously if you dont have one. Supposedly there is also a book, somewhere, that states this. I bet there are quite a few books out there that does that.
I’ve heard this comment myself many times, and heard it even more during the Öredev conference. And yesterday I got a comment on the blog (and please let me just say that this was a friendly comment – no bad intentions! Just a friendly poke!) under my first year of programming blog post: And now we are just waiting for an open source project from you.
Here is the deal. I know many great developers that have open source projects or are heavy contributors, I have seen first-hand how much time, love and dedication that takes. It’s not exactly a 30 min a week type of project. I don’t have an open source project. Why? It is really very simple. I don’t have time. Here is a typical month for me (and I haven’t had a vacation in 2.5 years):
Work for two awesome companies, so work is about 60-70 h a week.
Almost weekly I organize and host Sweden Pluralsight Study Group
Judging by my schedule there seems to be a conference talk once a month
And I often do the same talk for uni students that, due to economic reasons, cannot attend, so once a month for uni students as well.
As for my blog, I blog every day if not more– solutions and guides. Code is made available but kept on the blog.
While not too often, I answer questions on MSDN and SO etc. plus on emails etc.
I am involved with several newsletters – and I write for two on monthly basis
Since I can’t stop talking or writing you’ll find me rather active in the community, on facebook, G+, Twitter, and my beloved skype (feel free to contact me, I love to chat)
And I file bug reports on open source projects a few times a week, and I blog about solutions to bugs – so I contributing in that sense I guess
And did I mention I am still a fulltime student? Yeah. I am. I got my final exam project coming up, and I have no idea how the fruit I’ll manage to squeeze that in my schedule. It’s a node project with express.js, jade, stylus, knockout, kendo and couch db and am extremely excited about it!
So honestly I just don’t have time for an open source project. I’ve gotten other opportunities to contribute to the community, and I’ve chosen to use them. But I would never ever judge somebody that does not do the things I do, or a person that does not have capacity or interest in doing so. I have many ideas for open source projects but I don’t have time, yet, but maybe next year.
But for those that said to me, nobody will take you seriously as a developer if you don’t have an open source project, I would like to know why not? And, really??
My answer is:
As long as you contribute in one way or another that is awesome. It might be a massive open source project, a tiny user group, or just teaching your kids how to program. Even the smallest effort is something I consider a contribution and all contributions are welcome. Do what you can do, not what others tell you to do,- and believe me when I say that everybody has something to give so don’t sell yourself short by not pushing yourself. But the choice is yours and I will not judge you.
Leave a comment (via email)
That comment is as stupid as compare IQ or rating at School. It really say nothing. I know ppl that have own OS-projects but kind of suck as programmer anyway. Also know many great dudes that does have OS-projects and an army of good developers that do not. This is kind of an "geek" rating system. Ppl just say this and also compare numbers like IQ to try to convince for them self how bad other ppl are. I think that say much about them ;) When you know you are doing good, when u get good feedback,nice response of your ideas, and great response of your thoughts you do not need an OS-Project to try convince others how great you are... Because there is no need to :)
I like the answer. Cool.
I have heard the same, but still do not have an open source project nor contribute to one. There is not a topic / need that is strong enough to pull me from current commitments. However, I do other things in the local community and communicate with a lot of other developers outside of the community. I am not as busy as you, but I have things going on personally, professionally and in the community.
Hi Iris, I agree with your conclusion -- no matter what the medium (e.g. blogging, answering questions on stackoverflow.com, or even tweeting about dev things that stimulate others) , or how one contributes to the field, if s/he DOES make an active contribution, s/he should be taken as a serious developer. Plus, I have encountered work from some open source developers who can barely code their way out of wet paper bags, or have no issue with splicing together spaghetti code with no thought given to constructing an elegant/scalable design -- hence contributing to an open source project does not make one a great/serious developer in my opinion. Inherent traits of great/serious developers include having a tenacious need to keep improving and having an insatiable hunger to learn new things (e.g. applying an unfamiliar design pattern into one's solution or voraciously reading every piece of literature within a particular subject) coupled with evangelizing these thing to other developers. Succinctly, a serious developer is a passionate developer. Mike Reynolds
I quite like your answer. For me it's not about having some big open-source project, but about having something that you are doing, for whatever reason. That could be OSS, your school project, whatever. Jeremy Miller had some thoughts on pet projects that I agreed with (http://jeremydmiller.com/2012/11/10/my-comments-about-20-controversial-programming-opinions/). The point he makes, which is completely true for me in my current position, is that a lot of devs don't work in an environment that provides the truly complex problems that give you the experience to make be a great programmer. So often you have to do something else, however you want to define that. Of course, that's not an absolute, but it does hold true very often. I suppose you could also look at it two ways. Are you looking to contribute, or are you looking to sharpen your skills. If you want to contribute to the community, then there are a number of different, non-OSS ways to do that; and you're doing most of them. If you're looking to sharpen your skills, talks and things will help, but finding something you can work on that is tackling a hard problem (hard being totally subjective) is, IMO, the best way to go about that.
In the last few years there's a growing number of companies requiring some degree of involvement in OSS projects. In this sense, getting to an interview is becoming harder! I've missed one or two interviews, despite being a experienced developer, because I had no code online. Luckily enough, I just found the perfect OSS to develop and I will take this opportunity to increase my acceptance on the market. Personally, I don't think there's a need to contribute to OSS projects to be a great developer. But, it can't hurt you also. If you have the time, contribute or build something and release the code. Recruiters will thank you later.
I think if you spread your self out by doing things other than your "daily job" you are doing okay. This includes giving back to the community in one form or another (SO, MSDN, OSS, Speaking, or Blogging). This way you are building your experience and your network while still helping others grow.
It sounds to me that the reason some employers may want to see that someone has been working on OSS projects is merely a way of accessing their work like an online portfolio. To put it simply "Let's google this one". So perhaps we need to work on our public profile/portfolio rather than specifically a project. I bet many employers will look for their particular flavour of the month be it blogging, speaking or stack overflow profile; so specifically focusing solely on having some awesome OSS project by your name may not be a good use of time if you are only doing it for your public profile. Just my 2 cents.
Iris, I think your answer is perfect - it's about contributions. I would hire someone like you, with your commitment to helping and educating the community, over any developer with a bagful of vanity opensource projects. I think discoverability is important and being an opensource contributor can be a big part of that. I built a lot of my international reputation by being a contributor on usenet news groups and mailing lists and even pre-web Compuserve forums. For anyone considering reputation building by having an opensource project, I think you can get a lot more respect and professional credibility by being a great bug-fixing contributor than you will by starting your own project. I got my first two job offers by being able to point at code and say "I can understand and debug code like this".
Last modified on 2012-11-12