Background:
I work in a small group of web developers for a website project. The project is growing significantly, and our leader had added a new developer. I largely work on the front-end aspect (concerning the web design), while the rest of the developers work on the back-end aspect (concerning the server process logic).
Let's refer to the new developer as John. To begin with, I have to admit that I am biased with my feelings for John now, but I am trying to be as neutral as possible in describing the situation. So, please take my statements with a grain of salt.
John comes from a back-end background, and has dabbled with front-end as well. Once, I was too busy with my work, and John offered to help, in which I agreed. The end product was rather messy, and I had to clean up after him. After that, I gave him pointers on where to improve, and explained how our standards worked. I also guided him on installing a plugin to ensure that his work is standard compliant, but he asked me to disable it, saying he would use it later.
Later on, he was put in charge of another module, in which he offered to do the front-end again. Once it was done, the leader asked me to go through his work to ensure the quality. John's work was functional and working, but the code was very messy. However, the leader was happy enough because it worked. It was difficult for me to clean the mess, so I sat down with John again and talked to him about the matter.
From our discussion, I learned that his way of doing things is more towards "the end justifies the means". Since this project is large, my way of doing things is more towards future-proofing it. If I were to fix his work, I would only be doing twice the work. Plus, as mentioned, our leader has no complaints. So, I handed over the front-end responsibility to him completely.
I have discussed this matter with some of my colleagues, and some of them do complain about his quality of work. We are unsure if we should bring this matter to our leader. For one, our leader only has basic technical knowledge, which means it will be difficult to explain this issue. He is also having a hard time balancing the quality and speed in this project.
John is not exactly a bad man, and I can see that he is trying his best. But, he is clearly not taking our advice, preferring to do things his way.
Question:
Have I handled the matter in the best way possible? If I ever encounter similar situations, what is the best course of action?
Should I raise this matter to our leader and attempt to explain this issue?