Ask HN: Suggestions for companies that mentor junior developers?
I am a self-taught programmer that would like to get a job at a startup. Small startups do not often have the time or resources to mentor a junior programmer.
Do you have any suggestions for companies( startups or not ) that have a great track record for mentoring junior devs?
10 comments
[ 3.5 ms ] story [ 32.1 ms ] threadWhen I was working at a startup, the lack of time for mentoring was one of the parts I hated most. I joined initially because their chief architect literally wrote the book on Java (and wrote curses, and rogue, and worked on vi and BSD UNIX), but he ended up quitting between my internship and when I started full-time. And the CEO offered to train me as a quant when I was hired, but time for such training never materialized because he was always busy with business stuff.
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.
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. :/
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.