- Young, inexperienced managers won’t as easily detect a candidate lying, especially since most tech people are not street-smart.
- Between their inexperience and the finicky nature of development cycles, most tech managers will grossly underestimate how long things take to get done.
Most tech managers and lead developers are promoted once they’ve proven their worth and the company has gotten bigger, which enacts the Peter Principle. This happens much faster in the tech industry because companies scale dramatically faster.
- Being forced to not talk about the cool technology you’re working with (such as a non-disclosure agreement) or the company regularly takes workers’ intellectual properties for itself.
- Not being permitted to work in competitor companies (such as a non-compete agreement), effectively forcing you to work with them until you change industries.
- The company culture deters practices that make a healthy work-life balance, such as remote work for completely non-social roles or forbidding internet access at the workplace.
- The management obsesses over political values that don’t match yours.
- You seem to not meet all the performance metrics, even when you’re devoting everything you have to the work.
- Your management seems generally dissatisfied with your performance, enough that you feel unsafe from it.
- This can be especially sinister if everyone else doesn’t feel that way.
There are some clear warning signs, though, that you may be working for a universally bad company. The following are real stories, but to protect reputations and not get sued I haven’t added citations.
- You only do 2-4 hours a week of actual work, and the rest of the time is (typically) filled with meetings.
- Your job role isn’t particularly clear, or you’ve been around long enough that the tasks were removed from the role and nobody noticed you have nothing to do.
- You can or have fully automated your job, but don’t tell anyone.
- You have no incentive to do more than the bare minimum, or to do just barely better than everyone else.
- Your workplace is filled with inexperienced and/or young coworkers.
- Your managers use a few specific speech patterns:
- The passive voice (“It was agreed that…”, “Best practices are…”), which reflects a lack of clear understanding.
- Vague clarifications (“It’ll take a while to…”, “A long time ago…”), which reflects fear of making legitimate commitments. Remixes include using “next phase”, “a few weeks”, and “further down the pipeline”.
- You’re lying or expected to lie about how much work you actually do.
- The tasks you’re performing can be done within 2-4 hours every day, so you do them when everyone is looking during a meeting.
- The organization makes arbitrary changes without anyone’s consent (e.g., removing work-from-home, changing benefits, etc.)
- Your manager is doing something illegal or unethical:
- Discrimination based on absolutely anything that isn’t merit. This can include race, gender, sexual orientation, or affiliation with other people, in either direction. Hiring more blacks because there aren’t enough blacks in that department is workplace discrimination against non-blacks, and hiring more women than men for a gender-neutral role is still gender discrimination.
- Collecting private user data (non-work-related personal information, HIPAA-protected status, ADA-protected status, etc).
- Mandatory overtime work, or micromanagement of how you perform tasks (e.g., must sit at a computer 2-4 hours at a time). This can often blur with the boss messaging employees after-hours or the corporate idea that the company is somehow like a family. To avoid it appearing illegal, it may simply come through heavy implications without overtly saying anything.
- Setting and demanding members fulfill arbitrary deadlines without claiming personal responsibility for any miscommunication.
- Abusing you or a coworker including sexual remarks, yelling, threatening, name-calling, teasing maliciously, or publicly shaming.
- Your organization (or at least a business unit of it) is managed by cult members.
- On a lighter level, many tech companies interview for what they call a “culture fit”, which is directed toward building a small crowd of like-minded people.
- Your manager is intimately tracking your performance without informing you (especially frequent in large tech corporations).
- In many cases, huge companies will drive people into the ground, often giving stock options for employees who stay a year and burning them out over a few months.
- Without warning, they may place you on a performance improvement program (PIP) where they closely track you, and it can be very difficult to get of (if not completely impossible).
- The company doesn’t have much money for supplies, infrastructure and pay raises, but upper-tier management lives lavishly.
- Sometimes, this can come through reducing the quality of benefits, such as requiring healthcare costs entirely out-of-pocket.
And then, of course, are the tech-specific ways management can fail spectacularly:
- Your manager cares more about someone reporting to them than any legitimate technical excellence.
- A fix usually creates more work for managers, and they don’t want to think about the “technical debt” they’ve already incurred.
- When you propose any improvements or potential issues in the code or methods (and no code is exempt from needing improvement) the response is that it’s not broken, so not worth fixing.
- The more egregious version of this is that a [junior role] can’t question the [senior role] code, or that they’re misguided about the problem.
- Someone is the expert in specific information, and they’re not sharing it with the rest of the team.
- This is often a senior engineer worried about job security, so by default not sharing how things work with anyone else will make them the expert in the matter.
- To hide what they’re doing, they’ll also often create arbitrarily complex code or arcane systems that make it difficult to follow what they did.
- The “key performance indicators” (KPI) are something arbitrary that doesn’t really add value, such as how many Linux kernel patches, pull requests submitted, or patents made.
- The management requires that all learning be off the clock.
- The company requires everyone use its proprietary system, since everyone would want to use it if it was decent.
- Often, tech companies will use that proprietary system for additional surveillance.
Big Company Culture
The culture of large tech companies often abuses the intelligence and work ethic of young tech people who haven’t learned self-respect yet. Many of them can endure tremendous misuse of their time, energy, and intellectual property before they realize they’re worth more than a company is paying them.
Large organizations don’t like change nearly as much as smaller organizations, mostly because there’s no reason to reconfigure a system that adequately works. For young tech people, this can often be unusually traumatic, since all their ambitions are unheard, or any attempts they make toward contributions are unrecognized.
In very large organizations (such as FAANG), the management hierarchy is absurd, with some developers having upwards of 6-12 layers of managers. A FAANG organization, specifically, is less of a large, monolithic entity and more of a shared label, with each team having its own subculture and effectiveness. This somewhat-functioning environment does get work done, but it’s debatable how much.
Sometimes, you might have had a great job, but then your amazing little company gets acquired by a FAANG corporation. At that point, throw any loyalty out the window, since the creator is singing to the bank and probably doesn’t care about you.
Sometimes you may think you’re doing something meaningful on a team, but your work is simply part of a feature factory:
- There’s plenty of celebration about “shipping”, but no discussion about the impact the work makes. The projects are large batches of tasks instead of incremental changes.
- The team isn’t tangibly measuring the impact of their work, or the product management team is selectively sharing their measurements, and there’s no feedback. The measurements aren’t connected to desirable business/customer outcomes, but the project is focused on fulfilling a deadline to close a specific deal.
- Teams are based around feature or project assignments, not on missions or legitimate goals. The management’s priorities are about deciding what gets worked on more than whether something is the right thing to work on. The team won’t see the results of their work in research, problem exploration, experimentation, or validation.
- The management rarely acknowledges failures. This usually means not removing features, with the primary measurement of success coming from making more features, not creating results.
- The product managers don’t spent time analyzing the quality of their decisions or comparing their expectations of improvements with actual users’ opinions. The developers will have to pass tests, but the product managers won’t, and the team will simply move to the next project without the aftermath of that change not requiring any adjustments. The management won’t care about the long-term benefits or risks of the decisions or work.
Other times, you may be working on something that nobody wants, often because an executive threw lots of money at a new tech concept they knew nothing about. Cloud storage and machine learning are great examples of this kind of work.
Generally, when the industry is hot with a new trend, the collective amount of useless work is prolific, and less when the economy is hurting.
- Ironically, it means the most meaningful work arises when times are tough, meaning every manager is closely scrutinizing how pay directs to results and only developers who have skills in the craft are working in that domain.
- The work’s usefulness is also dependent on the designated purpose of the organization’s leadership. Since that may move around, job security isn’t as strong as many workers are often led to believe, especially when the tech is trending.
What To Do
If you do find yourself in this situation, you have a few options:
- Stay in that role until you’re arbitrarily fired or promoted, which might be a while. You will slowly become part of the system, though you may be able to cause some positive change if you ever get promoted to management. In many situations, the politics of office culture often means you won’t get promoted if you’re smarter than your boss.
- Set some goals and look for a new job, using the months of experience you’ve already accumulated. Use the free time in your job to learn new things. You can call it “continuing education”, and may even get the company to pay for it if it’s a particularly cushy company. If you’re lucky, you may have a chance to join near the beginnings of a startup elsewhere!
- Start making ideas for a startup or freelancing some of your work. Be careful how much you do it on company time or hardware/software, though. You can often learn most of what you need to know with that free time (such as how to program Python) while not necessarily doing the work that could get you in legal trouble later. Also note that anything “made” on a company device or on company time could technically become their intellectual property if the company’s legal team wanted to abuse the situation.
- If you like living on the edge and have a remote job, you can technically work two jobs at once. It’s stressful and requires lying, but some people find the two paychecks worth it.
- When you toil nonstop you’re not making yourself more efficient or expanding your skills.
- Working tirelessly means you’re not building out your professional network as much as you should, both inside and outside the company.
- If anything changes, you won’t be able to stop what you must do and adapt to it.
- Further, an awful job taking over your entire life is far more destructive to your happiness than the worst-case alternative: unemployment and homelessness.
It’s not wise to imagine your situation will become better on its own. Badly managed companies tend to fire employees for terrible reasons:
- Being given a physically impossible deadline, then fired for not fulfilling it.
- Getting fired as a junior developer because an app failed once without an end-to-end test.
- Taking care of a tragic personal problem (such as your spouse’s brain cancer).
- Getting fired en masse in a video chat meeting.
Further, even if you’re working on something that does provide meaning, don’t expect the work to continue:
- Even if it’s making a lot of money, it may be discontinued by management due to profit justifications (which isn’t too infrequent when waging managerial political battles or distorting the organization’s image).
- The company may rebuild a closed-source version of a previously open-source codebase, meaning it’s no longer open to the community.
- Sometimes, they’ll deliver layoffs simply under the premise of cutting costs.
- Other times, if you’re the highest-paid staff member, your job security may be at risk (simply because you no longer working would dramatically cut costs).
Watch yourself to see if you’re falling into corporate stockholm syndrome.
- We find meaning in responsibility, so persevering against severe hardships can give us a tremendous sense of accomplishment.
- However, if those hardships were imposed by a company (e.g., arbitrary deadlines, insufficient resources) and we somehow don’t blame it for what they brought onto us, it can foster a sense of loyalty.
- Many people will work tirelessly for an oppressive company, then feel a sense of accomplishment because they’re management and are slightly less oppressed.
- Further, their oppression tends to pass forward, since they subconsciously imagine other people will find meaning the same way.
Some people can take advantage of two bad companies and work two jobs simultaneously.
- This requires some adjusting and non-communication, but it’s perfectly possible to collect two full-time paychecks if you can do work-from-home for both of them.
- The only downside, though, is that the reporting will show up on your legal fiction (e.g., Equifax), so you may experience adverse consequences from the decision.
If you want to stay at a company, keep yourself legally safe by tracking what you’re doing.
- Depending on the corporate culture, simply turning off your webcam or not showing up to a meeting because you’re working could get you fired.
- If you have enough documentation about the events, you’ll be able to win in a labor court dispute.
It’s Not That Bad
In the tech industry, you will not be short of work if you understand mainstream technologies, so an unknown future in an unknown job is better than the known crappy job you do have.
Big tech companies fashion their culture to give tremendous benefits and luxury, but almost operate like a very productive religion or a cult. You may be tempted to think the entire industry runs like them, but that’s simply not true:
- You’ll likely find much more meaning in smaller (ie., <~20 employees) and mid-size (i.e., ~20-150 employees) tech companies where your contributions will actually matter.
- If you want your contributions to really matter, pursue a tech role in a non-tech company. For example, IT support is relatively low-skill compared to working for a big tech company, but accountants and sales staff will actually care you fixed their driver conflict or file sync problem. The only downside is that management will always regard you as a cost center, and therefore not always necessary.
- If you can secure remote work, you’re often able to pace yourself as fast or slow as you want to go, meaning it’s much easier to attain a healthy work/life balance.
Many, many veterans of the tech industry have the same general attitude:
- “I worked at [software company] for a substantial portion of my life surpassing a decade.”
- “I’ve made good money there, but had to make tremendous sacrifices for it.”
- “I’m very happy to say I’ve moved on from that role into something I’ve always wanted to do.
Of course, if you don’t like working with tech, there are many in-demand trades elsewhere, and it’s worth exploring if you’re curious.
- The tech industry’s youthful nature means the positivity people have for working on their role is vastly inflated.
- If you enjoy the work, even if it doesn’t pay that well, you’re living a better life than someone enduring an awful job.