There is no rule as to what the reason is.
Firstly, the person must be a good fit for the team - a team player, right values, work well with the other members, be self driven, passionate etc.
If that is ok, then secondly they've got to be able to do the job! Technical skills must align to the salary they are asking for - if they are expensive resources then they really need to do what they say they can. If they are not so expensive then there is more room for new learning and basic growth. None of this is possible without the right attitude.
Successful candidates must have both.
To start with, you could write useful and helpful Readme front pages for a lot of the projects on GitHub :)
Sounds like you could even write reviews on your own blog/guest blog sites for various OS technologies and projects out there.
If you are contributing to OS projects like you say you are, and managing to do a variety of freelance work for an extended period of time (min 1 year) it looks good.
I would not recommend freelancing for a few months then trying work - it could make you look a bit lame. But if you can sustain it and show all your activity on GitHub it can work in your favor.
Good luck!
When we hire we look at years of working experience, and request a technical assessment before interview. In my opinion, quality of work and culture fit are far more important than a college degree.
Many colleges are out of date and behind technology.
I would suggest building up your portfolio and reputation by working on open source projects. You will also learn a ton from experienced developers you meet there - more than you could in the same amount of time at a college.
Work on an opensource project! There are tons available on GitHub, some with really basic stuff. It will look great on your CV, you'll learn a lot from other devs, and it's good for the open source software movement (i.e. everyone!).
I've never done a PhD but I have (and do) run a start up. To do it successfully you will more than likely spend 90% of your waking hours obsessing, thinking, working, planning and doing stuff that your start up needs. I can't imaging having anything else big, like a PhD to focus on at the same time.
There is also a good chance that your family will be missing out on time with you, because of the above.
While it is VERY fulfilling, and certainly has the ability to bring in rewards far bigger than a "job", think about it carefully. You need to really want this, it is not always easy and can be risky.
Good luck!
Yes I would agree. I've almost always found HN comments to be helpful and useful. At the worst they are neutral/add no value but are definitely not nasty trolls.
Get involved in the open source community. You will be able to see how bigger systems are built. Right now you know what you know and you know what you don't know. But the gaping hole is that you don't know what you don't know! Unfortunately working solo can be a bit of a trap in that regard.
Unfortunately all the knowledge in the world will never replace experience. As a fast way to catch up on experience you should participate in open source projects. You will learn a lot, be able to do what you enjoy and it will look great on your CV.
Yes, UI has to be totally intuitive!
If you had discreet event-driven notifications (NOT like that awful paperclip that MS Word had) that give you the right information at the right time, would that be useful?
Assuming you could turn them all off if you wanted.