Hacker News new | ask | show | jobs
by diolpah 5449 days ago
Serious question, no troll.

Why do so many young developers insist on getting mentoring when there is so much high quality code available to be read?

I can accept the proposition that reading books is insufficient for becoming a spectacular developer. But code itself is so precisely clear about its use and intention, that it's effectively equivalent to peering inside the mind of its author.In addition, reading through changelogs can give an excellent view of how good software evolves from version to version.

I would argue that doing so would be roughly equivalent in effect to actual mentoring.

2 comments

Code rarely tells you the intent or general principles behind its design. Mentoring does. This is ultimately more important than the finished code itself.

Reading code is valuable. It's not a substitute for actually working with experienced people on real projects. I can look through the Linux source all I want, but that doesn't tell me what it was like to sit down at a blank editor window and start writing an operating system, or how Linux evolved from simple test program to terminal emulator to bootable OS.

I thought about doing something like this with projects I'd like to understand. Checkout the first version, try to understand that, checkout the diff to the next, etc.

I have some trouble understanding what exactly I'm looking at, at each point of the history. It would be easy if the developer told me, but not trivial to grasp by looking at it.

Also, the value of this early code might be questionable, since it will probably be dumped in the later versions, and you probably won't have access to the insights the author had to dump it.

And I'm not even a young developer. :/

I'd love too see a screencast (Peepcode?) where some programmer attempted exactly that. Checkout an interesting project he never seen the code, and "think out loud" while trying to understand it. And don't throw the screencast away just because he can't grasp it, because that's exactly what happens with newbies who try to understand medium-to-large projects written by others.