This question already has an answer here:
I currently work in a small (< 10 employees) company, and basically we make web sites and services to clients. Currently we have 3 developers, including me. The other developers have much less experience than me, and lack knowledge in certain areas of the job that I handle.
I'm not very happy in my job. I've tried fixing what's wrong in the company, but it isn't really working. A few days ago I had an interview with a larger software development company, and I'm to start after summer. That means I start in 3 to 4 months.
Considering the state I will leave things when I leave the company, I think it's safe to say they're ****ed, and I feel like it's my fault. If I notified them now, they would have that 3 to 4 months to find a replacement for me. I don't want to sound arrogant, but my replacement will have pretty large boots to fill, and the job market isn't exactly filled with people that have a similar skill set, and the competition between employers is tough. Sure, they'll find someone eventually, but that might take time.
Then again, if I notify them now, I'm almost certain that the environment will turn toxic, I might even be let go because the leaders in this company have some temper. Even if I were to keep my job (firing me would be a very dumb move), how am I to work 3 to 4 months in a toxic environment?
What should I do? My rational side tells me to not worry about it and give my notice when I'm about to use my vacation time, but the emphatic side feels bad for the other developers.