<p>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.</p>
<p>Development was done a long time without any code review process, so low quality code is currently running on the website.</p>
<p>Some specific areas of concern:</p>
<ul>
<li>app related data is stored in a single deeply nested associative array</li>
<li>functions are used with way too many arguments</li>
<li>functions are not used appropriately</li>
<li>no knowledge of unit tests</li>
<li>a lot of trivial functionality is reinvented instead of using available solutions</li>
<li>no separation of abstraction levels (database operation, result processing and theme output on same code block)</li>
</ul>
<p>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.</p>
<p>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.</p>
<p>Any ideas how to most effectively make progress on developer skills and at the same time improve existing code?</p>

CC BY-SA 4.0
2020-09-14T03:15:24.990Z
Welcome to [cseducators.se]. 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, [workplace.se] 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.
Gypsy Spellweaver
CC BY-SA 4.0
2020-09-14T03:15:45.030Z
`$motivated = ($newWork < $oldWork && $newPay == $oldPay || $newWork == $oldWork && $newPay > $oldPay);` and `$inspired = ($newWork < $oldWork && $newPay > $oldPay);`
Gypsy Spellweaver
CC BY-SA 4.0
2020-09-14T05:56:26.747Z
I suspected it might be far fetched for this site, thanks for the helpful words anyway.
Tero Kilkanen
CC BY-SA 4.0
2020-09-14T09:27:50.297Z
You have the rep for it, so I'd suggest going to the chat room for [workplace.se] 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.
Gypsy Spellweaver
CC BY-SA 4.0
2020-09-14T11:06:45.967Z
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)
Ben I.
<student-motivation><self-learning>
How to take PHP junior developers to senior level
# How to take PHP junior developers to senior level

(Asked by: username_0 on 2020-09-13)

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?

**Tags:** student-motivation, self-learning

> **Comments:**
> **username_1**: Welcome to [cseducators.se]. 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, [workplace.se] 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.  
> **username_1**: `$motivated = ($newWork < $oldWork && $newPay == $oldPay || $newWork == $oldWork && $newPay > $oldPay);` and `$inspired = ($newWork < $oldWork && $newPay > $oldPay);`  
> **username_0**: I suspected it might be far fetched for this site, thanks for the helpful words anyway.  
> **username_1**: You have the rep for it, so I'd suggest going to the chat room for [workplace.se] 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.  
> **username_2**: 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)  

---

## 0 answers

