Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Really like this.

“Average” engineers manage to be productive with React, Spring, WPF[1]... These are not simple technologies. Why can’t “average” engineers be productive with my stuff?

Quite often it’s because these bigger, more complex, projects have far more comprehensive docs.

It sounds like this codebase has a fair few abstract concepts in it. Those things can be hard to understand without comments and docs explaining core concepts.

Sequence diagrams are also great. I like generating sequence diagrams from logs during automated testing so they never go out of date.

I also find it useful to have docs at the top of each class (or file) explaining 1. what its responsibilities are, and 2. what it collaborates with. Like the old CRC cards.

Obviously this stuff can drift out of date, but it’s less of a problem with the core bits of the system once they’ve settled a bit.

If they don’t exist already, it’s nice to write docs by pairing with new devs.

It is of course possible your engineers really aren’t up to the job, in which case the effort you put in to explaining things now will still make things easier for their eventual replacements.

I had all this wrong for so many years.

[1] whether these are “good” technologies is beside the point here



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: