Последний пункт можно было бы смело ставить первым, т.к. о нем часто забывают или не ставят в приоритет в процессе обучения. Но есть много примеров, когда 2 разработчика одинакового уровня устраиваются на одинаковую должность, и у одного прокачены софт-скиллы, а у другого нет. Угадайте, у кого будет больше шансов получить оффер и, скорее всего, более жирный? И часто бывают, что работодателю лучше взять более софтового разработчика потому, что работать в команде будет проще и лучше, а харды можно прокачать уже по мере необходимости.