Being the last man standing. Seems sad but when people leave bad company, usually the people who stay get promoted and some of them become senior developer. I have seen this strange pattern a few times.
Absolutely. A good way to make this happen is to crank out piles of write-only code. You'll look more productive than your peers and you'll be the expert on a relatively large part of the system.
When things inevitability go wrong, you'll also be the hero that powers through the weekend hacking a solution together. Be sure not to document or comment this code. It makes your memories critical to the operation of the business.
Eventually everyone else but people like you will move on. You'll be given a bigger say in the org by default AND you'll think exactly like all the other senior engineers. This will make you appear to be good at communication and working in teams since you can all say and do what you were already thinking.
Good to know I am not alone :) There are a few pinpoints also to detect if the company you are interviewing to is one of these. Usually, they are 'building' a new team for an existing product. As I grew up in my career I started to develop the reflex to ask why the previous folks left. You might not get an honest answer but at least it gives you more information either you should continue the hiring process or not.
I just had a phone interview that was incredibly telling about the company. The interviewer ... didn't speak english. And, I've been doing this long enough that I embrace that broken english is the international language of science. This guy didn't speak english. We had to communicate by typing into the pair coding app (remember this was a phone interview).
Anyway, a company who puts that person on the phone as one of the first points of contact has serious communication issues. It was an easy pass for me (I already work in a company with broken communication).
I also usually ask "if someone has left the company in the last year" or so. However, they might lie, but most of the time they are not prepared for such a question. Reading micro-expressions (I am trying to learn...!) and the tone of the voice might help you with that, so that you can dig in and put some pressure to get some truth out of it.
Ha ha. Generate the piles of code but keep the generation program private. Then being a hero and refactoring thousands of lines takes you five minutes at the weekend. Evil!
Why strange? Staying there when difficulties arise, future become incertain, keep working when it becomes boring or very messy or unrewarding, being able to do the work of the designer or the project manager because they are gone, all these are proofs that you are reliable and able. I would certainly choose such a guy for a senior position.
If you do it because you are loyal to the company and you are good at what you do, you MUST be promoted. If, on the other hand, you do it because you need a promotion and all you have to do is to wait, well... I don't have the numbers, I just know that people are human, and many humans seek the best opportunities with the least effort.
Yes, and more often than you seem to think, "waiting" is a good choice, because it leads to better opportunities in the long term. I don't advocate to stay in the same company forever. I suggest to do exactly the opposite of the flock, i.e. leave when people are coming in, and stay when people are leaving. (That's also a way to make money on the markets, maybe the only way.)
Strange in a the sense that the rational choice would be to promote your best asset while they are in the company. There are tough times in all companies but, in some, the best assets decide to leave when there are tough times because this is the last nail in the coffin of a toxic work environment.
When things inevitability go wrong, you'll also be the hero that powers through the weekend hacking a solution together. Be sure not to document or comment this code. It makes your memories critical to the operation of the business.
Eventually everyone else but people like you will move on. You'll be given a bigger say in the org by default AND you'll think exactly like all the other senior engineers. This will make you appear to be good at communication and working in teams since you can all say and do what you were already thinking.