I'm working at a startup with another programmer, the founders are business guys and they don't even look at the code.<p>We're working on two different applications which communicate through different API calls. The problem is the other guy has really bad coding practices(doesn't use version control, doesn't know how to debug code, writes overly complex code for simple things, ...), takes a lot of time to get something done and when he does the api doesn't work as intended. As my services depend on him, this results in a big waste of time.<p>I tried suggesting him to improve in person and by email but I keep getting ignored.<p>The project manager(and founder) doesn't seem to care or realize what's happening because I don't see him telling anything about this to the programmer.<p>It's an interesting startup, good networking possibilities, good pay, work at home, twenty hours per week so it's hard for me to quit.
We both work at home.<p>What would you do in this situation?
Since it sounds like the other developer you're working with isn't going away any time soon, you have two simple options:<p>1. Deal with it. If you're being paid well, like working from home and nobody is (yet) concerned that it's taking you longer to deliver because of the other developer's shortcomings, you can learn to live with the situation and do your best to be as productive as possible in the 20 hours you're being paid for each week.<p>2. Quit. If your happiness ultimately requires that you work with competent people, you should seek out other opportunities that will give you the ability to do so.
My advice in this situation would be to talk to the founder and ask them to hire someone else and let this guy go.<p>If they won't, you should probably just quit. You will be carrying this individual for a long time, and it may take a third or fourth person coming on before it becomes more obvious that this individual is a problem.<p>In situations like this, the founders should have hired on a technical lead and have both of you reporting to the lead. Or one of them should be technical enough to be the lead. I would suggest looking for opportunities that are managed in this way in the future.
As you mention that you both work from home, but that you met him in person, it sounds as if you're locally close together. As such the best thing would be to work together for one day. Think XP pair programming and start off with version control. Many people would like to learn better techniques, but need a non-stressful environment such as pair programming for it. Since he writes complex code for simple things, it sounds as if he is struggling and he may have a hard time learning more.
I think the biggest issue is the founders aren't working to fix the problem. But it might not be as big a problem right now. I would keep them in the loop but their first concerns should be deliverying a fantastic user experience and getting initial users. tThe backend code will probably need to be rewriten anyway to scale.
Dont give them any responsibility, tell them there rubbish and generally dont be nice to them. Make sure you tell them the reason you are being horrible is because there crap at there job. It will do one of two things to them.<p>Either, make them leave, or make them want to improve themselves.