Couldn't agree more. Once, in an interview, I was asked for a link to my "Github resume". I replied, "I don't have one. I get paid to write code." I got the job.
Uber drivers aren't employees. Nor are they independent contractors. Uber is crystal clear that they only operate as an intermediary for hiring a private driver. Sure, there's some value-add, like keeping track of the money, but if it got to that, a good lawyer would be able to get them off the hook.
They issued a statement "expressing our condolences," which is really all that should be expected here.
Should be reasonably painless. You'll want to read the release notes for 1.3, 1.4, and 1.5, because there are a couple of things that have been deprecated and/or removed. And even a few things that have moved but are otherwise the same. I would think that a day would be sufficient for most peoples' uses of Django. I upgraded from 1.2 to 1.5 a few months ago, and it only took an hour (and this was 10 sites worth of code).
How does this impact the release of 1.6, considering that 1.6RC1 was released yesterday? Does 1.6RC1 contain these fixes, or does this mean that 1.6RC2 is coming out soon?
I'll admit there's a certain "fudge factor" but the more experience you get with requirements gathering, the less of an issue it is. Ultimately, this is the difference between a "Developer" and an "Engineer".
Any project has a defined scope and set of requirements. If you start the project before these are defined, you're dumb, because you have no idea what you're working on.
I always draft a requirements document for my freelance customers, and spell out exactly what I will do for exactly how much money, by a deadline. This document also says in no uncertain terms, that any deviations will result in a new set of requirements, and thus, a new price.
Hourly rates punish you getting better (why shouldn't I charge the same I did last month for something, despite having found a way to do it twice as fast?) and they open you up for all kinds of "why is this taking you so long" or "I'm paying you X per hour! That's more than I pay my shrink!" comments.
Why do so many people advocate reinventing the wheel? As far as I can tell, it wastes a LOT of time, especially in the interview process. One of the companies I interviewed with before I landed at my current job asked me to use pencil and paper to re-implement a bubble sort in Python. Why? My job is to build a house, not forge a hammer. And the fact that it was a bubble sort instead of something... better... was like using a rubber mallet to pound in nails.
I understand that, when you're learning algorithms and such, that there's no substitute for implementing them, to learn them. But when someone with several years of development experience comes in, with a portfolio to show, why waste their time?
My job is to create web applications, not to keep track of every little idiosyncrasy in how various browsers have implemented core DOM methods. The jQuery team do a great job at keeping track of that stuff, and ensuring that things are consistent between different browsers. If I need something to be absolutely-blazingly-uncompromisingly fast I can use native methods, but for most people's use-cases, the performance hit you get with the abstraction is not sufficient enough to go back to using flint and steel to start a fire, after we invented the windproof lighter that is jQuery (or $FRAMEWORK).
Sure, he designed it, but I don't think those nice printed PCBs are "homemade". I'd be more impressed if it were through-hole construction. Still, it's pretty cool.
If you're a web developer, one of the single biggest sources of recurring revenue can be web hosting. I charge $100/year to most clients for hosting... you get 30 small sites on a $10/month VPS and that's a lot of profit for not much effort.