There is some extent to which you need long-term software project experience to learn how to deal with maintenance and extensibility over multiple years. However, there is still some benefit for devs who are fresh out of college and haven’t done software maintenance. A lot of junior devs realize their designs are bad when asked “What if you need to add X later?”. And these decision making training games would help with that.
How would you feel about someone being given a pile of code, and having to add a feature that requires modifications throughout the codebase? That could be a decent simulation of working in a large legacy codebase, and could be used in a similar game context, where you do a debrief on what aspects of the existing code made it easy/hard to modify, and review the code that the dev playing the game wrote.
How would you feel about someone being given a pile of code, and having to add a feature that requires modifications throughout the codebase?
I think this describes many internships or onboarding projects for developers. My general opinion is that, when nobody’s shooting at you, it’s best to do this on real software, rather than training simulations. The best simulation is reality itself.
There is some extent to which you need long-term software project experience to learn how to deal with maintenance and extensibility over multiple years. However, there is still some benefit for devs who are fresh out of college and haven’t done software maintenance. A lot of junior devs realize their designs are bad when asked “What if you need to add X later?”. And these decision making training games would help with that.
How would you feel about someone being given a pile of code, and having to add a feature that requires modifications throughout the codebase? That could be a decent simulation of working in a large legacy codebase, and could be used in a similar game context, where you do a debrief on what aspects of the existing code made it easy/hard to modify, and review the code that the dev playing the game wrote.
I think this describes many internships or onboarding projects for developers. My general opinion is that, when nobody’s shooting at you, it’s best to do this on real software, rather than training simulations. The best simulation is reality itself.