16 karma · joined August 13, 2012
These are great advices. The question is how to turn them into practice. People do not become great mentors by just becoming appointed :-(
> Teaching them the value of well organized source control and good commit notes goes a long way.
This is way too low level compared to what we are looking for. We want to find out how to help people learn quickly the basic values and principles that will enable then to proceed on the path towards learning how to build the right thing and how to build it right.
The question is not so much what to teach (there are great resources on that - Clean Code, Pragmatic Programmer, Effective Java, XP explained, ...) but how. And by how I mean little more concrete than "give them a mentor to help them" (we have tried that - but neither the mentor nor the mentee really know what to do).
We do that. But we feel it is not enough to help people grow quickly. We are looking for ways to make the learning process as effective as possible.
I agree with a lot of what he writes. At the same time I believe there are cases where I would appreciate some kind of automation for wiring (f.ex. if I want a fresh instance for each session or request). And there are certainly cases when runtime wiring - as in the mentioned case of plugins - is useful.
Thank you for your comment, I thoroughly enjoyed it. Thank you also for summarizing the many forseeable possible discussions upfront so that we could have avoided them here.
The books were chosen by a group of five, half of us with 10-15 years of experience, so no, they aren't the latest books the author by a chance happend to read.
I admit that, as others have complained, the title might be percieved as misleading. The reason is that these are books that our company recommends to its developers and we want the developers to be something more than coders (= what most people understand under 'developer'). Though it's important to write great code, it's even more important, IMHO, that it is the right code that gets written, i.e. that the resources available are used to produce the maximal business value possible (and we believe that this cannot be planned but must be discovered based on feedback from reality - that's why lean/agile). Going quickly (great coding skills) in the wrong direction isn't progress.
Some of us have read Code Complete or The Pragmatic Programmer but it hasn't made it into the list. More of us will read it now and we will reevaluate the list afterwards. I hope it's good with you :-)
Thread switching is certainly costly and not really necessary for high-performance systems as proved by the the LMAX/Disruptor architecture.