authority and paying your dues

I’ve tried consulting a couple times. The most recent of those, I tried it with a partner. He didn’t know much about web development. I had to teach him a lot. He got significantly better, but he was still what I’d consider junior. At some point after we gave up on consulting, he was applying for a web dev job..

Him: “They asked me to rate my CSS skills. I told them I was probably at about a 9 out of 10.”

Me: “You’re kidding.”

Him: “No, why?”

I told him I’d been doing CSS for around a decade, compared to his single year, and I’d only give myself maybe an 8 out of 10. I told him it seemed intensely arrogant to be hand-fed knowledge by someone else, without ever having had to fend for yourself within that skillset, and decide that your own knowledge had become equivalent. I told him the things I’d been wanting to say to overconfident developers for years.

Thing is, it’s not primarily arrogant developers who annoy me. It’s the industry that rewards them. I can’t count the number of times I’ve seen dipshits be elevated to positions of authority on the strength of their bluster alone, while people who’ve paid their dues and acquired the rare and genuine ability to discern their ass from a hole in the ground continue going around in circles, being tested over and over again and never being credited with the substantial work they’ve already done. I’m finding myself exhausted by open source projects that attempt to solve the same problem again and again, attract a lot of attention, yet do nothing to move the craft of writing code forward, just provide a shorter shortcut. I’m more exhausted by seeing the young white men who often helm these projects, fresh out of school or some completely different paradigm, exalted. For nothing. For deploying buzzwords. I’m exhausted by conversations with people who aspire to be and probably someday will be those exalted young white men about how they’ve thrown over the previous trendy shortcut in favor of the flavor of the month and it’s improved their development process so much.

Like a lot of people who’ve been doing this for fifteen years, I feel I’ve paid some dues. When that’s not recognized, it’s frustrating. When the rules I followed don’t seem to apply to other people, it can be maddening.

“but we’re special”

I read a lot of bullshit about how engineers are so much better than other industries, or are so similar to revered creative classes. We like to paint ourselves as though we are, no seriously you guys, exempt from the rules the rest of the working world abides by. I can even sort of imagine how a person ends up believing that. I imagine growing up in a big middle class home, someone else feeding me and cleaning up after me, no pressures in life except to go to school every day and get good grades. I imagine being rewarded that whole time for my staggering intellect because OMG I was able to type a computer program into a big beige luxury abacus. I imagine graduating high school with community recognition, the connections that people in middle class society seem to develop with no more effort than breathing, and a degree – a key that opens a door that’s never been locked to me to begin with – being completely optional. I imagine moving from my parents’ home to my own apartment, easily affordable on my “starting” salary of $50k/year. I imagine this being my first job. I imagine the successive accolades, salary increases, and headhunter wooing seeming like the most natural thing in the world. And then I wish like hell I were in any other industry.

Of course, the number one privilege of privilege is being ignorant of it, so it’s probable that no one to whom that paragraph applies actually read it, or they read it and believe it doesn’t apply to them because they completed half a liberal arts degree but felt unfulfilled, or have credit card debt, or some other hardship. So whatever. Of course I’m not talking about you, dear reader. I’m sure you didn’t just show up in this industry out of nowhere five years ago and expect it to lay its wreaths at your feet. I bet the summer you spent troubleshooting modem problems part-time in your uncle’s friend’s computer shop were really eye-opening, and are a completely adequate substitute for a formal education in computer science history and software patterns when you jump into MVC debates.

For real this time, though, I’m sure that’s not you. I can tell because you’re still reading.

I write a lot of stuff about gender diversity here, but I think this is more an issue of class, if that wasn’t evident. Sadly, though, you don’t avoid the glass ceiling just by being a rich girl. There are a lot of factors that seem to leave people out of the group of engineers entitled to positions of authority, because while we’re usually at least superficially happy to embrace engineers of all stripes, we retain the expectation that the best engineers will be young, straight, white males from a middle- or upper-class background. That’s what authority looks like in this field. Those are the people capable of innovation. Those are the people whose open source projects can be relied upon to be informed by the most current best practices. Those are the eccentric geniuses. Other people can come along and, you know, fix their bugs or something.

There was a woman at hack night last night who’s making a career change. She was taking programming aptitude tests. We asked what they were measuring, and she said there were a lot of general logic problems. It’s ironic that an industry of people who value our aptitude for logical reasoning so highly would fail to notice that there’s a completely illogical conviction that we’re a meritocracy, yet our leaders fail utterly to represent anyone in the industry outside of a very narrow demographic.

Also, I don’t want to hear any shit about how women are represented. Speaking at conferences is one measure of authority. Most conferences have one or two women speak in a nod to diversity and then feel free to relax and fill up the other slots with men. After all, they don’t want to look like they’re picking women instead of the best person for the job. If you ask anyone to choose the best developer in their particular niche, absent the context of what I’m talking about here – ask them to choose just one person – I think the name you’ll always be given will be a man’s. Because it’s fine to throw a few women in to be PC, but come on, if the future of JavaScript rested in the hands of one person, we want the most qualified, right? And we don’t challenge the assumption that’s it’s natural for the most qualified person to in all cases match the profile above.

