I've been working at a startup for 9 months. Except for the first 3 months, I've been miserable.
It started when I joined the organization. I didn't join as a fresher. My first task was to create a replica of the mobile application that was being developed by a senior developer. Mobile development was new to me, but I managed things gracefully and the application got client acceptance. During this time, that senior developer got fired, and I was the only developer left on the team. Soon, I was told to move over to the new mobile development platform to help the team there, who was having trouble with the initial release of the application. I helped them, and they were able to ship the initial release gracefully. With my efforts, I got management's attention, and as the fog of worry (temporarily) faded, they told me to do some research about a core piece of that app. The research took me two months, and meanwhile the team messed up the application. I was told to take charge of the main development and abandon research until further instructions.
Those "further instructions" never came. When I took charge, we were a team of two. We were both new to technology and we were struggling. Within a month my teammate left the company, and I was alone.
While my learning process continued, the client reported some serious design issues. During the development phase, it took me 10 days to troubleshoot these issues and another month to solve them. During this time, I was doing 4 tasks (i.e. development, design, research, and QA) all alone.
I was weak in design and QA, and for that I was criticized a lot by both the client and management.
It took me one week to cope with the burnout; and it took me three months to stablize the project. I wasn't granted any leave during those 3 months, was called every weekend for 5 weeks, and forced to work for at least 12 hours each day. I once tried to oppose this and my salary was on hold for 10 days without any explanation.
Today, the status is this:
- Among three versions of that application (including mine) every team has at least one feature that is not acceptable.
- The whole project is 3 months behind schedule.
- Two weeks ago, our project leader, for the first time, acknowledged that his initial work estimates were wrong.
- So he wanted us to estimate the remaining time.
- He told us that he would convince the client to accept these new dates.
- In three days, our estimations were rejected thrice by the project leader himself and weren't discussed with the client.
- We were three days behind our schedule for the release (and a week behind the schedule reported to the client).
- Still, the project estimates were not accepted by the client and there are 5 minor bugs open in that application.
After this, they moved me from that application to a different application which was abandoned by a developer some 7 months ago. The client wanted its beta delivered quickly with all of its issues resolved. There were 12 issues and, among them, 10 issues were resolved. I sent a "test beta" to the client and he mostly accepted it. But there were some problems and the client forced me to solve the remaining two issues at any cost in the given timeline. As the sole developer, the project leader requested my opinion about those two bugs. Both tasks were impossible. One was unsupported by the api and the other couldn't be completed in the given timeline even if somebody worked 24 hours/day. But he wasn't convinced and he asked me to complete these two bugs in the given timeline, thus forcing me to work the weekend. He even froze my salary again, and this time I am in a financial crunch.
What should I do in this situation?
I am inclined to leave, but the question is - Should I leave immediately?
If I do, that will put them in jeopardy and will make them realize that something was wrong on their side. I am not worried about relations with them, but I am worried about the next developer who will take my place (if they can find one). The only problem is that I have to suffer economically somewhat for a month.
Should I wait for my salary?
I do not believe that my salary will be credited tomorrow, and I don't have enough mental strength to face them and still be calm and able to work. But if I pursue this tact, it's at least somewhat more likely that I will have some money and that I can support myself and my family.
Or do you have some other option in mind?
Thanks for patiently reading my question.