Pull to refresh

Comments 154

У Аркадия не фобия, он как раз нормальный инженер. В отличие от «программистов» вокруг него, у тех небось ещё и джинсы подвёрнуты. Вот если бы всё же было побольше Аркадиев типа mraleph… Недавно читал тут его статью, она мне сразу вспомнилась, как я про Аркадия начал читать.
Да, со стороны именно так и кажется. Но вблизи жизнь Аркадиев далеко не так радостна, как издалека.
Но это, в сущности, ничего не меняет в «фобии». Вернитесь мысленно на 100 лет назад. Если человек — хороший авиаконструктор, а эпоха изменилась и конструкторов нужны не десятки (так как в каждом сарае каждый свой «ероплан» мастерит), а единицы (так как выпускаются они теперь тысячими по одному чертежу), то он либо поймёт, что мир изменился, либо так и будет чувствовать себя ущербным.

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

Из статьи я сделал вывод, что Вам очень везло с коллегами ;)
Фобии у них, можно сказать, конструктивные, и то, что страхи, заставляющие (в конечном итоге) двигаться, делают жизнь немного неуютной — это фича, а не баг.


Если говорить про фобии (раздутые до комплексов, временами), которые делают профессионала, особенно из нашей области, несчастным — чаще всего замечал боязнь быть неправым.


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

Просто не всем удаётся (или везёт) найти соответствующую нишу. Там или платят мало (ниша тоже из прошлого века, а это зачастую производства, а они зачастую не особо живые и здоровые) или вот так «по верхам», когда не нужны широкие умения, а нужна или узкая ниша или сляпать из конструктора, от этого страдания (фобии — это, кажется, немного не про то).
Аркадий просто любитель велосипедов. ) Он принципиально не юзает API гугл карт, он сам создает понятные только ему алгоритмы вычисления расстояний и координат.
Нет, не так. Он использует API гугл карт, и знает их не хуже, чем разработчики из гугла. И сам создает решения уровня гугл карт. Не вместо гугл карт, а их уровня.
UFO just landed and posted this here
Ни чего что Гугл Карты разработали Аркадии?? :)
UFO just landed and posted this here
Похоже, Аркадий теперь — имя нарицательное.
UFO just landed and posted this here
Будучи из «поколения пепси» наблюдаю обратную картину, что «Аркадии» не хотят ничему учиться и пытаются делать так, как делали живя без интернета. Решение может и получается довольно эффективным (за счёт велосипедостроения), но не поддерживаемым, не читаемым и не масштабируемым. Методы на 500 строк, глобальные переменные везде, где можно и нельзя и прочая «радость».

Может и не те люди мне попадались, но очень часто, но описанный в статье типаж — ни разу.
Ну, Аркадий совсем не такой, как вы описали. Про велосипеды там речи нет.

Аркадию, скорее, надо менять окружение, искать равных себе и заниматься каким-то rocket science. Искать работу в организациях, где думают не в масштабах месяцев, а в масштабах лет.


Так что это вряд ли фобия :) Скорее недостаточно подходящее место он себе выбрал.

Не такой, в последнем абзаце я и написал об этом. Именно таких не встречал ни разу.
«Методы на 500 строк, глобальные переменные везде, где можно и нельзя и прочая «радость».»

Вам тут много раз повторяют, что Аркаша не такой, а вот по мне так вылитый он. :) Ещё могу дополнить портрет: возраст за 45, познания ограничиваются например анси си 89-го года разлива, и/или Перлом + CGI, Oracle 8-9, CentOS 5-6 единственная и неповторимая ОС и/или NT4. Любит длинные монологи про «молодёжь (т.е. моложе 35л) работать не хочет» и ковыряться с ламповыми усилителями/программируемыми калькуляторами или на крайний случай ДВК. Что самое грустное, часто занимают руководящие должности в силу солидности :)
UFO just landed and posted this here
Линус Торвальдс — типичный Аркаша… Или нет??

Т.е. Вам достаточно одного атрибута, возраста, чтобы убедить собаку в том, что она баран?

