When a project has gone over the allotted hours, am I morally obligated to spend my own time fixing bugs or finishing the project?
I've been working about 20 hours per week as a C# programmer for about 15 months for the same company. I can only work part time because of a chronic disability and need to work from home. I'm also the only programmer at the company and am a 1099 contract worker (a 1099 contract worker is someone who is self-employed and works for another company). I've been doing C# for over a year after taking a 3 month intensive class. I had a background in programming in the early 2000s but wasn't able to work for a long time.
Sometimes I'm asked to quote time on client projects for things that I've never done before but I have to give a number so I give my best guess. I'm clear with my boss that this is just a guess. The last project I guessed at 80 hours but have now put about 110 hours into it. I'm not getting paid for the last 30 hours because the client doesn't want to pay for more time for the project. When I was at 80 hours the project wasn't completed yet. I went ahead and did the first 14 extra hours just because it needed to be completed. I volunteered to do this and wasn't asked to do it, only told that the client wouldn't pay for more hours. Then we ran into bugs that needed to be fixed and that took more time to fix those. There's been a lot of time testing the project also. I've also had to put 6 more hours into the project in the past couple days because I needed to figure out why things were running slow and how to speed them up. I feel morally obligated to fix the things wrong with the project I'm working on because I don't like putting out low quality work.
I think I've learned my lesson on this project but am not sure how to avoid the situation in the future of not quoting enough hours. I don't have the experience necessary to know how long things will take.
The good parts of the job are that I get to pick my own hours and prefer to work more second shift. My boss also lets me take a day off now and then when I'm not feeling that great. I do feel pretty lucky to have the job because most employers probably wouldn't hire a disabled programmer that can only work part time. I do get contacted by recruiters every week with lots of jobs but they are all full time.
I want to be a good employee and do a lot of other things like learning new technologies related to projects on my own time.
Some things about the job don't really feel right. I'm ok being on 1099 but I've consistently worked at the company for 15 months now. There's been a few times they have forgotten to pay me but make it up the next pay period. My boss has several LLC's and my paycheck kind of rotates coming from a different company depending on what project I am working on.