My oldest is 15 now, and is starting to give serious thought to his future career. He's considering following in his father's footsteps and focusing on computer science, and I'm steering him away from it. Why? After all, it pays well, and there are lots of job openings - if you have a CS degree (and are under about 45), you'll definitely be able to find good-paying work. But on the other hand - the absolute best you can possibly hope for is to be a nameless, faceless, arbitrary replaceable cog with four feet of deskspace in a noisy, repurposed, open airplane hangar who joins a daily standup each morning and recites a list of the JIRA ticket numbers you worked on and defending why it's taken more than a day or two to close any one of them. And then when you hit 45 and you're too old to code, you not only won't be able to find a soul-sucking buy high-paying close-jira-tickets-as-fast-as-possible "programmer" job but you won't be able to move into management either, because that's for people who went to business school... whose main skill is telling programmers that they have to close their JIRA tickets faster.
A recent example of a different way to do production is Alex Garland, director of Annihilation (and Ex Machina). He spoke about it somewhat at length at Google:<p><a href="https://youtu.be/w5i7idoijco?t=5m25s" rel="nofollow">https://youtu.be/w5i7idoijco?t=5m25s</a><p>In my experience all of the major problems I’ve seen at software companies were problems the rank and file employees knew exactly how to solve, but weren’t allowed to.<p>It seems extremely hard for managers to let go of responsibility and let their team take it on. I understand why: it’s the managers neck on the line.<p>But the fact is, in almost every case the manager doesn’t have the domain knowledge necessary to solve their own problems. Almost by definition: managers lead teams directly into the problems the manager can’t solve.<p>It takes real guts to regularly take a chunk of your resources and hand them to an “underling” and yet that’s absolutely what they must do.<p>I’ve also seen a lot of examples of managers requiring employees to “prove themselves”, often meaning they can prove they can think like the manager thinks, before they can be trusted with an allocation of resources.<p>But this is pointless: the manager is already good at what they are good at, and blind to what they are bad at. By definition hedging your own deficiencies must be a leap of faith.