Re:Save your Cleverness
by cmullaparthi on Tuesday March 29, 2011 @03:12PM
(#2383952)
How do people deal with staff who are quite clever, but write very complex code? I know a person who is a very good engineer in that he understands the underlying principles, but writes horribly complicated code. I'm trying to get him to write simpler code, but haven't succeeded so far.
[ Parent
| on HN ]
Re:Save your Cleverness
by megrimlock on Tuesday March 29, 2011 @07:03PM
(#2384929)
Start by talking to them about how you think they are really good at solving problems -- and how one of the challenges you hope they can solve is producing work that others on the team can understand and extend. They may need to first hear you acknowledge that they are talented and that you admire their work -- and then that you wish their work was more accessible to the rest of the team. The idea is that most good engineers will want to produce work that others can understand and appreciate. You just need to make it clear that you consider that part of the domain of problems they should be keeping in mind.
If this goes well, you might also want to acknowledge that this may mean taking less sophisticated, less forward-looking approaches. A lot of over-engineering is like over-training a model to historical data, assuming the future will be exactly like the past. Anyone who's worked on software for very long will be acutely aware that needs change over time.
Re:Save your Cleverness
by cmullaparthi on Wednesday March 30, 2011 @04:13AM
(#2386284)
Thanks all for the comments. I've tried all those approaches, but failed so far. I'll keep trying.
Usually, it's a phase. Right after one acquires what could be called "mastery" of a language there's a period where even the most complex (or obtuse) ways to use the language seem simple.
After a while that high subsides and one starts seeing the elegance of simple solutions for most things and complex ones where it's warranted.