45 лет это те, кто в институте уже работал на и на ЕС1033 и на 286-ых, а выпускался при 486DX2-66… :-). Но они друг другу рознь. Многим ничего не мешает говорить: Я закончил программировать году эдак в 97-ом, так что расскажи поподробнее… Главное не иметь фобию «боюсь показаться дураком».

Все так и есть, я из тех и могу сказать, что закончил программировать в ~97 (хотя все еще тут).
Но, судя по комменту, многие "молодые" (на самом деле не только) программисты имеют низкую культуру написания кода ;).


Получают на вход функции обсуждения конкретный объект и если у того атрибут age>40 — можно первым делом переопределить все его параметры. Кроме ID, в надежде, что, если объект передавали по ссылке, вызывающая сторона подмены не заметит.

Аркадий — это художник, который продавал картины, а потом стал маляром и стал продавать израсходованное время и краску.
UFO just landed and posted this here
… ага, а потом еще и фотошоп. Только нормальные фотографы сначала пару лет по галереям ходят, смотрят шедевры, учатся в худ. школах. Посмотрите, например, как к делу подходит Андрей Сахаров.
перепутал, на самом деле — Игорь Сахаров
Проблема Аркадия не в том, что он «не такой как все», а в том, что он занимается не теми проектами, и поэтому испытывает дискомфорт
Пусть компонованием и потреблением фреймворков занимаются хипстеры — это их стезя
Такие люди как Аркадий должны решать более глобальные задачи, например разрабатывать операционные системы, писать драйверы, ну или как вариант, прошивку для электроники.
> Чего боятся программисты?

Как насчёт потери зрения, рук или альцгеймер / рак?
Все это, если можно так сказать, общечеловеческие фобии, присущие целым поколениям, странам и континентам. Но есть и чисто профессиональные фобии, которые вряд ли будут понятны представителям других профессий.
Альцгеймера можете не бояться. Все исследования говорят о том, что чем больше человек работает головой, тем меньше вероятность этой болезни.
UFO just landed and posted this here
А вы это высмеяли

Жаль, если у вас такое впечатление сложилось. Все герои — мои друзья больше 15 лет. Они прочитают эту статью.
Проходил мимо, никого из персонажей не знаю, но могу сказать, что высмеивания в статье и рядом не было, по крайней мере, не читается. Мне даже показалось, что достаточно доброе отношение.
А там что-то недосказанным осталось?
Сам по себе рассказ законченный, но я ожидал, что дальше вы расскажете чуть подробнее про автоматизацию изменений. Интересны варианты решений.
Хорошо, поставлю в план. Спасибо.
Но для правильного руководителя работа с фобиями — это настоящий клад, потому что открывается почти прямой доступ к мотивациям человека.
Потому что можно «расширить и углубить»(с)
То есть описанные вами люди работают не так, ка требует рынок сейчас? А каков ваш идеальный специалист?
Я, если честно, не знаю, как требует рынок сейчас.
Идеального еще не придумал.
Вот и я об этом. Всё меняется. Требования к специалисту тоже меняются. По моим наблюдениям бизнес платит либо за сокращение издержек, либо за дополнительную прибыль. И моя задача, как специалиста, обеспечить бизнесу такую возможность, постоянно совершенствуя навыки. Одна проблема — область знаний расширяется, и есть постоянный выбор — либо вширь (а значит неглубоко) — либо вглубь, что несет риски специализации. Поэтому мой выбор — сохранять гибкость, углубляя знания основ, но быть в курсе прогресса, пробуя его на зуб. Но так печально, что большие системы делаются всё большими коллективами…
Я всегда боюсь, что у меня в продакшене что-то внезапно само отвалится.
Вот интересно, такой страх только у программистов? У меня есть строители, знакомые и родственники. Не припомню, чтобы кто-то из них боялся, что рухнет дом, который они построили. Знакомые хирурги боятся только инструмент забыть внутри.
У строителя плита в процессе сборки дома не меняет свои характеристики резким и непредвиденным образом :-(
Ну почему же. Когда на первом этаже прорубили несущую, чтобы сделать вход в магазин…
А потом может быть так:
Обрушение дома в Междуреченске
Нельзя так делать без перерасчета проекта. А это, как мне рассказывали, геммороя до хрена.
П.с. что-то по запросу «обрушение дома» как-то очень до… [много] видео высыпалось… Кажется, я так фобию заработаю :-)
Когда это строитель-архитектор-всё-в-одном при строительстве частного дома, то у него плита легко меняет форму под изменившуюся площадь без пересчёта характеристик. И спят такие, что удивительно, вполне нормально. Это случай когда заметили, а сколько он такого наворотил сам?
С другой стороны нет знакомых архитекторов, которые бы проектировали что-то серьёзное — там могут быть и бессонные ночи и терзания «всё ли предусмотрел» (мне так кажется).
Ну дык продукт «под себя» тоже легко меняет характеристики. И тоже, вполне себе нормально работает… Да и сайты-одностраничники очень тяжело сделать нерабочими.

