You don't have a lot of control over that if you're not a manager. Early career politics is basically your relationship with your coworkers and your manager.
Ideally you'll have coworkers that want to succeed and want you to succeed so that you are all open to learning from each other.
Sometimes you have a coworker who has gaps in their knowledge and is insecure (or sometimes that person is you). To avoid politics there, just help that person feel secure -- find things to learn from them or find ways they can help you.
Maybe a coworker is burnt out and doesn't have the energy to work as hard as you can. Learn what you can from them too, help them feel important.
Maybe your manager is overloaded with work. Figure out what their responsibilities are so you can prioritize what you work on in a way that makes their life easier.
Basically: politics is inevitable but you should just be new, make friends, have empathy, and let things fall into place.
This advice to avoid politics by becoming a people pleaser is not a bad strategy to attain the goal, but it might come at the cost of your sanity. The only way to be not involved in politics is to totally accept the current situation and to align your goals and interests with those in power.
This is the type of behavior that causes mid-life crises.
> The only way to be not involved in politics is to totally accept the current situation and to align your goals and interests with those in power.
At a small, young, growing company, that's what the company needs - if your goals aren't aligned with the company's, you are going to be spending scarce resources on the wrong things.
If there's a way, in a larger company, to prevent "necessary alignment" from turning into "political gamesmanship," I've never seen it. If the people in control of your fate have goals that aren't perfectly aligned with "overall health of company" then now it's games and bullshit and it gets real hard on the individuals. And that can happen very easily: Director X wants to be promoted to VP, needs to show results in their domain, maybe doesn't care if this has knock-on effects on other orgs; the company is 99% likely to be fine anyway, and it'll help them move up... do you get on board, or do you push back because it's a bad overall strategy? Good luck... :|
>At a small, young, growing company, that's what the company needs - if your goals aren't aligned with the company's, you are going to be spending scarce resources on the wrong things.
This is extremely true. I should have also added that sometimes situations and people are just toxic, and when that happens all you can do is try to get out of those situations. If you have burnt out coworkers and an overworked manager -- these might also be red flags
Some people strongly disagree with playing the game this way: however parent is fantastic advice because you need to know how others are playing to win, and you need to recognise those players and fit your game style appropriately to adjust for that.
Any company with more than 100 people will display these behaviours.
Companies with > 1000 employees will operate completely like this. Where there will always be 3 “priorities” for every manager: what they were told by the C-level, what they know to be important to their manager and what _they_ want to get out of their position.
The amount of times I have been caught totally off guard because I couldn’t fathom why a certain team or individual would be actively doing something to the detriment of the business… only to later understand it was to the benefit of their unit/selves.
The biggest issue I've seen with new engineers is a mismatch between what behaviours they think the company should reward them for, vs the actual things the company judges performance on. Pay attention to some senior people who are doing well and see what it is that they're doing to be successful. Hint: it's usually not writing the best/most code.
Often what is considered success at L6 is different than at L4 so this should be done very carefully. Generally at lower levels writing good code is much more important.
I’ve seen new engineers that tried to rush senior eng behaviours and they didn’t do well in performance reviews until they corrected their behavior. You need to prove you can be a baseline contributor before you start dreaming big.
Levels are another thing that are management done poorly, like management by stack ranking. "Levels" are usually made up with little concern for actually creating value or helping employees be awesome. Rather, they serve as a formalism for forcing objects of various shapes and sizes through round holes because 0) they can't think of anything better and 1) other large companies do it, so it must be right.
Work on things that the firm values[1], for bosses who will reciprocate your work at making them look good, by making you look good.
Your manager has a huge amount of impact on your career. If you're working for an asshole/moron who won't reciprocate in this way, find a different one.
[1] Not the same thing as work that's valuable for the firm.
That's an enormous topic that is hard for me to treat here. Knowing that it's a thing you should do is a great first step though. Find more experienced people in your context willing to mentor you and critically listen to what they say.
Don’t go to companies with corporate politics. If you’re going to such a company (where politics are important, like Amazon) you must participate: you cannot protect yourself from them.
Any company develops corporate politics. Corporate politics stems from the corporation ultimately being a non-human entity that doesn't really have desires and needs, while its individual humans do have them.
At some point what's "good for the company" will not align with what certain (powerful) individuals want or need.
Flattery until you get past the BS peddler managers. Once you’re in cahoots with the senior leadership you’re good. Honestly low and mid level managers are the worst, most of them suck at programming even if they won’t admit it, and their only strength is saying a bunch of words most of which are bullshit. They are there to be scapegoats, and you can safely ignore them.
Once you’re among the senior leadership flattery won’t work and honestly they’ll see right through it. If you play your cards right you’re free to prove your technical prowess and get placed into top performing teams with the best managers. As long as the senior leadership knows your name, and you don’t overextend like a noob, you’ll get what you want pretty quick.
* Be the only one who understands a particular codebase
* Listen when people give you advice, so that they fee they have some hand in guiding you, perhaps even carefully encourage advice-giving
* Make some friends just outside your immediate team
* Avoid letting people get frustrated at you or your work.
* Gossip nice things about people, they'll hear about it
No, you don’t. Any stack-allocated resources are freed when the function returns. WaitGroup is just there for synchronization.