Everything else must be secondary, including your family, friends, and WoW. Software engineering is your family, your passion, your friend, and your life.
What an empty, pathetic existence. The author says this advice worked for them, which sheds some light on why they feel comfortable advocating for software engineers to move to Karachi to make more money on remote work. Maybe casting aside your loved ones is indeed the right way to make a good living; if so, I think we should instead discuss why the state of our industry is so rotten and what we can do to fix it.
Last I checked, most of the software engineers weren’t born in the Silicon Valley, don’t have any family there, nor loved ones.
People ARE moving away from their family all the time, to waste more money on housing in the SV, and use more resources to accomplish the same goals.
This is the third or fourth post from the last few days from yegor256; All of them have been right on the line between hilariously and terrifyingly bad advice. One of them (“How much do you cost?” I think it was called) lingered in the top spot on the home page because there were so many rebuttals in the comments. This list is not a recipe for a good career or a good life.
I think Venkantesh Rao’s book-long essay on office politics and power struggles is relevant reading here. I’m not going to spoil a lot by saying that office ‘losers’ (whom the author seems to be exhorting to rise above loserdom) are actually optimizing for happiness.
office ‘losers’ (whom the author seems to be exhorting to rise above loserdom) are actually optimizing for happiness.
The MacLeod tiers are Sociopath, Clueless, and Loser. So they’re all pejorative names. I prefer Self-Executive, Workhorse, and Team-Player.
It works like this. There are three things that companies like to see in their people: adjunction, dedication, and strategy. Adjunction means that a person values stated corporate interests above personal benefit. It goes beyond operational subordination (that is, taking orders because it’s expedient for oneself or the mission). You’re expected to put the company goals above your own and trust the company to pay back. Dedication means putting in a lot more work than the minimum effort or even the socially accepted average effort. Strategy means working on the right stuff: allocating time to projects that pay off and de-prioritizing the ones that don’t.
The Self-Executive (MacLeod/Gervais/Rao “Sociopath”) is strategic and dedicated but not adjunct. He’s about himself and has to either hide the fact or compensate for it. The Workhorse (M/G/R “Clueless”) is dedicated and adjunct but not strategic: he’s great as a middle manager who’ll do the dirty work of enforcing corporate interests, but he tends to generate recurring commitments and organizational complexity that isn’t useful. The Team-Player (M/G/R “Loser”) is strategic and adjunct but not especially dedicated. Unlike the Workhorse, the Team-Player knows what is and isn’t worth working on, but he’s optimizing for comfort and team harmony rather than personal yield (pay raises, promotions). He doesn’t want to be a tall poppy and get himself fired.
The 3-for-3 (strategic, dedicated, and adjunct) that many companies would consider the ideal employee is impossible by definition. It is not strategic to be adjunct and to be dedicated. You can work long hours and take on extra projects, or you can put your career growth at secondary importance, but doing both is just stupid.
People who work like this might be able to get ahead for a while in their career, but only by exploiting people who haven’t been burned by people like them before. The article makes it sound like he’s optimizing to be an amazing developer, but the truth is that, by foregoing so much actual experience with people and being so entirely hyperfocused on the singular idea of being a developer, he’s stunted himself mentally.
Great developers, and great people of any discipline, need to be well rounded, grounded in the world, and attached to things in order to work effectively. How is a developer like that ever going to build a product for customers if he’s so detached that he has no idea who he’s building products for or what world they live in? How is he going to be an effective leader or architect if he’s so unable to connect with the people that he’s working with that he can’t effectively relate to and manage them?
I’ve spoken and worked with a lot of people who are astoundingly good at software and computer science, and the ones who have really truly been great have been grounded in something. Some of them were assholes, all of them had passion, but none of them had a singular focus that occluded everything else in the world around them.
Folks, given this author’s previous writing, it isn’t hard to imagine them being craven enough to submit here just to get pageviews and perhaps a chance at a few Lobsters readers who might sign up for their service.
Following clickbait for a 5 Minutes Hate is still following clickbait. This is why we have a spam flag.
I actually found the OP to be worth critique. Not everything in it is correct, but there’s a lot more truth in what he has to say than most software engineers would ever want to admit.
There’s some good and some bad in this. It’s way closer to the truth than most software programmers would like to admit, but it gets some key stuff wrong.
Don’t Be Loyal. The company you are working for at the moment is just a training ground, nothing else. Don’t invest an extra minute of your time into it. Be selfish; think only about yourself and your personal skills, knowledge, and experience. They pay you to be dedicated and loyal? Well, that’s their fault. Use them to learn new technologies, experiment with new ideas, train and educate yourself, get new certificates, meet new people, etc. They must work for you, not the other way around.
Well, this goes both ways. Loyalty has to be earned, and demonstrating it prematurely often lowers one’s value. With that, I’ll agree. Most companies treat their workers like shit and I don’t think less of the workers for doing everything they can to turn their crappy jobs into platforms to get to something else. That said, what kind of world is it when everyone has to play the “individualistic asshole” (which I have been sometimes, and I won’t lie) strategy? Would we have gotten to the Moon if people at NASA had decided that certain aspects of the work weren’t coherent with their “personal brand”? Probably not.
This may be surprising coming from someone who’s seen as ultra-liberal, but in my experience ex-military people are the best to work with, because they understand the distinction between operational subordination (i.e. taking orders for the good of the mission, and asking questions later) and personal supplication. The first is a necessity, while people who demand the second and humiliate their subordinates often lose respect and can’t get loyalty. Military people learn the difference because leadership and hierarchy (and the faults thereof) are explicitly taught. Whereas, in the corporate world, you have a game that is clearly run by people who played the “individualistic asshole” strategy but expect not merely operational subordination (which is a reasonable request) but, further, total and personal supplication and offer little in return. They’ve never been trained in hierarchy or leadership and in fact invest a lot of time into trying to convince people that they lead “by consensus” and that hierarchy doesn’t exist, when anyone who’s paying attention would realize that it does.
This is all to say… that, yes, often one has to take stock of situations realistically. In the corporate world, you’re going to find that in at least 75 percent of jobs, nothing is being invested in you or your career growth. In that case, by all means, do the bare minimum on the stuff that doesn’t advance your career and go all-in on personal investment. However, I do think that there’s something to be said for genuine personal loyalty, as rare as it may be in the post-apocalyptic, chronically job-hoppy, corporate landscape.
People need to read this stuff (I used to write posts along these lines) to understand how individualistic assholes think because, since the 1980s, they’ve been running the world. However, there’s something to be said for aspiring to be more than an individualistic asshole because, ultimately, if that was the strategy that everyone took, nothing big would ever be accomplished.
You must not work; you must have fun in front of the laptop.
I don’t even know what that means.
If anything, you have to pretend to be suffering an above-average load of the unpleasant, un-fun work if you want to advance. You complain-brag. You don’t want to seem miserable, like you can’t handle the stress, but you want to seem just a little bit less relaxed than the boss. That guy who finishes his work in 2 hours and then puts his feet up at the desk? Not going anywhere, no matter how bright he is. The person who makes it obvious that he’s prioritizing personal investment over “needs done” work? He’s in trouble. (You can prioritize personal growth; just don’t be obvious about it.)
Remember that 99 percent of people will not become experts. They will remain who they are—regular programmers with no passion or ambition. What’s really bad for you is that they will want you to stay with them. Nobody will enjoy seeing your growth, and your closest friends will become your enemies.
The crab mentality certainly exists in the corporate world, but I wouldn’t call these people “friends”. You should try to make friends but also recognize that it’s really, really rare. Generally, you don’t know if someone is actually your friend until one of you has changed companies. If there’s any doubt whatsoever whether this person would help you out if you got fired, then he’s not your friend (and you should not invest more than professional courtesy in the relationship).
Yet again, though, exceptions exist. Genuine friends will want you to succeed. Also, you can’t get anywhere if you’re completely closed-off. If you can make a friend along the way, great. Of course, don’t sacrifice your own career on behalf of “work friends” who’d stop returning your calls the minute you got laid off.
Don’t Be Helpful. There are more than 10 million programmers in the world. They all need help. Why do you need to help that dude sitting next to you in the office? […] If you really want to do good for the software industry, focus on bigger things: make an open source product, write a book, or improve the documentation of the project you are working on.
I disagree. You should be helpful. It helps you make allies, and it’s the right thing to do. You should not be so available that you make yourself appear to have low value. There’s a balance to strike here. You shouldn’t drop everything to handle something that could be solved with 10 minutes on StackOverflow, but when people have more fundamental questions and you have something to offer, you should help them out. Even if it hurts you at your job, they’ll appreciate it in the long run.
Also, don’t learn from people around you; learn from books, StackOverflow, and open source software.
Again, this is not absolute. Yes, at the higher levels of expertise, there is often no one available to teach, in the same way that graduate school evolves into guided self-study and full-time academics go directly to the papers and books instead of taking courses. However, there are times when the most efficient way to learn is to learn from someone else.
Any growth is always about saying “No.”
It’s about knowing when to say “Yes” and when to say “No”. For both, there are people who are great at one. Individualistic-asshole-executive types tend to be good at saying “No” and the good-corporate-employee types tend to be good at saying “Yes”, but I think that genuine personal growth requires both.
First of all, you have to buy books. Don’t steal them, even though you can. Buy them, spending your own money. You will take them way more serious. You will respect yourself for owning the library. You will feel that software engineering is forever with you; it’s not temporary, it’s not just a job, it’s your life. Two books per month is your absolute minimum. Second, pay for certificates for the same reasons. Third, purchase software; don’t steal it.
There’s a point being made here. To some extent, I agree. In other cases, I’d say the opposite. For example, if you land at a company that’ll pay for you to go back to graduate school, you should consider taking that offer. It’s not about the money. It’s about getting people to invest in you. Once you’ve had them sign off on your education, you’ve set the precedent that if they take your growth seriously, you will put in the work. On the other hand, if you’re at a company where you know that either you or them will terminate the relationship (you leaving for something better, them replacing you with someone cheaper) within 6 months, then you’re better off paying for your own books and courses.
Your laptop is your instrument; it must be […] made by Apple.
That’s fucking stupid. I use a MacBook for convenience and because it’s close enough to Linux for corporate work, but there’s no “must be” around this.
As much as possible, try to stay away from full-time, 9-to-5 jobs—they pause your professional growth. Permanent or long-term employment gives you a stable income, a comfortable office environment, a predictable set of technical problems to solve, and the ability to become an expert over a small territory. At the same time, it takes away fear. That’s right, fear. You are not afraid anymore, and that’s why you stop growing.
Yeah… no. A little bit of fear can be beneficial. Paralyzing panic, the kind you get under acute financial stress, especially if you have a family to support, does no good for anyone. It doesn’t help you grow. It damages your body and personality. Oh, and the effects take years to recover from.
Money is everything. An interesting project will be properly funded. If it’s not funded, the market doesn’t need it.
That is usually true, but not always. I would say that in the corporate world, it can be treated as true, not because it’s innately true, but because a project or team with money problems has had enough people bet against it that if it surprises them and shows signs of success, they’ll sabotage it just to avoid being shown up or proven wrong. So, this holds in the corporate world where success is defined entirely by the impressions of an oligarchic cabal of people.
In the market, it’s not always true. Back before the VCs turned the Valley into “Wall Street West” for spoiled rich kid turds who couldn’t sit still long enough to survive in investment banks, there were plenty of startups that ramped up from one sympathetic angel or founder to unexpected success in the market.
To move higher in that hierarchy, you must understand project management. And it’s not just being nice to people and wearing a suit. It’s a science, with a lot of rules, principles, methods, and best practices.
In the corporate world, it’s a fucking junk science. Let’s be honest: the product manager role exists largely because executives don’t trust technical managers (usually ex-programmers) to get things done. And that trust problem usually comes from the fact that the technical people are smarter than the executive, making the latter feel insecure.
Make sure you have Facebook, Twitter, LinkedIn, and Instagram accounts, along with a blog. You must be present on the Internet. You’re a serious software architect? I should be able to Google your name
Oof. So, this is more complicated than it appears on the surface. I know plenty of people who speak at conferences and have impressive blogs and even numerous academic papers who have a really hard time holding down jobs, even though they have no obvious personality defects and are clearly in the top 5% of their fields. It shouldn’t be surprising. Their external reputations might help them get interviews and land jobs, but inspire resentment once they’re on the site. Yes, this is crab mentality and I’m sure the OP would call the others mediocre losers, but that’s just how this game works. When you’re young, you care more about finding and landing jobs than keeping them because junior jobs are fungible and numerous. When you’re older, losing your job often means a 6-12 month search and an external reputation means little because after 40 you’re expected to “have a network” and never be on the market in the first place.
Blogging and tweeting can help you when you’re starting out and even into mid-career, but it turns against you when you’re moving into management roles. It gets it out there that you’re smarter than average, but it also makes it harder for people to trust you. As you climb management ladders, you realize that being smart has nothing to do with it. You have to make them like you and make them trust you. It’s harder to do that if someone might find a blog post from 2011 where you criticized the technology that your 2017 employer uses.
Becoming an executive requires making sure that each person sees in you what they want to see, not what is objectively true. If you find that there is a solid moral reason for standing up for what you consider to be objectively true– I don’t imagine that I’m helping my career by critiquing this blog post– then go ahead and do it; but it’s an expense, not an investment, to show opinions. Bland people will always climb the executive hierarchy faster than those of us who either (to view it charitably, as we might) have an innate drive to share knowledge and truth or (to view it uncharitably, as an executive might, because executives are critical dicks) have a hard-on for showcasing their intellectual or moral superiority.
I’ve lived through this shit. I’ve fought against tech-company fascism harder than almost anyone, and while I’ve buried a lot of evidence, you can still find it if you know where to look. Even the most anodyne “personal brand” becomes an albatross at some point.
I would actually like not to use LinkedIn at all, because I think that the product, although probably designed with good intentions, has inadvertently done a huge amount of damage– making it harder for people to change their stories increases the leverage that employers have over the people and pushes the world closer to the corporate-led fascism that is now a serious threat to Western democracy– but that’s another discussion for another time.
Nobody will enjoy seeing your growth, and your closest friends will become your enemies. Not explicitly, but subconsciously they will do everything they can to prevent you from getting better and leaving them.
I do see this play out some times.
This might be a cultural difference considering where the author is from, but I haven’t seen most of these issues in the US as a native.
I have done tons of grunt work that I’ve hated over the years, I’ve made friends at work, I’ve been reasonably helpful, I’ve asked for help from colleagues (how do you ask company-specific questions on a general board like StackOverflow?), I have nearly no software/tech books, I’ve worked full time almost my entire career, I have zero certifications, I have one open source project and I’m the sole contributor, I don’t use FB/Twitter/Instagram for anything professional (nor do they even have my real name on them), I never go to seminars or meet ups, yet for all of those things I’m polar opposite on this guy, I’ve moved up fine and have had no issues with people hiring me or finding professional work.
This is just another one of those “I did it this way, so it must be the only way and you must do it too” blog posts. It’s a joke.