С другой стороны, у меня отчим — архитектор. И он был в ужасе от последней работы. Потому что строили там, наплевав на все ГОСТы. Слишком маленькие конурки получались при максимально разнесенных несущих.
И ничего, запас по прочности сделали и норм — стоит себе домик со студиями меньше, чем у меня комната…
Имхо, вы сами ответили на свой вопрос.
У строителей, как правило, весь проект рассчитан на бумаге от начала до конца — откуда может появится страх, если ты знаешь все?
А вот программисты редко планируют, чаще «строят» на лету и не придерживаются каких либо принципов проектирования. Такой подход неизбежно приведет к каше в проекте, в котором тяжело отслеживать зависимости и тяжело понимать к чему приведет новое изменение — отсюда и страх — «а не пропустил ли я что-то».
У строителей, как правило, весь проект рассчитан на бумаге от начала до конца

Мы с вами каких-то разных строителей видели. Некоторые из них и писать-то не умеют, как дядя Толя, с которым я работал на стройке. У него не было никакой документации, он просто строил. Сначала из целых кирпичей, потом из битых, когда целые кончились. Потому что оплата за кубометры построенных стен. В итоге сделал окно не в том месте, на метр ниже запланированного. Получил в тыкву от мастера. Мастер всем бил в тыкву, кто не так работает. Например, водителю бетономешалки дал в тыкву, когда показалось, что тот по дороге где-то слил часть бетона.
Программисты планируют и проектируют. Строят на лету «разработчики» с аджайлом и без ТЗ. И строят они из кусков, которые спроектировали программисты.
Дядька Боб Мартин в таком случае «разработчик» который строит из кусков которые спроектировали «программисты»?? :D
Эм. А кто такой Боб Мартин? В вики их много, Бобов Мартинов.
UFO just landed and posted this here
Я не программист, а боюсь этого! Заглядываю в продакшены по ночам и на выходных, чтобы убедиться, что все ок.
Я всегда боюсь, что у меня в продакшене что-то внезапно само отвалится.

Как отвалится, так и пофиксим. Ну посидят пользователи немного без одной нужной страницы, это же не конец света. Не медицинское оборудование разрабатываем, никто не умрёт.

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

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

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

П.С. а вообще я боюсь ядерной войны и это не шутка
UFO just landed and posted this here

Угу. «Некогда нам топоры точить! Мы тут лес рубим» :)

Мне кажется, в 2018 на большинстве проектов у программиста нет времени во всём досконально разобраться, да и не требует большинство методологий этого. Если есть возможность прогнать на большом наборе тестовых данных, то лучше прогнать и не усложнять. Но нужно чутьё: где можно тяп-ляп, а где лучше прочитать документацию (или даже осознать, где могут быть опасные места и под них написать тест).
Собственно, для того и создают API, чтобы быстро использовать, а не разбираться в нюансах (потому что самому написать выйдет быстрее, чем досконально разобраться).

Пояснение области применимости моих размышлений: есть TCP, многие им пользуются. Очень маловероятно, что всем так уж нужно досконально знать каждый параметр, но неплохо бы знать, что они есть и где почитать, какой подкрутить, в случае возникновения проблем.
«прочитали доки и вперед», — это еще неплохо, хуже когда прочитали «C++ за 24 часа», приправили SO и вперед.

