А какво точно разбираш под "програмист" и за кой точно вид се говори в тази или онази теза за полезността на висшето образование?
Добър въпрос, генерално моята дефиниция за програмист почти се покрива с тази в уики-то - човек който може да създава и/или променя софтуерен продукт.
Сега на колко вида можеш да ги разделиш е много спорно и заслужава отделна тема - архитекта дето не пише директно код програмист ли е или не, интегратора на системи който понякога само конфигурира опции? Да кажем обаче че за целите на спора говорим за всички видове програмисти.
Да бе, ама разликата е принципна. За да илюстрирам по-добре, нека да сравним хората, които се занимават с метали:
Има примерно фрезист. Той трябва да различава различните метали, за да знае най-добре как да ги обработва. Трябва да може да чете чертежи, да има пространствено мислене. Да познава различните фрези. Евентуално, да си има представа за програмиране на фрези с ЦПУ и евентуално да може да ползва CAD/CAM системи.
Има леяр, който трябва да знае процесите на металолеене, да работи в голям екип, отново да си има някакво понятие от металознание и разбиране на процесите в металургичната пещ.
Има специалисти по металознание и теория - те са тези, които изучават металите и сплавите и измислят какво с какво трябва да се сплави, за да се получи сплав с нужните свойства. Трябва да имат дълбоки познания в теорията на металите, вътрешната структура, кристалография и даже квантова химия/физика.
А има и оператори на автоматична щанцовачна линия, които трябва да познават само софтуера на въпросната линия и да знаят кое копче да натиснат, за да пуснат линията и кое винтче за затегнат, ако щанцовката излиза с 0.2мм по-наляво от нужното.
И сега, как може да се твърди, че за всичките тези специалисти подхожда само един тип образование??? И да се спори само за това дали това образование трябва да е висше, средно или въобще курсове в софтуни.
Същото е и с програмистите. Те са безброй видове, само разговорната терминология не се е развила още и всички ги водят "програмисти".