Ты правда хочешь продолжать заниматься этим, когда тебе исполнится 50 лет?

в 9:40, , рубрики: мысли вслух, Программирование

Когда я еще был профессиональным программистом, мой коллега однажды спросил меня: «Ты правда хочешь продолжать заниматься этим делом, когда тебе будет 50 лет?».

Я должен сказать, это заставило меня остановиться и подумать.

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

Но, к сожалению, программирование заключается в другом. Это попытка создать работающее решение для проблем, которые ты не понимаешь полностью и у тебя нет времени понять.

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

Это чтение документации между строк и попытки предугадать как будут обрабатываться крайние случаи, и будут ли верны твои предположения через два месяца или через два года.

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

Это когда вся работа может остановиться из-за мелкого бага в, казалось бы, надежных инструментах. А ты оказываешься первым человеком, столкнувшимся с тем, что PNG изображение с четырьмя битами на пиксель и альфа каналом крэшит декодер и тебе надо как-то это обойти.

Один из подходов – это углубиться в проблему и всеми силами пробираться через препятствия. Если ты молод, в офисе есть неограниченный запас кофе и все твои друзья тоже еще в офисе в 2 часа ночи, то… конечно, это — вариант. Но потом, тебе нужно делать это снова. И снова. Это всегда как занос на скорости 200 км/ч, в котором дымятся тормоза и рвутся шины, определяющий успех или провал. Но ты чудом остаешься жив, чтобы сделать это снова.

Мне все еще нравится делать разные штуки, и если это некому больше сделать, я сделаю это сам. Я продолжаю совершенствовать свой маленький скрипт на Perl, который собирает этот сайт, потому, что этот маленький скрипт ненавязчив и надежен, и позволяет мне сосредоточится на написании статей. У меня есть удобный небольшой инструмент обработки изображений, который написан на C и Erlang, а его исходный код занимает меньше, чем 28 килобайт. Я знаю как он работает внутри и снаружи, и для меня быстрее внести в него изменения, чем заставить ImageMagick сделать то, что я хочу.

Больше ли стресса, в больших масштабах разработки? Должен признать, что да. Все-таки, это удел молодых.

Автор: truezemez

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js