Скажу про себя. Эти фобии больше зависят от проекта, чем от человека:
Фобия выкатить в релиз. Каждый раз боюсь выкатывать новую версию кода в релиз. Особенно если правок произошло достаточно много с момента последнего деплоя. Лечится частыми и мелкими релизами, тестированием изменений другим человеком и автоматические тесты жизненно важных частей системы. Хотя, фобия часто остается. Особенно, когда ты единственный кодер и вся ответственность на тебе.
Фобия что-то менять в коде. Обычно прослеживается в монолитных сложных спагетти системах. Тут естественно поможет TDD, что улучшит качество кода в разы, компонентный подход и нормальное наименование переменных/функций/классов/namespace'ов/п.р… Про комментарии не говорю, потому что хорошая архитектура и грамотно написанный код намного лучше любых комментариев.
Страх брать сложные задачи. Не всегда это последствия лени. Пожалуй, это скорее последствия первых двух фобий, когда ты просто боишься сломать все, что уже сделано. Особенно, если можешь получить от этого втык. Лекарства все те же: тесты, хорошая архитектура и чистый код.
Это то, с чем столкнулся я. Сказать честно, думал, что в статье речь пойдет о подобном. Но нет. Тут все намного глубже.
Если говорить о подобных психологических моментах, то сейчас я боюсь работать с другими людьми. Всю свою карьеру работаю один удаленно. Ни разу не работал в команде. Если вдруг начальство решит взять еще одного человека, я даже не представляю, как я ему буду объяснять, что творится в моем коде.

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

У разработчиков (точнее SRE) Гугла есть так называемый бюджет на ошибки, почитайте вот тут: landing.google.com/sre/book/chapters/embracing-risk.html

Выкатывать хотфиксы сразу в прод — а вы рисковый. С точки зрения SRE, сначала безусловно делается rollback к предыдущему релизу, а уж потом анализ причин поломки, исправления и т.д. Roll forward — только для чего-то не очень критичного.

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

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

>Хотя, фобия часто остается. Особенно, когда ты единственный кодер и вся ответственность на тебе.


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

Все бы ничего, но если ты один кодер/верстальщик/дизайнер/тестер на весь проект, то времени и сил тестить "побольше" как-то совсем нет.

А бояться время есть? ) А если серьёзно, то наверняка же тестируется хоть как-то, если не мелкий баг-фикс.

А на "бояться" как-то время не уходит. В проект только недавно внедрили автоматическое тестирование, а кодовая база уже немаленькая. Поэтому тестами покрываются сначала самые важные части системы, без которых функционирование сервиса будет совсем невозможным (Unit тестирование, тестирование API и п.р.); тестирование очень хрупких частей, изменение которых может повлечь за собой неадекватную реакцию на действия пользователей (в нашем случае — это тестирование правильного распределения прав доступа); а потом на то, что сломалось, стараюсь написать тест и поправить ошибку. Естественно, при внедрении новых функций стараюсь писать тесты, если это необходимо.

Я про обычное, ручное тестирование.

Недавно наняли одного человека, который тестирует новые функции. Стало намного лучше. Но не может ведь человек тестировать одно и то же каждый раз. Для этого и пишутся автоматические тесты. Естественно, ручное тестирование и раньше было, только очень посредственное. Для этого даже сделали специальный тестовый сервер, на котором все можно безопасно опробовать.

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

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

Судя по последним веяниям большинство программистов боятся память сами выделять, а у вас это ерунда какая-то.
Еще боятся, что очередной баг окажется тем самым «багом компиллятора», ну все же знают что такого в реальной жизни не встречается, а потом бац — реально баг компиллятора, вот это жуть жутьчайшая!

segfault в php-fpm к ним относится? )

Боюсь пропустить говнокод во время code review.
Иногда побаиваюсь сложных задач.
Боюсь языков программирования со слабой типизацией.
Уверенность в том, что его код читают, заставляет Аркадия работать соответствующим образом, тратя массу времени на бессмысленную оптимизацию.