In the context of all that, it becomes unsurprising that paying your dues means fuck-all. There are people who will pay the same dues their entire careers, and there are people who will never pay any. There will be exceptions, but over the lifetime of a person’s career the industry will probably correct for that. And, to a degree, it explains the at-times staggering arrogance of newbie developers. If your heroes had succeeded without ever having dirtied their hands with legacy mainframe code, you might expect the same to happen to you. The only heroes you’re likely to see when you’re starting out, of course, match that same young-straight-middle-class-white-guy profile. If they wrote mainframe code, it was for funzies.

the industry has to fix this

We have an old-boys club, but with young boys. We keep people down. We frustrate people who want to and are uniquely qualified to do great things. We ignore their contributions and their knowledge. They do leave because of it. We should want to stop that.

As an industry, we need to learn to mistrust arrogance. We need to stop being afraid we’ll be remembered as the person who said no to the next Steve Jobs. Most people are not Steve Jobs and are never going to be. And if you treat all those people like Steve Jobs, you’re going to get a lot of spoiled brats without the discipline to check themselves or the humility to take criticism. That’s extremely bad. It means circle-jerks instead of progress. It means we don’t learn from our own short history.

We also need to reward the paying of dues. Yeah, it’s snarky when someone says something like, “NoSQL? Oh, you mean what we did before we had SQL?” It’s also a fair fucking point. People are going to shit all over your parade sometimes, and sometimes they’re going to be right. The solution is to not go planning parades through streets somebody else paved without asking them for directions. Seeking out established expertise is something that happens all-too-rarely. Rather than finding and asking someone from outside our teams who’s already solved a problem, we often ask the person with the greatest authority within it. Hilariously, it tends to be the most skilled people who make the biggest point of asking for the experience of others before diving right into a problem. They don’t necessarily emphasize that fact to their bosses, however, which leads to the perception that one young cowboy or cowgirl can be just so goddamned smart that he or she is right about literally everything, even with no experience. He or she probably is not.

the industry is made of people

I can’t make your boss stop hiring people who spew buzzwords and talk about how they were too smart to get a diploma. I can’t make conferences start booking the person who fixed the most onerous bug to speak, instead of the author of the library. I probably can’t even get a post about what writing COBOL for the state taught me about how you should run your stupid fucking startup at the top of Hacker News. But if I managed not to lose you yet, maybe I can get you, personally, to stop encouraging this shit. Don’t degrade yourself and your profession with dick-measuring contests with your peers. Especially don’t do it with your juniors, who may take the example to heart. By the same token, don’t “test” other engineers. Don’t condescend to them. Shit, assume that they know more than you do. They almost certainly do, about something. I mocked people from a certain demographic up above, and you probably recognized instantly how foolish that was. Those people have paid dues, too, just not the same ones I have. They can learn from me, but I can also learn from them.

As individuals, we need to stop expecting shortcuts. We need to learn to reject rewards we haven’t earned. When someone asks us something we don’t know, we need to be confident enough to say so, and suggest someone who might. Because we all want a meritocracy, and the only way we get one is by being brave enough to believe it can actually happen. If we keep acting like an industry of frauds who would be thrown out were it not for our self-aggrandizement and our politicking, we will have exactly that industry. As individuals, we’ll be better hustlers than we will developers. Fuck that shit. Pay your dues, and ask the same of your peers. When they do it, offer them the same respect you’d want. Simple.


