I am involved in a website project, where main implementation language is PHP. Main development is done by two full-time developers, who lack a lot of understanding about program architecture and modern PHP features. I am involved in the project part time.

Development was done a long time without any code review process, so low quality code is currently running on the website.

Some specific areas of concern:

  • app related data is stored in a single deeply nested associative array
  • functions are used with way too many arguments
  • functions are not used appropriately
  • no knowledge of unit tests
  • a lot of trivial functionality is reinvented instead of using available solutions
  • no separation of abstraction levels (database operation, result processing and theme output on same code block)

I am looking now options how to get these developers' motivated about improving their skills and how to actually accomplish improvement goal. At the same time, development work should not be affected too much.

There is a code review process now, and I am pointing out things there. However, I have no idea if they really understand the concepts.

Any ideas how to most effectively make progress on developer skills and at the same time improve existing code?

  • 2
    $\begingroup$ Welcome to Computer Science Educators. Your problem is probably more common than you know. While motivation is also a common problem in the education arena, your question doesn't seem to be about education in CS, which is the topic for this site. I'm not sure there is a good place, directly, for this question within the Stack Exchange network of sites. Perhaps, without any knowledge on my part to support it, The Workplace might be helpful. I do know that self-interest will be a key element, and a vision and support from the C-level is mandatory for success. $\endgroup$ Sep 14, 2020 at 3:15
  • 1
    $\begingroup$ $motivated = ($newWork < $oldWork && $newPay == $oldPay || $newWork == $oldWork && $newPay > $oldPay); and $inspired = ($newWork < $oldWork && $newPay > $oldPay); $\endgroup$ Sep 14, 2020 at 3:15
  • $\begingroup$ I suspected it might be far fetched for this site, thanks for the helpful words anyway. $\endgroup$ Sep 14, 2020 at 5:56
  • $\begingroup$ You have the rep for it, so I'd suggest going to the chat room for The Workplace and checking on your question for their site. Maybe not as written, but it probably could be edited enough to work. They've got, collectively, centuries of experience dealing with workplace issues, so they might have a way to find the solution. Luck. $\endgroup$ Sep 14, 2020 at 9:27
  • $\begingroup$ I'm less concerned that this is off-topic since motivation is central to education, and you are explicitly asking about motivating someone to learn something. That seems topical to me. You might still have better luck at The Workplace. If you do post there, you should also delete here (as per stackexchange rules) $\endgroup$
    – Ben I.
    Sep 14, 2020 at 11:06


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.