2

I'm currently working as a senior backend developer in a large company where there are over 100 devs in total. There are various projects going on and work load for senior devs can get pretty hectic. There have been few occasions where I've had difficulty dealing with the CTO. He's been involved in the same project as me a few times. The last time I asked him for help on a particular project since he was most familiar with the codebase, I noticed a few improvements and needed to add a couple of new features but wanted to get an overall of how the project functions in general. Arranged a meeting which he didn't attend, sent emails and no response. I eventually ended up implementing the features but it broke other parts when that feature underwent testing. This could of easily been avoided if he'd given me a heads up on which parts of the project I would of needed to watch out for.

Now I understand being a CTO is tough work but he has so much going on me and other developers have noticed his commits often result in things breaking. Since he can't allocate time to fix these mistakes the job is often passed along to another developer to do. This wastes the developers time since they already have a big workload. When confronted with these mistakes he doesn't admit he's wrong and blames the person cleaning up his mess. This type of incident has happened several times now, what would be the best way to deal with the CTO? I don't want to lose my job or quit because I actually really love the company and the work I'm doing.

  • 10
    You have a hundred devs and you think the CTO should make time for bugfixing and code base questions? At that company size the CTO probably shouldn't be taking meetings with anyone who doesn't have architect in their title. Why aren't you asking other people for input? Do you not have a hierarchy and does everyone just report to the CTO? The question of why the CTO is submitting code is also a good one but that's probably outside your responsibility, unless the title you mention doesn't match your actual role. – Lilienthal Mar 24 '17 at 12:44
  • 10
    Why the hell is a CTO writing code when he has over 100 developers....something is not right. – Mister Positive Mar 24 '17 at 13:18
  • 6
    I'm sorry to say that it's your job to find out what your changes are going to break; not someone else's job to tell you - especially since you're a senior developer. Yes, it would be great if every question you had could just be answered immediately, but people are busy. This is why we do testing to begin with. – Jonathon Cowley-Thom Mar 24 '17 at 14:11
  • 1
    Me or the other seniors have no idea why he is still actively coding when he doesn't need to anymore. He is almost never reachable anyway since he's in meetings or just super busy. We have a very talented and capable team of developers but yes the hierarchy is weird since CTO is directly responsible for all developers, although you maybe assigned to a project and are in contact with the PM for that particular project you will also have to report to the CTO. – JavaGuru Mar 24 '17 at 16:26
13

Challenging the CTO on this will most likely not end well for you.

If you could swing another high level manager to your side on this issue they might be able to sit down and have a talk with him, but there's no universe in which you meet with the Chief Technical Officer, tell him that his code is bad, and keep your job.

As for him not meeting with you .. he's not exactly a fellow developer whom you can demand updates from. Even suggesting that he owes you an update is likely to ruffle some feathers.

You also mention that "confronting him with his mistakes" doesn't end well for you guys. Are you sure that's the best way to approach the situation?

Wouldn't it be best if one of you guys would quietly review his code and fix it without all the brouhaha? At the end of the day he has the authority and power to say you're wrong, and you have nothing but your soapbox to stand on.

In other words, better to suffer in silence. Keep doing your job, and just accept any mistakes on his part as a reality of employment there.

It's just one of those situations where the person who speaks up is not making any friends.

  • 5
    It might be time for the devs to maneuver the CTO out of writing code. "hey, boss, let me handle that for you". The trick is to help him get past the "I'm not technical if I don't code" hurdle. – Dan Pichelman Mar 24 '17 at 13:19
  • 1
    An important point here is that the company might lose some credibility (and therefore money/contracts/clients/etc.) if the CTO breaks production systems on a regular basis with his commits. Now this is no counter-argument to anything you said, it's just a factor that can become very relevant (especially after dozens of oops, I broke the site, sorry ). – Radu Murzea Mar 24 '17 at 14:08
  • 1
    @RaduMurzea if it's costing the company significantly, one might address it in a way that doesn't point the finger. For example point out the general problem of commits breaking the system (no names mentioned), the harm it is causing, and propose a new commit model for the changes, increased testing, or some other solution. – user45590 Mar 24 '17 at 16:31
  • 1
    It has gotten to a point where it's not only happened to me but several developers have complained. He takes on an open ticket be it feature or a fix, makes a branch, writes some code, merges it to develop. In one case a key feature had to removed from a sprint as CTO committed some code which broke existing functionality, resulting in an unhappy client and management took it out on that senior developer when CTO was clearly to blame. – JavaGuru Mar 24 '17 at 16:33
  • 1
    "Quietly review his code and fix it without all the brouhaha." Better yet, be on the look out for stuff your executives do to modify your work or presentations and when anomalies inevitably manifest, quietly rally everyone to damage control. In my experience, all you can do when executives get their hands in the cookie jar is stay two steps ahead. – CKM Mar 24 '17 at 20:23
3

I suggest in this case you leave your CTO alone, even if it means going back after them to correct the errors.

The real issue I see ( or might ask ) is why does he feel the need to code if he has 100 developers on staff? The answer is probably along the lines of "this needs fixed, right now, and my developers are too busy to do it".

Maybe you could offer to be his go to guy on things he feels needs to be addressed immediately? Offer up that you realize he is much to busy to do this work and ask him to come directly to you, and you will address his needs immediately.

  • 1
    What we ideally need is someone be it another developer or a PM to tell him we already have processes in place for issues that need prioritisation and enough developers to do the work necessary. But people are afraid of confrontation. Myself and other developers have offered various times to appoint a development lead who takes care of this so he can be free of coding since he barely has time for it anyway. – JavaGuru Mar 24 '17 at 16:42
1

You need to understand the role of CTO in your company.

In some companies, CTOs are "super developers". They are expected to jump in and work with developers often, and sometimes even do some design or coding.

In other companies, CTOs are working at a different level and never get involved with the developers.

You need to figure out how and if the CTO should be involved in your work.

Talk to your boss about the problems you are having and ask how you can get assistance if you aren't able to handle it yourself. Don't imply that this assistance must come from the CTO.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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