Jacob Baytelman - CTO, mentor, blogger

Программирование для гуманитариев


В прошлом посте я утверждал, что фактически наблюдается замкнутость профессионалов в своего рода семейных кланах или гильдиях. Конечно, есть техникумы и универы, где (якобы) готовят программистов, но в реальности выпускники этих заведений очень часто не дотягивают до уровня, необходимого для работы, и даже если повезет быть нанятым, работодатель "доучивает" на месте в процессе. Это так, потому что преподаватели "программирования" (в кавычках, потому что это очень обобщенно) очень далеки от практики и реальных задач как в области стартапов, так и в корпорациях.

Я регулярно получаю почтовые рассылки от организаторов курсов программирования. Все они сводятся к следующему: "мы только что выпустили очередную партию свежих программистов, может у вас в компании есть открытые вакансии?"

Вдумайтесь, курсы завлекают клиентов, обещая им содействие в трудоустройстве после успешного окончания учебы, при этом все их содействие основано на рассылке спама по айти компаниям.

Есть еще одна форма учебных заведений: всяческие курсы, академии и прочее, спонсируемые айти компаниями с высокой текучкой кадров. Тут все ясно: ноль карьерного роста, работа-конвейер с максимальным упрощением выполняемых задач на каждом этапе, низкие зарплаты, заменяемость каждого сотрудника по щелчку пальцами.

Мой бывший коллега, талантливый разработчик, написал в комментарии к предыдущему посту, что самое интересное происходит на стыке дисциплин и компетенций. Так точно!

С точки зрения классического гуманитария, процесс программирования есть перевод инструкций с человеческого на компьютерный язык. Отталкиваясь от этого, гуманитарий будет изучать программирование как грамматику иностранного языка. Будет находить аналогии в синтаксисе, запоминать типовые алгоритмы, как идиомы, таскать за собой из проекта в проект наработанные функции и классы, как заученные фразы и диалоги. Сможет ли гуманитарий таким образом писать работоспособный код? Смотря какой.

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

Но есть одна большая проблема. Обучать гуманитария писанию кода надо "по-гуманитарски", технари-практики, и тем более математики-теоретики, так не умеют. А кто умеет? Хороший вопрос, и как Джон Сноу, я хотел бы знать ответ.

Очевидно, гуманитарий, сам прошедший такой путь мог бы поделиться с другими гуманитариями, но
1) зачем ему делиться?
2) если он прошел этот путь успешно, то скорее всего он занят чем-то более интересным, чем преподавание.
Остается одна надежда - самообразование.

Кстати, аналогичная проблема есть у "технарей" с изучением иностранных языков. Гуманитарий - учитель английского/немецкого/французского не представляет, как "перевести" грамматику с фонетикой на язык "технарей".

Да, на стыке компетенций происходит много чего интересного. Сам знаю, часто там бывал. И вам рекомендую.

J.Baytelman March, 2018