A similar thing happened to me twice (though I was never fired, but rather let go with nice severance packages). Glowing reviews for a year / year and a half, then out of nowhere they would let me go.
I learned a few things
1) Every time you are let go, it's an opportunity to find a much better job (whatever that means - more money, better location, startup). And this had been true EVERY SINGLE TIME. Every time I was let go, I increased my salary by 20-40%, and built more and more connections with interesting people.
2) There's no such thing as job security. Nobody owes you anything. You can be fired/let go for any reason, or without any reason, legally in most states.
3) If you're truly good, it's their loss. It's extremely hard to find competent developers within a given budget.
4) After this happened a couple of times, I shifted to contractor work, it's more money, and you expect your project to end. It might feel scary the first time, but don't be afraid, you're in IT, there are TONS of jobs out there.
5) Unless you're climbing the corporate ladder, do not participate in the office politics, or at least make fun of it. Yeah, you will probably not get promoted to a director or a CTO, but who cares? Do you want to develop things, or become a manager? Office politics is usually ugly, I've seen so much backstabbing in the industry among manager types and crappy developers, it's not funny. I've seen one shitty developer taking a code of a much smarter one, showing it off to the clueless director, showering him with gifts, and getting all kinds of raises and promotions. You can't fight it if higher management doesn't understand what's going on. All you can do is move on.
6) Most people are good, don't take it too personally, shit happens.
7) If you ever want to be in charge, start your own company.
Comments
A similar thing happened to me twice (though I was never fired, but rather let go with nice severance packages). Glowing reviews for a year / year and a half, then out of nowhere they would let me go.
I learned a few things
1) Every time you are let go, it's an opportunity to find a much better job (whatever that means - more money, better location, startup). And this had been true EVERY SINGLE TIME. Every time I was let go, I increased my salary by 20-40%, and built more and more connections with interesting people.
2) There's no such thing as job security. Nobody owes you anything. You can be fired/let go for any reason, or without any reason, legally in most states.
3) If you're truly good, it's their loss. It's extremely hard to find competent developers within a given budget.
4) After this happened a couple of times, I shifted to contractor work, it's more money, and you expect your project to end. It might feel scary the first time, but don't be afraid, you're in IT, there are TONS of jobs out there.
5) Unless you're climbing the corporate ladder, do not participate in the office politics, or at least make fun of it. Yeah, you will probably not get promoted to a director or a CTO, but who cares? Do you want to develop things, or become a manager? Office politics is usually ugly, I've seen so much backstabbing in the industry among manager types and crappy developers, it's not funny. I've seen one shitty developer taking a code of a much smarter one, showing it off to the clueless director, showering him with gifts, and getting all kinds of raises and promotions. You can't fight it if higher management doesn't understand what's going on. All you can do is move on.
6) Most people are good, don't take it too personally, shit happens.
7) If you ever want to be in charge, start your own company.
+1 well said
Welcome to HN. Don’t take the downvotes too personally — we aggressively self-regulate to avoid an atmosphere of content-lite comments.