Я уже более двадцати лет работаю с талантливыми молодыми людьми, которые должны стать программистами. Многих из них, в отличие от уже ставшими программистами, я люблю. Считаю, что у меня есть на это основания. Расскажу несколько эпизодов из своей жизни, а Вы оцените, прав или неправ я в том, что только что сказал.
Эпизод 1. У меня дома не было Wi-Fi, и мне на работе дали «коробочку», обеспечивающую решение этой проблемы. Я сам даже не пытался ее поставить, а попросил заехавших ко мне на полчаса двух своих выдающихся тридцатилетних выпускников, которые за свою жизнь, я думаю, не один десяток раз ставили такие «коробочки». Они взялись за ее установку с большим энтузиазмом, но прошло минут десять, а «коробочка» не сдавалась. Один из ребят продолжал с ней бороться, а второй спросил, нет ли у меня еще одного компьютера. После того, как он его получил, молодой человек лег на пол и стал читать, что пишут по рассматриваемому вопросу на форумах. Но и это не помогало… Полчаса заканчивалось, и ребята стали нервничать, так как их кто-то ждал, но бросить меня в этой ситуации по природной порядочности они не могли.
Недалеко от меня находился небольшой компьютерный сервис, в котором кое-что для компов продавалось. Я предложил срочно подъехать туда и купить «коробочку» (если она там есть). Мы так и поступили. Услышав нашу историю, хозяин сервиса сказал, что я пошел не тем путем, и вместо гениев для решения рассматриваемой проблемы надо было позвать его сотрудника, который «университетов не заканчивал». Естественно, что он не смог сбить нас с неверного пути, но предупредил, что деньги за купленную у него «коробочку» вернет через две недели, и то только при ее неисправности.
«Усталые, но довольные» мы вернулись домой, и ребята стали пытаться установить новую «коробочку», но и она не поддавалась. Когда с начала мучений прошло больше часа, ребята вновь вернулись к старой «коробочке», которая вдруг подключилась…
После этого мы на огромной скорости вернулись к хозяину сервиса и сдали то, что у него брали. Через две недели мне вернули деньги – «коробочка» оказалась неисправной.
Мораль: я понимаю, когда в военно-промышленном комплексе приборы делают в единичных экземплярах – с ними из-за отсутствия серии могут быть любые «заморочки», которые обычно устраняются большим числом испытаний, проводимых небольшим числом знающих людей, но когда нечто выпускается сотнями тысяч, а то миллионами штук, а на сотнях тысяч или миллионах пользователей этот продукт тестируется… В общем, у меня нет слов – одни буквы, и можно догадаться, какие…
Эпизод 2. Следующая неразрешимая проблема для мировой компьютерной индустрии – сопряжение проектора, установленного в аудитории, с подключаемым к нему ноутбуком. Каким бы опытом и знаниями в области компьютеров ни обладали люди, которые не являются профессиональными системными администраторами, они каждый раз решают эту проблему с большим трудом.
Мораль: не отличается от предыдущей, но дополнительно хочется сделать что-то нехорошее с теми, кто такое проектировал...
Эпизод 3. «Триколор ТВ» все время призывно просил меня в автоматическом режиме поменять программное обеспечение на приборе, установленном у меня дома. Вышеописанный опыт подсказывал, что, согласившись, я «попаду», но однажды я все-таки решился и ответил программе «ОК». Произошла загрузка, и у меня … исчезли все каналы – за исключением «Триколор ТВ Info».
Это меня не смутило, так как я помнил, что иногда связь со спутником восстанавливается через восемь часов. Спокойно ушел на работу, но когда вернулся, радости не прибавилось – у меня продолжал работать только этот канал.
Я позвонил в поддержку, и девушка, выслушав мою проблему, спросила: «А на …трехсотый канал Вы заходили?» Я взревел от удивления и спросил: «А что я там должен делать?» Мне спокойно ответили: «Продолжить загрузку». После этого я в повышенном тоне задал вопрос: «А почему это не было указано после завершения первого этапа», но он был, естественно, риторическим.
Я реализовал совет девушки, но ничего нового не произошло: «Триколор ТВ Info» победил снова, о чем я и сообщил девушке. Она благожелательно стало помогать (у нее, видимо, были железные нервы). Я по ее совету нажимал все новые и новые кнопки на пульте управления, пока не дошли до маразма: она стала руководить мною для выбора частоты (!) приема. После того, как мы поднялись и опустились на несколько герц вверх и вниз, что заняло минут пятнадцать, она прервала это безумие, спросила мой адрес и продиктовала координаты индивидуального предпринимателя, который сможет решить проблему, приехав ко мне домой. Это меня сильно обрадовало, так как, правда за деньги, появлялся «свет в конце туннеля».
Когда этот славный разговор закончился, я еще что-то понажимал на пульте, … и все неожиданно заработало.
Мораль: первые два эпизода были связаны с тем, что наделали зарубежные программисты, здесь же отличились наши – они создали такое, что заставляет десятки миллионов (!) людей вспоминать их недобрым словом. Интересно, насколько громко создатели в это время икали? Я, конечно, понимаю, что все хотят кормить себя и свою семью, и поэтому совершенствуют ПО, но, во-первых, причем здесь я, а, во-вторых, если без меня не обойтись, то почему это сделано через одно место, а, в-третьих, почему за все это, никто, по крайней мере, не извиняется.
Думаю примеров хватит. Обращаю Ваше внимание, что они связаны не только с ПО, но и с «железками», отличными от компьютера. При этом отмечу, что серийные сервисы «ПО + смартфон» и «ПО + компьютер» обычно работают значительно лучше.
Кстати, о смартфонах. Продвинутые программисты очень не любят «Айфоны», так как в них Джобс исключил простор для творчества. Что можно сделать с таким смартфоном? Потерять. разбить и перезагрузить, и только, а им так хочется, что-нибудь сделать такое… Что «такое» я имею ввиду, Вы уже прочли.
Конечно, и без «железок» далеко не все просто. Однажды я помог одному очень толковому молодому программисту устроиться на работу в социальную сеть, а через некоторое время встретился с его начальником и спросил, как работает мой протеже. Он сказал, что молодой человек в целом хорош, но с его появлением появилось две проблемы: он пишет код «перпендикулярно» к остальным членам команды, но главное в том, что он ни с кем не советуется, и, как бы не понимает, что при ошибке, в отличие от олимпиад ICPC, двадцать минут штрафного времени получают не только он и его команда, но ... и огромное число пользователей.
Мораль в этом случае каждый может сформулировать сам. Да она ничем и не отличается от того, что было сказано выше: если у Вашего продукта сотни тысяч или миллионы пользователей, то эти продукты должны быть сделаны не как Вы хотите или умеете, а так чтобы пользователи не проклинали Вас, несмотря на то, что Вы с ними не знакомы и, скорее всего, никогда не познакомитесь.
Сейчас в стране около 450 вузов выпускает чуть больше 40 тысяч IT-«специалистов» в год, из которых специалистов (включая математиков и физиков, которые пошли в программирование) тысячи две (при этом далеко все из них остаются в стране). Считается, что через несколько лет это число должно возрасти в шесть раз – до 240 тысяч (!). Интересно, среди толковых и оставшихся в стране будет такой же рост? Я боюсь, что в шесть раз могут возрасти не эти показатели, а число незавершенных программных продуктов, или таких продуктов, при использовании которых пользователей, по крайней мере, первое время, будет трясти.
Я за победу, но предлагаю воспользоваться призывом Суворова – побеждать не числом, а умением!
И в заключение. Если Вы программируете что-то для ответственных систем, у которых пользователей единицы, то тут незадача состоит в том, что Вы с ними часто знакомы и при ошибке Вам придется смотреть им в глаза, а еще хуже – их родственникам...
04.12.2019