14 Responses to “authority and paying your dues”

  1. Buck Says:

    Wow, love this post, thanks.

  2. Rachel Nabors Says:

    I really do blame the employers here. Newbies get excited. They don’t know their own limits because they haven’t learned enough to put their own skills into perspective. They naturally grab onto the Next Big Shiny Thing, and who wants to slog through production work when you are rewarded and praised for embracing “the cutting edge”–even if neither party understands the “cutting edge” at any depth.

    Then it starts a chain reaction. When the boss and the other newbs or designers and marketing are impressed, they pass on how great Newbie McNewberson is, and soon everyone is buzzing. It takes a brave soul to shout out that the emperor has no clothes–and if you’re a woman you’re more likely to be seen as a contrite or envious child than a professional with deep reservations.

    But one thing I can say: The person I look up to most in my field is a woman. Maybe it’s a sign that I don’t know enough to know how much she has yet to master, but I genuinely respect and admire Rebecca Murphey for understanding JavaScript so deeply that she can explain it to layman. I have worked with JS “wiz kids” who couldn’t explain a function to a designer. To me, that indicates a lack of depth of understanding.

    The emperor can keep his clothes.

  3. Rachel Nabors Says:

    (Although, it should be noted that some people have a depth of understanding but at just poor teachers. Which is unfortunate.)

  4. Dusty Says:

    The problem with being better than everyone else is that people tend to think you’re pretentious.

  5. We are all noobs | sabreuse Says:

    [...] a nice self-defeating case of impostor syndrome, for the less confident among us; or the kind of junior dev arrogance that Garann talks about, for the otherwise [...]

  6. George Stephanis Says:

    While it is critical to not let buzz words dominate, you’ve also got to keep aware of them. Otherwise, you’ll get trapped in the past, and you wind up using Adobe GoLive to create table-based websites with a HTML5 doctype and pretend that they’re modern web standards.

  7. Jesse Beach Says:

    Having worked exclusively with Drupal now for 2 years, what I’ve learned about frameworks is they get staid, boring and stable as they age folks put time into them. Contrast that with any of the front end single page app frameworks vying for attention in the interwebs right now. Of course, a decade ago, we had a bit of a kerfuffle with CMS competition and the winners are the behemoths – WordPress, Drupal, Joomla – that many of us know today. We’re going through this again with front end frameworks.

    What I don’t know because I wasn’t involved in the web a decade ago, is how the crowd of innovators today differs from the crowds that spawned the mega CMSs, or the browsers, or the GUI operating systems, or the CLIs, that we all consider de facto today.

    Reputation, prior work and demonstration of skill should inform the responsibilities that one is given. I know that when someone says they’re a 9 out of 10 with CSS, they’re going to get an interviewing grilling that has in one instance caused tears (I felt really bad about that though!). Tell me you’re a 9 out of 10 with JavaScript and I’m going to ask you to teach me something during the interview!

  8. Rafe Says:

    In many ways I blame the phenomenon you describe on the unwillingness of experienced people to migrate to new toolsets over the course of their careers. You see new companies and projects built using the newest tools (which may or may not be a good choice), and they wind up hiring inexperienced people to work on them because most of the experienced people are working on projects where they use the same tools they used back when they were young Turks.

    I’d love to see a breakdown of developers 10 or 15 years into their careers. What percentage are still developers? How many of them are using the same platform that they started out with? I think what we’ll find is that the number of developers who have been around a good while and are still staying on the cutting edge of the field is very small, and very much in demand. So there are a huge number of projects out there that don’t have any real senior leadership. The senior people are either off hacking on mature projects or they’re working at places like Google or Amazon.

    What’s left is in Lord of the Flies territory.

  9. Justin Winslow Says:

    A large part of this is well described by the Dunning-Kruger effect:

    Basically, confidence in one’s abilities is inversely proportional to actual understanding of the content.

  10. Julia Says:

    Ooops, just wanted to mention Dunning-Kruger…

    I like this article According to the chart in it, the worst and the best in some skill are going to rate themselves quite the same, with the worst ones rating themselves higher then the second best. Talk about the standard employer’s question “rate your skills on the scale of 10″. It totally defeats the purpose.

  11. haliphax Says:

    FUCK. YES.

    (Also, I third the Dunning-Kruger Effect mention. I see that shit all the time in my day job.)

  12. David Says:

    I completely agree with Rachel Nabors, because I am that excitable newbie she talks about. I have my heroes too, though, and Rebecca Murphey is def one of ‘em. Her JS-Assessment tool ( gives me hope that I can somehow gauge where I’m at in my professional development. Still I think it’s hard to know because there’s no absolute scale.

    What makes a good developer? Is it the ability to quickly conceptualize solutions to problems? Having an encyclopedic knowledge of a subject? Is it being able to quickly and correctly answer any question someone “tests” you with? I don’t dig into myself too much if I had to check the PHP or MDN docs for a hazily-remembered method name if my solution was on point, but I think some folks would.

    When is the point someone can rightly and confidently say, “I’m worth $x” and understand how x maps to their own skill level? Then there’s the geographic issue of cost of living, where $50k may be comfy in some places, but in NYC it’d be mandatory to start thinking about having several roommates. I’ve had an employer think me smug for asking for what I consider a decent living wage, and it’s impossible for me to tell whether I’m actually being smug or they’re just low-balling me. Being a newbie is tougher than people give us credit for. :-P

  13. David Says:

    Oh, and for other newbies, A Baseline for Front-End Developers was very helpful for me too. (

  14. Alex Says:

    I tend to wildly overestimate my abilities, and sometimes have to tell myself things like: “If you’re so awesome now, just think about how awesome you’ll be in 15 years. Way more awesome, right? Well, everyone else is already that awesome.”

    I think it strikes home a little more because it’s easier to generalize my own experiences than anyone else’s. I can remember improving over time, and so it takes less of a leap of the imagination to see my future self being better than my present self. It’s harder to recognize that other people are already better than me.