Recently I’ve been getting invited to a lot of interviews, and they all go pretty much the same way: I come on, we chat for a while, and then… they make me a job offer. Like I’ve already passed the technical interview stage and confirmed my skills. The thing is, I don’t even have a mega-popular GitHub page with examples of my code, and my CV is so bland it looked like I was forced to write it. The only outside indication that I’m worth something is my ability to answer technical questions, but I’m not even being asked to do that anymore.
The reason for that is simple: I wrote a couple of Habr articles and they became popular. Looks deserved and normal at first glance: since I shared my experience publicly and people have clearly appreciated it, my skills are considered “community-approved” and there’s no need for a lengthy interview.
But the articles aren’t even about my skills at all — mostly they’re there so I can whine about my depression. I mean, I’m glad I don’t have to prove anything to anyone anymore, but seriously: THAT passes for a quality developer these days? Are you out of your mind? I believe you are, and the symptoms are everywhere.
My Twitter feed is full of famous developers looking for work and vouching for their friends. Look, they say, there’s a kickass senior developer, get him while you can. And recruiters do listen to them. I once helped a friend write an article on how he conducts interviews. The article made rounds and he was soon offered a technical director position. Of course, no one bothered to check his technical skill first.
Also, have you noticed there aren’t any job listings for “team leader” anymore? Companies think the talent pool for these positions is extremely limited and everyone knows capable candidates, so going to HeadHunter which this is pointless. Now a “quality developer” is primarily a guy who attends a lot of conferences and is active on Twitter and Instagram, a guy who appears in podcasts and whose nickname is recognized in chat rooms. Big companies approach these directly instead of conducting a public search.
One of my friends worked in a book publisher, and he told me that publishers now tend to order books from bloggers rather than writers, because bloggers are famous, and, thus, capable (and their book will sell better). I believe our industry is on its way to something similar. You may laugh at me, but let’s see who gets the last laugh when some junior lady with 1000 Twitter followers becomes your tech lead.
In recent times, “influence” somehow became equated to “quality”. And I know why: in a post-scarcity world, attention becomes our last remaining finite resource.
I’m not saying socially active people are necessarily awful, either. I’m just saying that there’s a lot of talented, smart introverts out there working in God-forsaken companies writing stillborn software while making next to nothing. I’ve seen them and I’ve worked with them. “Introvert” doesn’t mean “hard to work with”. If a person doesn’t write articles or keep up on his social media, or if he doesn’t want to (or can’t afford to) attend conferences, it doesn’t tell anything about his skills.
The mere fact that I have to tell you this is already telling. And yet, managers did everything in their power to make sure that was the case. They invented “soft skills” and value them above hard skills. The concept of an interview itself is designed to favor an extravert: the candidate needs to captivate, to tell a fascinating story of his professional life — peanuts for the socially comfortable, but a nightmare for those whose only skill is development. But if you ask any employer, they would rather hire an inferior candidate if he “fits into our culture better”.
You may counter that it’s just excuses for people who failed their interviews, but I’d say it’s our problem as well. The lion’s share of the binary code that runs my tasks on a remote client is written by other people. The quality of these people is the quality of my work. I’m already suffering from imbeciles working at giant Western companies and developing frameworks I have to use.
Yes, “hype” doesn’t only dictate what people to hire, but also what technologies to use. Tell me what you’re doing and I’ll tell you what tools you use, because everyone use what’s most popular. Your decision on which framework to use for the project is determined mostly by stars on GitHub, articles in tech blogs and speeches at conferences. If something is popular, then even a hit piece won’t damage its reputation.
For me personally, an example of that is Redux. Being initially developed for JS, it doesn’t fit TypeScript application at all, in my opinion. But, you guessed it — it’s community-approved, which means everyone uses it, which means I have to. It doesn’t matter what I think about it when every job listing requires knowledge of Redux or MobX.
And the most scary thing is, the correlation between quality and popularity is nonexistent there, too. For example: two database startups spring up at the same time and invest their money: one into development, the other into marketing. The first company gathered a small, dedicated community through word of mouth. The other got a giant, mostly disgruntled community. The first one closed in short order, to the dismay of the hundreds of people who used it. The other captured the market, earned a boatload of money and only then got around to improving the product.
This vicious circle is self-sustaining. Young developers pick what technologies to learn based on what’s popular at the time, which is how “React developers” are all over HeadHunter. A developer for a mainstream framework — a valuable commodity in today’s business. No one wants idiots who reinvent the wheel and brazenly think they can do better than that. If you think you can come up with a better way to solve a problem than a popular library, you’re automatically wrong. For example, I believe F# is a much more powerful tool than C#. I’ve used both extensively and have my own vision of the debate. But no one will even begin to listen to me: F# isn’t popular, so I’m an idiot.
And if you think that the hype problem doesn’t exist and have never encountered these symptoms, then you’re probably an old person. You do everything by the book, in C++ instead of all these newfangled frameworks, and the “toxic” hipsters are turned away at the door. One problem: sooner or later you’re going to die, and I’ll have to deal with what you left behind.
The very idea that quality doesn’t begot popularity (and more often than not the opposite is true) screams of unfairness. It’s sickening. When the article with the biggest concentration of whining collected 170k views on Habr, I decided to only write technical articles from then on.
I’m currently working on an article on the type system in TypeScript with my friend for 3 months, and it’ll probably take about as much longer to finish. And I already know it’s going to be read by like 10 people and be forgotten in a week. But writing a technical article is hard. We developed a whole library from scratch just to verify things we’re talking about in the article, realized we were wrong, rewrote the article, remade the library again and were forced to rewrite the article — again. I may realize that this is far more significant than all my other articles combined, but we live in a world where it’s not worth it to write hardcore texts filled with code.
Technical articles on Habr gather around 5-10k views in average, even if it’s the result of 6 months of work. On the other hand, I can whine into Google Docs for a couple of hours and it’ll get read by 100k people. Option 1 is getting relevant experience, pushing myself to improving my skills and then proving to everyone I meet that I indeed have these skills. Option 2 achieves the same result, but with far less effort.
To be honest, since you’re reading this and not the article on types, it means I made my choice. But I implore you to change this. Stop hiring captivating talkers, stop headhunting people on Twitter, stop insinuating that all good developers must be famous. Stop assessing people based on stickers on their MacBook. A developer’s skill is measured in one parameter: how well he writes code. It’s hard to hire that way, and it’ll get harder in the future, but that’s the way it should be. Managers may talk about these “soft skills” all they want, but they only do it because they don’t have anything else.
I want you to keep that in mind.