Что-то у меня зачесались руки продолжить свой прошлый опус. Для начала хочется немного отойти в сторону. Я использую терминологию деления уровней программистов - Junior/Middle/Senior . Лично я не знаю ни одного четкого определения каждого из этих уровней и поэтому, говоря о переходе с одного уровня на другой – хочу в двух словах объяснить, что я под этим понимаю. Предположим, перед группой стоит крупная фундаментальная задача. Например, сценарий авторизации. Программист уровня Junior, имея общее представление о том, что нужно делать – не понимает «что» и «как» надо написать, следовательно, старшие товарищи должны четко описать ему задачу. Программист уровня Middle знает «КАК» надо писать. Он знает, что должно быть бизнес-логикой, а что логикой уровня приложения. Senior знает «ЧТО» нужно писать. Т.е. например, может четко объяснить, почему для доступа к базе данных мы используем одни приемы, а не другие, и что это будет стоить. И вот в прошлый раз мы остановились на уровне Middle.