Не уверен, что имееется в виду под бессмысленной оптимизацией, но уверен, что со стороны не видно, или легко забыть, что код обязательно читают. Пусть это будут не другие коллеги, но это будешь другой ты. Ты сам через 3 месяца или через год, но ты обязательно окажешься тем человеком, который видит этот код как в первый раз в жизни.

Сильная типизация в совокупности с функциональным программированием захватит мир и мы все(почти) окажемся Аркадием!
Ну хз, если хватает смелости это заявить публично, то думаю вы все же в данном тезисе не совсем правы.

P.S. Мне тут задница нашептывает, что это возможно такой юмор с вашей стороны… ну, в принципе он удачный ;)
нуу, наблюдаю последнее время за собой, жизнь в большом городе, изменила меня в лучшую сторону, я рад за себя
image
У меня сложилось так, что с самого начала своей недолгой карьеры на подавляющем большинстве проектов я работал один, отвечая либо за весь проект либо за какую-то составную часть проекта (клиент, сервер и т.п.). Следовательно, отвечая за свою часть проекта, у меня все под контролем: я знаю какой код за что отвечает, я вижу как добавить новый функционал, при необходимости я свободно могу провести рефакторинг. Весь проект у меня в голове, сам принимаю все решения и за все отвечаю. Работаю в таком ключе от проекта к проекту достаточно продолжительное время. После чего меня закидывают на проект в качестве рядового, где над его частью, за которую обычно отвечал я сам, работает команда, потому что проект большой, работы больше, сроки меньше. Отсюда у меня сразу возник дискомфорт от отсутствия свободы, которую я обычно имел, работая один. Более того, мне пришлось столкнуться с чьим-то мнением и чьим-то кодом, что далеко не всегда совпадали с моими представлениями о том, что и как делать. Я потерял всю ту власть, которая у меня обычно была, и теперь приходилось ее делить. Вернувшись после этого в одиночное плавание я почувствовал облегчение и свободу, руки творца были развязаны. После нескольких таких переходов между командными и сольными проектами, у меня выработалась «фобия» работы в команде и появилось много вопросов, как я к этому пришел. То ли это первые годы работы в одиночку? То ли непомерное эго, что мне нужно с кем-то делить свою прелесть? То ли это выход из зоны абсолютного комфорта? Может быть неудачные команды? Может быть влияет мой личный характер, где один из плюсов работы программистом для меня это минимум общения с людьми? Или это все вместе? Главный мой вопрос в том, стоит ли бороться с этой фобией, терпеть, мириться и искоренять, или наоборот пользоваться этим и работать с полной отдачей там, где комфортно? Интересно, сталкивался ли кто-то с этим еще.
Тоже обычно работаю одна на проектах. Когда приходится работать в команде, то начинаются фобии по качеству кода и стилю кода данного проекта.
«Кто трогал мой код».
Лучше все-таки научиться работать в команде. Надо относиться к этому как к возможности узнать новые подходы, улучшить свои навыки. Когда половина компонентов незнакома, и твои тоже кто-то может изменить, это способствует написанию более качественного и независимого кода.
остаться на обочине, впрочем это касается не только программистов
У Аркадия, по-моему, не фобия, а просто иной стиль работы. Конечно, если довести его до крайности, то (как и любая крайность) он становится контрпродуктивным. С другой стороны, противоположный стиль (ни во что не вникаем и на каждый чих ищем подходящий проект и тут же делаем зависимость) тоже ни к чему хорошему не приводит (см. left-pad).

У меня фобия простая и основана на большом и весьма болезненном опыте — боязнь что-либо менять в своём проекте (не добавлять, а именно менять поведение, даже при исправлении багов). Ибо опыт подсказывает, что даже небольшие и, казалось бы, совершенно невинные изменения обязательно что-нибудь ломают, что может (и так часто было) вылиться в потери денег, и очень больших (к счастью, не моих, а фирмы, но всё равно неудобно). Так что очень часто, видя откровенную кривизну (или просто плохо написанный код, часто тобой же N-цать лет назад), усилием воли подавляешь зуд в руках и произносишь классическое: «Солнце точно всходит? Точно заходит? Ну так и не трогай».
Если боитесь менять существующий код, может просто связность высока и поэтому потерян контроль над кодом? Я за собой именно эту проблему замечал — стоит усложнить взаимодействие объектов в коде, всё приплыли — сам не понимаю как мой собственный код работает :)
Вот да, соглашусь. «Боязнь» что то менять у меня обычно возникает только если не понимаю как это работает, как может затронуть другие места.
Потому, нещадно убеждаю других доводить код до такого состояния — чтобы всем было понятно.

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


