Background: I work for a software startup, I am an intermediate developer in a leadership position. I have not been lead for this whole project, and I would say I am much more comfortable with writing projects than leading them. This has been going on for about a year and is one of many things I have been working on improving after the project was handed off to me, and maybe has not had the proper attention it needs.
This employee likes to get involved. He volunteers for tasks, stays on top of new technologies, learns independently, and is always excited when he talks about software.
However, his code does not reflect what I would expect from someone like this. He often copy-pastes code and misappropriates it. When he designs systems, they are messy and not well thought out, always resulting in spaghetti code and confusing interfaces. He has trouble adhering to agreed upon standards and structure where more junior employees have no problem, showing a lack of understanding for why decisions were made even when they are documented. He often defaults to using hacks. All this despite being around this project since the beginnning.
So far, I have tried:
- Offering him chances to improve upon old code when he has recognized it was not up to par and new tickets for the same features have come up
- Letting him know that I percieve a lack of structure and attention. After this, I let him know that I find writing second drafts help with this, and that he should try it out as a starting point to find what works for him
I did not see improvement in either of these cases. Currently, I am working on standards documents for the company that I hope will help him and more junior developers with gaps in their knowledge. I don't know if that will work or not.
Could someone with more leadership experience give me advice on how to help this employee grow?