I've just changed jobs and am now working with a junior programmer whose first language is Cantonese. They have a computer science degree but are working in their first programming role after many years outside the computer industry. They have been working for the past two years in almost total isolation and have developed a lot of bad habits.
A fellow contract programmer also speaks Cantonese, but his spoken English is quite poor, is also frustrated by the juniors approach to programming and are unsure what to do. Despite working on projects together in Cantonese the projects over run as the lack of an agreed/reviewed design means they have a merry-go-round of updates until a solution is reached.
Despite gentle verbal encouragement to do so both still struggle to create even the most basic design documents, enter proper check-in comments (i.e. not just 'bug-fix','updates' etc) and contribute at all to the project wikis.
At present the junior programmer doesn't read blogs, books or technical resources. When I ask how they become a better programmer they say they just think more about their own code. They are highly prone to reinventing the wheel with what I can only generously say are uniquely imaginative solutions to well solved problems.
I have tried to explain the KISS principle and SRP to them but I'm not convinced they understand the benefit. I'm sure I can't have explained it very well to be honest. Since I'm not sure if English comprehension is a problem then that is a problem in itself.
Can you recommend ways I can help them when;
- I can't speak any Cantonese and don't see learning any being effective in a realistic time frame
- Sending links to resources like thedailywtf.com appears to go over their heads
- The programming books we've bought remain unread
I've found the following SO questions which might be useful to them but point two above applies;
- Programming information in your mother tongue
- Does “English” hinder you to enhance your programming skills?
Are there some programming exercises we could work through together? What tips are there to get some basic documentation created? Are there any Cantonese resources I could point them to?
I appreciate how much easier it is when English is your native language. I genuinely want to help them as much as possible and not judge what could otherwise be perceived as an unwillingness to improve as a programmer.