Доктор, все плохо?

Видно у Вас однообразные проекты.

Хз, не жалуюсь: CAD'ы и EDA, ERP'ы там всякие, симуляторы, около-SCADA и даже системное ПО. О! Даже в игрострой как-то заглядывал, пару раз.

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

Я про универсальную систему ничего не писал :-)
Я написал только то что код и компоненты должны быть легко оторгаемым, хорошо спрятанным за абстракциями и использоваться больше одного раза

А всё же. Не боимся ли мы остаться без Аркадиев? Используя аналогию выше. Про авиаконструкторов: Да, массово нужны авиаремонтники, но раз в 30 лет понадобиться и Главный конструктор. А он сейчас «нерентабельный», отчасти высмеиваемый. Вот фобию у него обнаружили.

Вообще авиаконструкторы нужны не раз в 30 лет, а каждый день. Просто не все умеют или хотят клеить самолетики.


А том то и пичалька.


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


У железячников аналогичная ситуацию: Любят ставить ПЛИС туда, где один транзистор справится :-)


В железячной

Тоже не «Аркадий». С сожалению.

Но как-то сохранить инженерную культуру нужно пытаться. Эта важная задача бизнеса, и/или государства. (А то конкуренты-то борют.)

Радует уже то, что руководители стали разбирать эти ситуации, а не делать скорые выводы о «туповатом задроте». Поэтому «неистово плюсую». И рекомендую Аркадия пересадить на участок ответственных (server side / hi load) работ, или отвести роль наставника. Если самооценка не окончательно загублена.
UFO just landed and posted this here

Или переквалифицироваться в техлиды/архитекторы/р&д с одной из основных функций выбирать/одобрять стэк команде(ам).

UFO just landed and posted this here

Копаться в чужом коде будет основная обязанность — или в коде сторонних продуктов, чтобы одобрить их в разработке, или в коде разработанного командой(ам) чтобы одобрить выпуск в прод, типа авторского надзора. Захочется самому покодить — придётся научиться доверять, да :)

А ещё программисты боятся автоматизации программирования, но не очень сильно, т.к. до этого далеко, не так ли?
Нет, не бояться … Просто будут делать это другим способом, на других языках. Возможно с сильной типизацией и в функциональной парадигме (как Letsrock85 ;). Наверняка больше времени будут тратить на выбор архитектуры ПО, в которой учтут прогнозируемые изменения условий эксплуатации, или ещё какие-нибудь требования «высокого порядка». Будут применять системы формального доказательства алгоритмов, симуляцию поведения системы в целом. Надеюсь, это будет просто и массово, как сейчас можно встретить склейку чужих и не проведенных библиотек. Будут, конечно, и framework’и, и SaaS’ы.

Правда и ожидать, что входной билет в эту область станет дешевле не приходиться.

Хотя … если честно. То какую-то большую часть «нынешнего программирования» действительно можно отобрать у человека. А для кого-то это «и хлеб, и масло»….
Я стараюсь, но пока не получается понять что такое функциональное программирование.
Я ожидаю, что в будущем любой сможет легко создавать себе программу, отчего обычные программисты переведутся.
Но получающиеся программы будут громоздки и далеко неоптимальны по скорости, отчего настанет время Аркадиев, которые знают систему от и до, и как её улучшить.
Т.е. программисты всё это время поднимались вверх, создавая всё более лёгкий способ создания программ. Но достигнув предела простоты создания (и пределов производительности процессоров) им придётся спускаться обратно в низкие уровни — сражения будущего будут идти за эффективность.
Поинтересоваться, а почему думаете именно в функциональной парадигме?
Мне кажется, что популярные нынче функциональные языки типа F# или Haskell как то уходят от математически четкой декларативности, а без этого, потенциальная мощь подхода сильно снижается. Даже вот первый пример на Wiki — да мало чем отличается от императивной версии.

