Фундамент отличает серьезного разработчика от слабого. Фундамент долго создается, но потом позволяет быстро расти.
У Junior и даже Middle разработчиков фундаментальные знания часто отсутствуют — не многие понимают и чувствуют алгоритмику, на которой строится весь аппарат программирования...