2

I work as a front end developer in a relatively small but growing technology business, I was the first developer to be hired in their new branch in Malaysia, our branch started in a co working space and we were 3 people only, however now after a year we are a growing team of 12 individuals and we take pride of what we do, since I was the first developer to be hired in the new branch I expected to be trained remotely on the job, however they never did so I had to figure it out by myself so I naturally made mistakes and worked hard to correct them and improve my skill set even on holidays and weekends.

Now after almost a year and after gaining enough knowledge I've started to realize that my seniors in the HQ office at the UK are making rookie and uninformed mistakes and their code quality is quite bad and most of their methods are quite outdated, I've tried to speak up however I'm not a very good speaker and the backlash was quite intense as they thought that I was trying to act out of my place and because they've always been working the same way and everything is "fine" , after few weeks one of the most respected developers in the company mentioned some the issues I addressed and everyone calmly listened and the results were great.

Now one of the MDs at HQ came up with a good idea to ease the product delivery process I personally like it, however it requires us the developers to deliver a good quality and high performance "code base" to make that idea work for the future. But I've been keeping a close eye on how my seniors are writing code and it has major performance flaws and inconsistencies.

I don't know how approach my seniors and tell them about all of these issues, especially that their management team consists of none technical people that would appreciate anything that we build as long as it runs on their screens.

I love the company that I work for and the management team are smart enraptures which makes it more difficult for me when I receive negative feedback from my seniors overseas.

so how can I address these technical issues without sounding disrespectful? and how can I help them change or to counter such issues in the future

  • 2
    First of all, what makes "their" code bad? Bugs? Readability? Performance? – SJuan76 Dec 19 '16 at 1:57
  • Hi, Thanks for your comment, performance and bugs, since it's for websites, what they're building is quite slow on mobile devices and glitchy on budget smartphones – nedo Dec 19 '16 at 3:26
  • Don't tell people they are wrong; ask why they have taken that approach rather than the one you would have expected. They will be more willing to listen, and it may turn out that they are right for different reasons. Maintaining real-world code has different priorities than the ideal ones. – keshlam Dec 19 '16 at 12:57
3

The usual answer is that, first of all, you need to convince them that there is a problem.

Since the direct approach of telling the other programmers has not worked, an indirect approach may be useful. For example, go to that MDs and make your point of the need of good quality and performance code base, and suggest that they setup a process to check and improve the quality and performance of the code base (testing, good practices, metrics -bugs and response time, etc.).

Be mindful of:

  • Explain the benefits for the company. Good code by itself is not an objective. Avoiding the costs caused by bad code, or being able to implement a more efficient process (= less cost and less time to market) is an objective.

  • Be possitive. You do not want to criticize anyone's work, your only worry is to ensure that the code meets the required standards.

  • Don't point fingers. Even if 90% of the bugs come out from Larry and Frank's desktop, do not mention Larry and Frank at all. Do not ever mention the differences between overseas offices or local offices, senior developer or junior developers, whatever. Your effort is for getting better code, if it happens that some people must do a better job let the people managing the quality/testing process be the ones to point out that if they wish to.

  • Try to make the issue as impersonal as possible. The process will deal with everybody's code, not just the bad programmer's one. It is not to "single out" bad programmers, but to avoid that the mistakes that every programmer makes then and now (not everyday everyone is at 100%) impacts the company. Although such a process could be used to find who is doing a better or worse job, that should never be one of your objectives.

  • Do not press the issue. Once you have made your point clear, leave the managers decide about it. It is not your job to decide what is the quality standard of the company or enforce it on your coworkes.

    • Management may fail to see the importance of the issue, and in this case you will most likely be unable to change their opinion by insisting, it would most probably backfire.

    • Management may agree with you but find difficult/too expensive to change the process for the possible benefits. They could also settle for a level of quality that is less than you wished for. It is their call.

  • Thank you @SJuan76 I've spoken with my MD this morning and followed your points, he was happy because I cared about the quality of our work and set me up on a call with the lead developer to explain to him about these issues to mitigate them in the future, also he mentioned that maybe devs overseas have some external pressures and high work load which might've affected their code's quality. – nedo Dec 20 '16 at 2:17
  • I don't have enough points to up vote your answer at the moment, once I do I'll make sure it's up voted, thanks – nedo Dec 20 '16 at 2:18
1

I would suggest you prepare a demonstration. Demonstrate factually, how your approach is better that the one that is currently being used. Make sure you can measure the difference in a way that will be meaningful to the team.

Sometimes you have to show\prove it with a demo. This approach has worked for me in the past, hopefully it helps you.

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.