На мой взгляд, если уж программирование останется в каком то виде (и нас не заменит ИИ), то языки буду становиться всё более предметно-ориентированными (DSL) и абстрактными.
В постах выше было упоминание о ФП … не прошел мимо. Хотелось бы излагать задачу в терминах «чего хочу», а не «сделай это». Разница как между select и for each. Вот только боюсь, что буду не способен все так выразить. Видать не только я. Из-за этого и получаются языки, поддерживающие обе парадигмы.

"SELECT" это повелительный глагол, это "сделай это". Декларативность SQL по сути заключается в том, что не нужно вручную формировать план запроса. Емнип, принципиальное отличие между ISAM и MyISAM было в отсутствии необходимости указывать индексы — оптимизатор MyISAM сам смотрел есть ли пригодные для использования и стоит ли их использовать, а ISAM ждал явных указаний.

UFO just landed and posted this here

А с людьми, в Вашей модели, руководитель работает?

UFO just landed and posted this here

Спасибо, т.е. Вы имеете в виду психиатрический термин. В таком случае — согласен.
Тоже уверен, что автор имел в виду "некоторые страхи", а не клинические отклонения. Место и стиль статьи не предполагают.

А давно ли низкая самооценка и нерешительность из-за этого; перфекционизм и прокрастинация из-за этого; взгляд на жизнь — стали фобиями? :)

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

Про первое — не знаю ;). Но не осуждаю автора за художественный прием.


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

Если заменить руководителя на лидера, все равно останетесь при своем мнении?
UFO just landed and posted this here
Я боюсь, что когда-нибудь проснусь утром. Откроу черновик изменений в стандарте Java 25 и не запомню. Тупа не запомню, как раньше, как в молодости! И будет
image
Мне кажется, этого не бояться надо, а радоваться. Поскорее бы нашлась реальная причина так сказать про программирование.
А вот представьте, я однажды так проснулся. У меня сильно ухудшилась память, концентрация внимания, интеллект. А еще мне стало трудно читать. Всему виной шизофрения. И можно забыть о программировании на долгие годы, может быть, навсегда.

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

