Какой объем знаний должен быть у Senior Java Developer
ИМХО, Senjor Java Developer — это как ветеран на войне. Его сила не в знаниях, а в опыте. Допустим вы начали новый enterprise java project и наняли трех разработчиков: junior, middle и senjor'а.
Junior — умеет программировать, мало опыта на рельных задачах, знает 10-20% используемых в проекте технологий.
Middle — в состоянии решать сложные задачи самостоятельно, знает 50-60% используемых в проекте технологий.
Senjor — берет на себя ответственность за проект, самостоятельно. Знает более 90% используемых технологий. В состоянии решать «нерешаемые» проблемы. Помогает другим: ставит им задачи, учит. В критических ситуациях берет на себя ответственность и риски.
Еще напрашивается сравнение: ребенок (junior), подросток (middle) и взрослый (senjor). Основная задача junior'а, как и ребенка — учиться и не наделать фатальных ошибок. Middle, как подросток вроде уже почти взрослый, но сколько еще времени пройдет, прежде чем он набьет нужное количество шишек, остепенится и будет думать не только о себе. Senjor — это взрослый: в состоянии позаботиться о себе и о других, об общем деле. Стреляный воробей, так сказать. Может достигать действительно больших высот, если оторвет кое-что от стула.