16 Don'ts of Career Growth

12 min read Original article ↗

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.