1. 25

  2. 26

    At some point just before the turn of this century, the culture in Silicon Valley shifted from being what it was (a quirky, pay-it-forward culture) toward a resource-extraction culture. Most resource extraction cultures emerged around physical commodities (e.g. oil in the Gulf States) but this one taps a different resource: the earnestness of the American middle class. People like the OP go into the tech industry (and often move to California) because they’ve been told that “it’s different” over there– that hard work is rewarded, that smart people are venerated rather than marginalized, and that these tech companies have something different from the manage-or-be-managed culture of the typical corporate grind. They read Paul Graham, failing to realize that the man hasn’t accomplished much in the past 20 years other than to monetize the reputation that comes from a mid-90s success and a couple good Lisp books, and drink enough Kool-Aid to last through three or four jobs before they realize that they’ve been sold a lie.

    Then they hit middle age, and realize that the managers have all become executives, making high 6- and 7-figure salaries for jobs that involve no real work and minimal accountability, and they’ve all become… aging ticket jockeys, thanks to “Agile” and open-plan offices and the low-status, macho-subordinate culture that has infested programming. Sure, they know a lot about how to design software after 10, 20, or 30 years, but that doesn’t matter in a world where, if you didn’t get the title, you didn’t do it… and management titles are valued most of all because the people who make those decisions… (wait for it…) are managers.

    It’s hard to say what “the solution” is. The indicated solution is to push a bunch of highly intelligent people to compete for management jobs that they don’t really want. (I don’t think that the OP wanted to be a manager. He just wanted the credibility that nobody ever told him that only managers get.) That might be better for the individual, but it’s bad for society. We lose engineering talent, we increase political competition for the good jobs, and we move further toward being a second-rate society governed by bullshitting rainmakers rather than real people doing real work. In which event, China will actually kick the shit out of us and Donald Trump, Jr. will win the 2024 presidential election in a landslide.

    In that light, I think it’s incumbent on us as a generation to decide what we want software engineering to be. If we want it to be a stupid young man’s game [1] that people play for 5 years in exchange for lottery tickets called startup options, and to have a world in which skill is devalued and mediocrity in products is the norm, we can continue with the current path. It’s clearly making a lot of money for some people. On the other hand, if we want to be taken seriously as a profession, we have to get organized, we have to fight this nonsense (“Agile” and open-plan offices and the halfway-house culture for kids who are emotionally still attached to college life) and get serious about being treated like adults. I think the best model might be to institute something like the actuarial exams, because while I absolutely hate the idea of making software require formal education in the form of expensive institutional degrees, I do think we need to differentiate ourselves from the unqualified 19-year-olds who “write code” from their mothers' basements and the long-ago-checked-out perma-juniors (i.e. the people for whom Agile/Scrum is intended).

    [1] Note that both parses work. {Stupid young man}'s game and Stupid {young man's game}.

    1. 15

      I once had the opportunity to review a manager’s resume. Full of “built this, built that.” I thought, “cool, guy did some stuff but he’s grown tired of life in the trenches.” But then it turns out he was just the manager at the time. Didn’t actually build anything. Only watched people build things. I thought this was pretty deceptive, but then my manager explained that’s how all manager resumes look. Never really explain what they did, only focused on what the team did. It was disappointing.

      1. 4

        What you’re saying is pretty much the observation most people make after working in certain parts of the industry few years. There’s a lot of systemic corruption.

        You go out to the west coast and you see these companies packing engineers like battery chickens into open office plans, and offering them like 0.01 equity in some risky venture that will just toss them out like waste a week before their option cliff and replace them with another naive 20-something who will do the same and the cycle continues. It’s no wonder all the valley companies prefer younger people, they’re much easier to exploit. The Silicon Valley scene is really corrupt, and most people only realize this after they’ve been in the machine for a few years.

        If we’re going to move forward as a profession, software engineering really needs to become a viable career path that you can feel safe devoting 10-30 years of your life to without being marginalized by this kind of corruption.

        1. 2

          Most of what you write on this topic is spot on. How can I join the revolution?

          1. 7

            I’m writing a blog post (yeah, I decided to get back into that game, although with reduced time expenditure) on it right now. ETA: link to said post here.

            1. 0

              I’m very happy to hear you’re blogging again :)

          2. 1

            I agree with most of what you write, but you should leave out the nation-state stuff. China is no less, and in many cases quite a bit more, governed in both large and small by bullshitting rainmakers. Their engineering practices are no more evolved. Their technical people are, in fact, on the same side of the same boat as developers in the US.

            1. 2

              What you say is true of Asian corporate/management culture. That illness is worldwide. That said, it wouldn’t surprise if China (or, perhaps, Hong Kong or Taiwan or Singapore) managed to shuck this off faster than we do, if only because they’re hungrier and more willing to change.

              It is correct that, as of 2016, the U.S. is a better place to be a software engineer than China. I don’t see that as a static fact, necessarily.

          3. 10

            Dear Author,

            You regret continuing on as a programmer because you picked your path without knowing yourself. You wanted power, renown and wealth. For some reason you thought programming would give you that. Even a child can tell you that to have all that what you want is to manipulate people, not bits.

            Now, if instead, you wanted to learn logic, learn combinatorics, plumb the depths of the question “Am I a computer?”, extract pleasure from putting together puzzles, creating little things and watching them work, then you would have had satisfaction and joy without peer, for computing is in its golden age.

            Mr. Know It All

            1. 7

              I think what he wanted was to write and ship software that worked. A reasonable goal if you ask me. Unfortunately, choosing to be the guy writing the software, solving puzzles and creating things, means he was poorly positioned to influence the shipping side of things.

              1. 8

                You wanted power, renown and wealth.

                I’m guessing that he wanted moderate power and wealth but a high degree of intellectual satisfaction. What he found was no power, wealth, or respect, and only moderate intellectual satisfaction. That’s the reality of the software industry for the bottom 95-99 percent.

                Now, if instead, you wanted to learn logic, learn combinatorics, plumb the depths of the question “Am I a computer?”, extract pleasure from putting together puzzles, creating little things and watching them work, then you would have had satisfaction and joy without peer, for computing is in its golden age.

                I’m not sure that I agree with you.

                Software, due to its lack of professional recognition aside from what comes from companies, is manage-or-be-managed. Very few corporate bosses are going to be happy if they think they’re paying you to study logic and combinatorics, or to work on open-source software, or to build your own personal credibility so you can move along to another job. Of course, they don’t have to know, but the surveillance culture (Agile, open-plan offices, monitoring software) seems only to grow in its pervasiveness.

                Even though there are individual contributor “ladders”, those are typically much harder to climb than management ladders. To be a Director-equivalent engineer at Google is seriously difficult, because you’re competing against the smartest people in the company. To make Director or VP on the management track, you just have to show up and have a pulse.

                Would the OP be unhappy if he’d taken a management track? Yeah, probably. Only sociopaths find social competition for its own sake to be fun; for the rest of us, it’s a slog we have to endure, and it gets draining over the years. On the other hand, he’d have a much higher net worth, more professional options, and more political skill. He’d be able to start his own company– which he’s probably not, right now– or possibly even retire.

                1. 2

                  some of us just wanted intellectual challenge without end; the power to grant that does not lie in the programmer’s track ( largely that becomes a ‘write crud app between legacy systems fast’); only the executive’s; the acidic burn is that an executive doesn’t get to have the computational fun anymore; all the power, none of the fun.

                2. 3

                  I came to a fork in the road and took the one less traveled.

                  Actually, seems he took the most-traveled road (cuz there are still way more coders than managers), which circled back to where he started.

                  1. 6

                    … which is completely consistent with the poem’s intended sentiment, about how we look back and try to feel that our choices made a difference, even if they didn’t.

                    The Most Misread Poem in America :)

                    I thought about whether to actually send the above, since it is kind of derailing. But the poem is actually precisely relevant to this sort of career decision. Not that I’d advocate that people should treat the coding vs. managing choice as if it doesn’t matter, but it’s really important to think about why it’s important. I think Frost aptly describes the phenomenon where those who (like myself) choose hands-on work, often impute moral significance on the choice.

                    1. 2

                      Are there? Feels like managers outnumber coders at most places these days–at least smaller companies.

                      1. 1

                        How many have been doing it for over 20 years?

                        1. 16

                          I’m close to 20 years as a professional programmer (only 2 years short, unless we count professionalism from the first time I got paid for a program, in which case I’m well over two decades). I have had the opportunity to go the managerial route multiple times, and I didn’t. I tasted it briefly, once, as a no-commitment experiment, and it turned out it would have been a terrible path for me to take. I do not enjoy it, and I do not want to do something I do not enjoy, even if it would yield better financial benefits. It’s just not worth it for me.

                          I stopped worrying about could-have-beens long ago, for the better. It doesn’t matter what I could have accomplished, if only I chose a road I travel less. I can support a family, I love what I do, I believe in what we build, and I can make decisions. I do not care what higher ups decide, or how they screw up - that is their problem. If things go sour, I will always be able to find another job, where I can be happy again.

                          You have to be a bit selfish at times, and not care about the big picture. I found that this lets me enjoy my work far more.

                          1. 1

                            It’s pretty much the same after 30 years.

                      2. 2

                        Piketty mentions the rise of the supermanager etc in “Capital in the 21st Century”. Since inherited wealth is in short supply, the main option for massive income is by rising to manager. If I hadn’t lived most of my life in relative financial peril (compared to classmates, coworkers, etc) I think I would be more concerned with the state of my finances.

                        Still perhaps in time I’ll pursue a managerial track. I’ve been astounded at the ability of managers to enhance or ruin teams they manage. Indeed the future is hopefully going to be more managers of more things, as programming will become managing computers not so much managing coders. At that point though many of today’s knowledge workers will be out of a job and as a society we’ll have to create the wealth to enable folks to thrive without having to work in a traditional way.

                        1. 1

                          If by regret you mean, “I could have made more money and been unhappier by not being a programmer”, then sure. Programming doesn’t pay that much, you can do better. But then you wouldn’t be a programmer. I’d rather make an average wage doing programming which I love, than make mega bucks working 60 hour weeks on dull work such as running a company, attending meetings, filling out paper work, and managing people.