Notwithstanding the fact that the GSD mentality is often nonsense that comes from folks who don't know what they're doing, I would make the point that a lot of software jobs are "shitty" in the context of what many expect to find when they decide to become a developer. And that's life.
Even at many of the biggest names in tech, a lot of developers are performing mundane tasks that are not nearly as interesting or sexy as one would imagine. If even the biggest companies in tech, which deal with some of the biggest problems, can't create more "good" positions than "shitty" ones, it shouldn't come as a surprise that smaller companies and startups can't either.
Incidentally, it's like this in just about every profession that is glamorized in some fashion (i.e. investment banking, law, etc.).
The only reason people put up with it is because they're told "that's life" or "that's just how it is." when that's meaningless bullshit.
No one really fucking cares that the implementation of the design is pixel perfect, they care whether it moves the needle whether it matches the design or not.
Like anything there is an effective version of 'get shit done' and a cargo cult version, most are the cargo cult version where people are not actually empowered to make decisions.
99% of software is developed in shitty cargo cult conditions, half the world lives on less than $5 a day, I don't care to trend toward the average. If you want to hold up the average as something to strive toward knock yourself out.
Your parents love you unconditionally. If you want anyone else to care about you, you have to make it happen through your actions.
Why would I expect the company to treat me decently? Why do I expect the company to treat me decently? It's because people do not only have rights, they have duties towards their fellow man, that's why!
This is a long-standing idea in German political thought - it's called Sozialpflichtigkeit des Eigentums, and it made its way into both the Weimar and present constitution. "Eigentum verpflichtet", it says there. Americans have a hard time understanding this.
That's exactly what he's saying. It's a company, not a person. You are not its "fellow man"--because it's not a man. It's a legal structure that exists to generate profit.
It's not unreasonable to expect your boss to treat you decently, at least if you treat her decently. She's a person, after all.
But the corporation as a whole? The corporation is a system. It responds to the environment around it. If it doesn't make the right response (as in one that maximizes its chance of survival), it is replaced by other corporations that do. That right response may be at odds with your interests as a person.
You, your boss, your boss's boss, and all your coworkers are part of that system. If they don't take the "right" action (as in, the one that maximizes their chance of survival within the organization), they will be replaced by others who do. If you feel you've been mistreated by this, your only option is to look for a different place in that system where you will be happier.
It's a two-way street. It's not just that people should refrain from treating you poorly, it's also that you shouldn't put yourself in a position where you will be treated poorly.
Don't be loyal to a corporation, don't buy into propaganda about the well-being of the corporation == your well-being.
There just might be differences in the behaviour of an organisation that generates (and maximises) profit over the short term and one that generates profit over the long term.
The latter organisation may have to pay more attention to the 'social obligations of ownership' than the former, including the training and skill level of its workforce.
Because most of us don't speak German!
Sozialpflichtigkeit des Eigentums can be roughly translated as "Social duty of property"
"Eigentum verpflichtet" is more or less "Property committed (to a duty)"
It's a two-way street, and when you're a faceless unknown dealing with a large entity, you usually have to make the first move.
A lot of these mundane jobs do need to be done, but a lot of people enjoy stable mundane jobs. Leave these kinds of jobs to them, they will actually thank you for it. If you're more interesting in accomplishing something, there are far more jobs that really need someone with some skill to come and do them - or, more realistically, find them.
I agree completely in the terribleness and lack of will in a statement like "That's life". No it most certainly is not. Life is entirely what you make of it and we are a long, long way from being forced to perform mundane tasks. If you can handle the stress of doing something new instead of doing something mundane - the door is always right over there. Walk through it and find your own path.
It took me way too long to accept this. I always thought those people just did not know better, or something.
I will never forget the QA department at a previous company and their ~200-step excel-based manual QA procedure. For me, that is basically a nightmare made reality. I tried to talk them into automating it, but they resisted that, almost angrily. They liked stepping through that 200-step spreadsheet.
I cannot understand it, at all, but I now accept it. People are different.
I now hire spreadsheet testers on odesk for $10/hr. Upskill when you have the chance or die.
"I would make the point that a lot of software jobs are "shitty" in the context of what many expect to find when they decide to become a developer. And that's life."
It is easy to develop unrealistic expectations and romanticized notions about a lot of things. That is life.
Tech companies aren't forcing employees to perform "mundane" tasks (fix bugs, refactor code, etc.) in air-conditioned offices in exchange for $xxx,xxx/year in salary plus benefits and perks the vast majority of American workers don't receive.
If you want something different, there are of course many other options. But here's an inconvenient truth: if you think running your own show (freelancing or building a business) is eight to twelve hours a day of fun and intellectual stimulation, you are probably going to be very disappointed when you're your own boss as well. If anything, "doing your own thing" is even more romanticized than working at Google, Facebook or [insert hot startup name here].
GSD works so long as it's focused on shipping.
In fact, you don’t need a bulldog, more like an elephant. Patient, but smart, and they’re gonna get there.
What if shipping isn't the problem?
No surprise then, that between the various forms of attrition (whether from firing, as managers spread blame and scapegoated, or quitting from those capable and prescient enough to see it coming) the company lost nearly half of its IT staff in a 12-month period, which included a major software release.
Remember, the goal is to spend as little money as possible developing a product/service and then sell out in 5 years. So you want to hire inexperienced but talented drones who will do as they're told and give you value for money (i.e. work their evenings and weekends for free). Anyone with the sense to push back on that needs to be cut loose fast.
Beautifully said!
These are not bad concepts when properly understood. Unfortunately they are rarely properly understood.
Hint: they do not mean "it doesn't matter whether what you do has any merit out of the starting gate," nor do they mean "quality doesn't matter, just fling shit and see if it sticks to the wall."
Not to say it's the only way to do things, of course, but it's a hell of a lot better than "Get Shit Done" ...
EDIT: Submitted the post to HN for discussion: https://news.ycombinator.com/item?id=6669129
Neither extreme fits 100% of the solutions. When your company (or market) is on life support, you need to only worry about the present. When it becomes habit, you can't move from saving the company to rebuilding it. And as others say, too much GSD is terrible for morale. It's good for 6 months to save a company. It's bad for 2 years of floundering.