Почему программистам так трудно общаться с людьми
Все имена в данном произведении вымышлены, а события — выдуманы. Или нет?
Сегодня Настя рассказала мне интересную историю из своей работы. Настя репетирует по скайпу три иностранных языка (испанский, английский и немецкий) и даже преподаёт одному чуваку из Канады Español using English.
В последнее время у неё среди учеников всё больше программистов, и сегодня один из них сам спонтанно рассказал ей, почему программистам так трудно общаться с людьми.
«Понимаете», сказал программист, «машины детерминированы и работают по шаблону, а люди НеПрЕдСкАзУеМы. Нам трудно общаться с людьми, потому что вы не вписываетесь в шаблоны. А мы привыкли, что компьютер работает всё время одинаково».
На нас, людей, действует гугель факторов. Вспышки на Солнце, плохая погода, сегодня с утра в метро наступил кто-то на ногу, и так далее. 24 часа в сутки семь дней в неделю мы имеем дело со случайностями. И только в одном маленьком мирке компьютеры работают детерминированно.
Или, может, не работают?
Проведите простой эксперимент: отключите сегодня будильник и запишите завтра, во сколько вы встанете? Завтра день отдыха, воскресение (в которое в моей распрекрасной Австрии ничерта не пашет ), поэтому вы встанете, например, в 10:05, послезавтра — в 8:36, потом в 7:50, потом в 9:11. С самой первой и до самой последней секунды дня ваша жизнь — это рандом, подчиняющийся совершенно нормальному закону распределения. И вы на полном серьёзе считаете, что компьютеры как-то обошли это? Вы думаете, они как-то обманули Вселенную и начали работать по шаблону? У меня для вас плохие новости ))) Вселенная — это Техасский холдем. Вы не знаете карт соперника, но вы можете посчитать вероятность того, какие у противника карты в зависимости от того, какие у вас карты, и какие карты на столе. Это всё давно умеют делать компьютерные программы-подсказчики, игроки в покер в курсе и приведут примеры. Там всё очень детерминировано. Но что они не могут предсказать, так это вероятность блефа других игроков, потому что эта штука произвольная, находящаяся внутри компьютера биологического. Именно поэтому машинам почти невозможно состязаться на равных в покер с крутыми игроками. Да и не только в покер. Starcraft 2, Heroes of Might and Magic III. Дико популярные до сих пор игры, в которых компьютер проигрывает человеку по всем фронтам даже если ему снять «туман войны». Ну не угадает комп, какой именно билд выберет игрок. А вот человек человека может «прочесть».
Кстати, хоть компы и победили людей в шахматах, но вот в шахматах Фишера, в которых начальное положение произвольно, пока что с ними никто не пробовал воевать (апдейт 24.01.2015: в комментариях отметили, что таки уже начали с переменным успехом). А зря, я думаю современные алгоритмы там на начальном этапе свалятся. Одно дело — придумать хороший алгоритм для одной стартовой позиции и потом добить его шаблонными решениями, другое дело — потягаться с детищем шутника Бобби, где стартовых позиций 960. Это вам не квантовая физика, тут думать надо!
Так что вот вам и отгадка, почему именно программирование — отстой. Потому что почти всегда это попытка шаблонными решениями решить нешаблонные проблемы. Именно поэтому на своих собеседованиях я даю каждый раз немного разные задачи и хвалю за нестандартный, пусть и не совсем правильный подход. Зачем мне в команде человек-шаблон? Я понятия не имею, что завтра взбредёт клиенту! Мне нужно, чтобы программист был готов, что завтра клиент попадёт в автокатастрофу, и наш проект закроют, или что у клиента родится дочка и он на радостях перенесёт дедлайн на три месяца вперёд и выдаст бонусы. Или что фича, которую клиент так хотел месяц назад, теперь ему нафиг не упёрлась, потому что он наконец-то посмотрел на неё на стейдже, и понял, что она ему нафиг не упёрлась. И даже соизволил прислать об этом мейл! Человек-шаблон этого не поймёт и будет упорото педалить никому не нужный код, за который никто не заплатит килограмм хрустящих евро. Well, fuck that!
Так, и ещё, следующее поколение, которое будет зашибать большущие бабки — это геймеры, точнее геймеры, играющие сейчас в онлайн-игрушки. Trust me. Они и есть квантовые компьютеры, они и есть настоящие программисты. Программисты людей.
Найкращі коментарі пропустити