Я - начальник отдела. Я провожу собеседования и по их результатам принимаю решение, брать на работу человека или нет. И именно с этой позиции могу сказать: высшее образование не обязательно, если ты понравишься на столько, что за тебя будут биться с отделом кадров. А там всё непросто. На должность инженера (а программиста на другую должность брать не могут) нужно либо высшее образование, либо девять и более месяцев стажа на должности инженера. Замкнутый круг. Как-то отдел кадров может обойти эту петлю и взять на инженерную должность того, у кого нет вышки и нет стажа инженера. Но мне пришлось долго биться с кадрами, чтобы они это сделали.
Если ты настолько хороший программист - тебя возьмут. Если нет - без высшего образования инженерной должности не получишь.