-3

I'm working as a software developer at a startup in Istanbul/Turkey where there are only 2 full-time developers (including me) and 3 part-time staff (tester, developer, ux designer).

Yesterday I had an appointment with a dentist, and while I wasn't at the office, my fellow full-time developer changed the data format of a webservice from which I gather data for our iPad application. He changed it because the part-time developer and I are developing another version with Apple's new programming language (Swift).

An hour ago I realized the old version (which is still in use by our client in Germany) is crashing in a very ungraceful way due to last changes he made.

I tested the app last weekend and it was fine, so I definitely know it crashes because of his code. I suggested he make a copy of his latest work and simply undo his changes for me. After undo, he could add his latest work, so both versions will run properly.

The reaction I received was in a very loud sound, and he was saying (politely and shotly translated here) "I'm not doing it". If i simply said "shut up" and left the room, I might have to punch him in the face.

We were really good colleagues; I did nothing to upset him. He's also the cousin of the founder but it's not all good between them. I've had to cover up his big messes twice already. Just 2 weeks ago I was with my boss at 23:00 at the office because of his mess. Eventually I fixed the problem but it's now causing a delay on my deadlines.

Next month my masters degree courses begin in addition to a Microsoft certification course. I don't want to cover for him anymore and miss my deadlines, but sometimes parts he makes are used in my work. What should I do? I only wrote problem on Trello and tagged him along with freelance dudes, and take a screenshot of it.

closed as off-topic by gnat, Jim G., user8365, Garrison Neely, IDrinkandIKnowThings Aug 26 '14 at 13:22

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Real questions have answers. Rather than explaining why your situation is terrible, or why your boss/coworker makes you unhappy, explain what you want to do to make it better. For more information, click here." – gnat, Jim G., Community, Garrison Neely
If this question can be reworded to fit the rules in the help center, please edit the question.

3

I personally think you should have a conversation with this individual and explain to him that his actions are impeding the company. This should be the first step as he may not be realizing what he is doing, especially if you let him go away with it.

Then, I would discuss with colleagues, including him how we can improve our development processes so this type of mistake is discovered earlier and certainly before it hits the customer.

This will help you go from reactive mode to proactive mode. This increases the chances that bad things will not happen while you are away.

If this does not work, you can approach management and discuss with them that there may be some quality issues with the product you are developing and you are seeking advice on how you can improve as a team.

I would not point finger at one individual because, as it often the case in software development, failures, big or small are the combination of many factors.

  • I did fix problems for him but what if he's well aware of his behaviours? I'm asking because last bug i fixed for him was notified by client. Than our founder (his cousin) immediately organized a series of meeting on improving development process last week. I genuinely checked my code without holding any grudge, just can't find anything to solve it by my side and it really ends for him to do. Is there anyway to do this other than approaching management? More gentle way? or should i just ask management and leave it until they suggest something? – Timur Aykut YILDIRIM Aug 26 '14 at 9:02
  • Looks like you are doing the right think. He may be aware that he caused a bug, he may not realize the impact this bug has on the business. – David S. Aug 26 '14 at 9:05
  • 1
    You did the right thing, try to address his common sense. If he is neglecting your approach you need to find out why. Maybe it is something minor, which is a big issue to him. That being said, if you colleague somehow feels entitled to his position because of his cousin you need to address this issue with his cousin. But this is the last and not preferable option. – zhengtonic Aug 26 '14 at 9:22
3

You may need to get permission to take more of a leadership role. You can't put your responsibilities on hold because you're getting more training. If you're being paid as an experienced professional developer, you have to be able to work a full-time job and do training together. Otherwise, take a position as a junior developer and ignore my recommendations because you won't have any authority.

Nobody is perfect but it doesn't seem like your development team is using what many consider best practices like having:

  1. Source Control: You should be able to roll-back his mistakes without his permission. You may have it, but if everyone is using it properly, you wouldn't have these problems.
  2. Code Review: Take away his ability to apply code changes to production using file security so he can't update anything until you or someone else has reviewed his code. Let him review other's code so he can learn from it.
  3. Automated Testing (Unit and Integration): His errors could have been caught sooner and with less effort on your part.
  4. Include your tester in determining when code can go into production. Become more rigid and make this a requirement. I realize this may have limitations because this is a part-time person, but your company needs to readjust their expectations for releases/bug-fixes if you're ever going to solve these problems.

All of this may sound like it takes more time and effort, but so does cleaning up mistakes that have been released into production. That is the most costly of all to your team and customers.

  • he graduated from university 1 year earlier than me. Plus, i'm more on mobile development and he's on web development. I'm using bitbucket+sourcetree on my part. He also has a git on his server but he says it's not possible to undo it. :S Tester's aproach is more like blackbox, i don't think his return will be more than "it's not woking" – Timur Aykut YILDIRIM Aug 26 '14 at 13:11
1

You still have a month to go before you are too busy covering up for your colleague. I suggest that you use the time to "train " him to take due diligence and do a better job of coding by letting him pay the price for his screw ups and fix his own code, even if the result of not lifting a finger proactively is damage to the customer - as long as the damage can be unambiguously laid at his door.

Fix his code errors only as they affect your own work but when you do that,let him and let your management know that there was a problem with his code that you had to fix to make your code work.It doesn't matter if your colleague still does not get that he is the source of the problem as long as everyone around him including the management does.

As for your heretofore good relationship with your colleague, forget it. It was good because it was based on the basis of you continually cleaning up after him so there was something fake about the relationship anyway.

Going forward, your relationship with your colleague should be good for the right reason i.e. your colleague is doing his job in the way he is expected to, not the wrong reason which is you going out of your way to clean up after him at the cost of your own deadlines.

You've got one thing going for you and it is that the management cares about the screw ups and reacts aggressively to them. Take advantage of the fact that management cares and make it work for you. If he suffers, he brought it on himself. If he wants to stop suffering, he knows what he has to do. Let him suffer - and I do mean, let him suffer - until he sees the light.

  • Unfortunately i'm 5 days away from september, not a month. plus we're on same level positions, same years of experience. i develop mobile and system programming for crawler etc, he develops web. i don't have same experience on his setup (language/framework etc.) yet i fixed bugs hard to solve (for me at least) How can i train him? I think from now on, all i can do is to watch him explaining himself to management? – Timur Aykut YILDIRIM Aug 26 '14 at 13:07
  • 1
    @TimurAykutYILDIRUM "I think from now on, all i can do is to watch him explaining himself to management?" Well, tell me again how well your taking ownership of HIS issues worked out for YOUR deadlines? :) And tell me how did you feel about telling the management that you missed YOUR deadlines? :) The other issue is, are you willing to indefinitely do HIS job and YOUR job while being paid just YOUR salary? :) – Vietnhi Phuvan Aug 26 '14 at 13:18
  • Thank god, I haven't missed a single deadline, but i left office late sometimes. I just didn't wanna be the one who says problems to management. But from now on, he really is on his own. You're absolutely right my friend – Timur Aykut YILDIRIM Aug 26 '14 at 13:26

Not the answer you're looking for? Browse other questions tagged or ask your own question.