Я могу про пхп в контексте работы, людей, команд, проектов рассказывать много, и исходя только из личного опыта. Но это надо пересесть с телефона, а то много букв.
Насчёт npm - это дно какое-то. Вот например, начиная с npm 5 появился файл package.lock, который фиксирует все установленные зависимости. Потом я выполняю npm install и он плюёт на зафиксированные в lock файле зависимости, всё обновляет! Wtf?