Да, но сильная разность потенциалов с остальными разработчиками иногда делает его несчастным. Вплоть до того, что он хочет стать глупее.
Читая историю Константина, подумал как ему повезло в итоге встретить такого начальника. Начальник с примесью психолога. Да хотяб просто не равнодушный человек.
Таких мало, я за жизнь видел двоих. Но сейчас этому учат — например, эмоциональный интеллект. Хотя, это, наверное, не то.
Понятие эмоционального интеллекта появилось не вчера. Но сам эмоциональный интеллект у всех людей развит по-разному. Как и логический, как и творческий.
С высокой вероятностью начальник сам через что-то такое прошел, поэтому и смог уловить схожие проблемы у подчиненного.
Нигде не встречал (включая МВА), чтобы руководителей целенаправленно учили работать с фобиями. Психологическое образование не подходит, там совсем другой тип взаимодействия.
Интересно, насколько может быть востребовано такое обучение?
Если вспомнить, что фобиям подвержены процентов 100 людей, то такое обучение было бы полезно. Востребовано — вряд ли, т.к. это более высокий уровень для руководителя, чем просто указания раздавать.
Довелось мне после колледжа (лето 2012г.) устроиться в небольшую конторку, где я работал по сути сам по себе и без наставника. По началу, пару месяцев, казалось довольно классным, что никто не сидит рядом и не критикует мои решения и код. Потом начало закрадываться сомнение в правильности происходящего, постоянно казалось, что код хоть и работает правильно, но решение не верно/не оптимально/есть способы проще и лучше и т.д. Так продолжалось месяцев 6 и даже начали проявляться следы депрессии и постоянных переработок, потому что результаты каждого реализованного решения оставляли чувство недоделанности и приходилось сидеть до 2-3 ночи, с целью переписать, отрефакторить и сделать лучше, дабы удовлетворить своего внутреннего перфекциониста. Переломный момент наступил в марте 2013, когда окончательно задолбавшись, взял сначала больничный на 2 недели, а после ещё и отпуск на 2 недели. За эти 4 недели сбросил всё, что накопилось за 8 месяцев, переосмыслил подход к работе, начал активно лазать по гитхабу, хабру, скачивать открытые проекты с целью изучения кода и того как его надо писать, какие решения лучше создавать, если задача изначально узконаправлена и не предполагает каких-то будущих интеграций. После отпуска пообщался с начальством, наняли ещё 1 программиста, с которым в паре мы уже более активно принимали конкретные решения и способы их реализации, плюс работали друг для друга своего рода стоп-кранами, чтобы не усложнять простое и не вгонять себя в дебри никому не нужной работы. Как итог данной перезагрузки, сейчас четко по задачам определяю стоит ли делать какое-то универсальное решение или же хватит узконаправленного на конкретную задачу, полностью избавился от чувства собственного несовершенства, не скажу, что всегда пишу хороший и оптимальный код, но это меня уже тревожит в намного меньшей степени, чем было по началу
Ваша история похожа на историю Геннадия, так?
Похожа, но к сожалению свои работы не выкладываю :(
Спасибо автору за статью. От себя хотелось бы добавить, что есть еще одна самая страшная фобия программиста. Такой фобией является проэкт с стршной архитектурой вместе с говнокодом и старыми бывалыми «прогаммистами», которые верят в свой шикарный код, который трудно майнтейнить, а тем более расширять. Сам попал в такую команду и к сожелению самой большой проблемой стал не проэкт, а люди, которые ничего не хотят менять. К счатью со мной оказался единомышленик, но вдвоем столкнуть проэкт с места, где все написано не правильно(в голове возникает мысль, это писали какие-то школьники) столкнуть с места задача не подъемная. В общем говнокод и говнокодеры — это самое страшное, а также «программисты», которые занимаются самообманом и верят в свой s.t.u.p.i.d. код.
Хм… встречал я такое, только с обратной стороны, когда пришла пара супер крутых умников и стала нам наш «говнокод» выправлять, год пыхтели, выкатили и все встало, просто намертво. Т.к. все их правильные и модные подходы не учли кучи вещей, которые в изолированном состоянии проблем не вызывают и флажков в тестах не поднимают. В общем после их улучшений остальные 30 человек полгода старались заставить систему работать хотя бы как раньше. А не любители говнокода просто пошли дальше, с чувством выполненого долга.

И я уверен, что позже появились новые пионеры, которые новый код и дизайн назвали говнокодом и предложили новое прогрессивное решение которое решит все проблемы.
Безумно интересны такие случаи. Можете рассказать подробности?
Указывать детали о компании и людях с моей точки зрения не этично.
Фобии Аркадия — мне ближе всего. Как же я стар… вот ведь.
Моя фобия — что я буду делать после 45? Когда ты ищешь работу в 35, уже некоторые косятся на «возраст»…
Программирование как область деятельности потихоньку стареет, средний возраст растет вместе с нами. Так что лет через десять программист в возрасте будет гораздо более распространенным зрелищем чем сейчас.

Косятся, потому что эффективные менеджеры хотят сэкономить на зарплате.

У нас в компании полгода назад взяли мужчину 52 лет. За 6 месяцев никто ни разу не пожалел о данном решении, а молодым, <30 лет, форы даёт будь здоров :) Как он сам говорит: «первые 45 лет жизни набирался опыта, теперь пришло время по настоящему поработать» :)
Я бы пожалуй с Аркадием в разведку пошел проект написал. Побольше бы таких, с фобиями или без.
UFO just landed and posted this here
Вы с ним знакомы? Или со мной? Мне вот кажется что мы вполне бы сработались.
UFO just landed and posted this here
Разве можно быть в чем-то абсолютно уверенным? Но судя по описанию — да. А вообще, нормальные люди не отказываются от убеждений, они ищут компромиссы, и у многих вполне себе получается.

Здесь, мне кажется, лучше не программистов "лечить", а найти подходящий проект под способности Аркадия и Геннадия. В идеале.

Sign up to leave a comment.

Articles