I work for a small company of about 10 employees. The owner comes from an entirely different field. I was the first employee he hired. I used my experience in this field to help him build the company, by proposing the positions to be filled, conducting interviews and choosing the candidates to be hired.
At some point, the owner decided he wanted me to concentrate on my job. Left to himself, he hired some very unqualified personnel. When I brought up this issue with him, he took it as a criticism of him doing his job. He became defensive and responded aggressively, so I avoided bringing it up again. When their incompetence showed, I suggested constructive ways to fix their mistakes.
The owner is a young entrepreneur and has no experience managing personnel. Even though he knows the team members are unqualified, he dreads the idea of firing anyone. Sending them to specialized courses where they learn to do their job is also not an option because it would take way too long for them to be productive.
I have now been assigned a task that relies heavily on a colleague's input. I can't bring myself to ruin the project, so I decided to "go rogue"–ignore the colleague's input and gather the required data myself. If this gets noticed, they may ask me to do the work again with their data, which I cannot do. If it doesn't get noticed, they will think the colleague's incorrect data led to these correct results, and they will continue providing me incorrect data. This looks like a lose-lose situation, which I don't know how to deal with.
I don't plan to stay at the company indefinitely. I was planning on training a replacement and leave the company once the product is shipped. However, this would take too much time. Until then, I am irreplaceable and cannot resign. The company would be in a very bad spot and unlikely to recover, so I consider leaving now as irresponsible and unprofessional.
What are the other options I could consider before thinking about turning in my resignation?