В давние, давние времена - или разные мифы и практики, которые существуют в индустрии

привет, тора гой дневничок, речь пойдет о том, что все в принципе знают. Все нижесказанное не имеет четких границ проявления, все это можно наблюдать как в НИИ ГиТ, так и в каком-нибудь РосАтоме. Вероятно будет полезно начинающим тимлидам и менеджерам.

Копать отсюда и до обеда

. Итак, процесс индустриального программирования - это, если смотреть со стороны - процесс сидения жопой на стуле и смотрения в монитор на разные буквы. По крайней мере именно так все это видится со стороны. Соответственно неопытные или просто ебанутые, что чаще всего представители менеджмента ожидают увидеть в офисе ровные ряды спин с 10 утра до 18 вечера с перерывом на модное слово ланч. Эти же люди придумали оценивание программисткого труда в человекочасах или же строках кода. По сути, с одной стороны - в этом есть определенная доля смысла - ведь чтобы запрограммировать код, надо именно что сидеть жопой на стуле и смотреть в буквы. Но с другой стороны, код должен быть сначала придуман. Эта часть работы программиста как правило - наиболее творческая, потому как нет ничего творческого в генерации геттеросеттеров в идее. А творческая работа - это непонятный в деталях процесс когнитивной деятельности, сродни изобретению Архимедом закона имени его же, сидя жопой в ванне (ну или как там было). То есть она может случиться в самый разный момент - охеренная идея может прийти в курилке, или в борделе, или где угодно. Как следствие - вот все это сидение 8 часов жопой на стуле имеет прямое отношение к набиванию кода, но может не иметь вообще никакого отношения к его придумыванию.

Ебошить луки в коворкинге в лофте

. Следствием из предыдущего пункта - и другая крайность - это всевозможные новомодные соёбшества хипстеров-рубирастов, котрые в лофтах заливают в себя смузи и долбятся в ачько по парадным. Вся эта деятельность преподносится под гордым названием “креативность”, когда предполагается, что стоя в очереди в старбаксе - креаклу приходит в голову идея на 1 лям денег, он, вдохновенно роняя шарфик от Гуччи на пол, садится на него сверху худой жопой в обтягивающих женских джынсах на два размера меньше нужного, расчехляет боевой розовый ойпад в стразиках - и ваяет нетленку под гейось, которая моментально выходит на первое место по продажам в аппсторе. Все это, конечно, из разряда фантастики - но бывают конечно и исключения, вроде чуваков, которые в кабаке наваяли какой-то менеджер для фотачек для ойоса и срубили на нем реально семизначных сумм на морду лица. В описанном же случае креативность подменяет собой собственно процесс разработки как таковой, который требует определенной самодисциплины (фильму про кунг-фу, 5 лет ваять формочки для 1Ц прежде чем сенсей позволит писать юнит-тест для сервлета). При появлении подобных персонажей в коллективе - как правило, рабочие обсуждания накрываются женской половой пиздой, потому как персонаж может отсутствовать, у него может не быть вдохновения ну и все такое прочее.

Оно само

это самая распространенная фраза, которую можно услышать. То есть волшебным образом все вчера работало - а сегодня паламалас. И никто в этом не виноват, оно же само. Нет прямой зависимости от возраста, опыта, языка программирования, ориентации и половой принадлежности - все в равной степени подвержены Главной Отмазке Всех Времен и Народов. Тут важно понимать, что не всегда эта отмазка является отмазкой по злому умыслу. Довольно часто человек может быть уверен, что он точно-точно, мамой клянус ничего не менял нигде - но изменения в соседнем куске кода вызывают такие вот артефакты поведения системы. Из этого же феномена вытекает следующий.

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

И на осколках самовластья напишут наши имена.

Классика жанра имени студентов-олимпиадников, которые, придя на новый проект - сразу же знают как лучше, везде видят говно говно и еще раз говно и жаждут вывести всех предшественников в чисто поле, поставить лицом к стене и пустить пулю в лоб. Это, в общем, нормальная ситуация - когда человек, не обремененный опытом, но считающий что уж он-то, краснодипломник-выпускник БГУИР - знает все о проектировании сложных систем, не то что эти старперы-недоучки. Вся эта спесь сдувается после двух-трех десятков проебанных дедлайнов, получения своей доли граблей в лоб и понимания простой мысли, что не боги горшки-то обжигают, и чем шире твой круг познания - тем с большим количеством непознанного придется еще столкнуться. Многия знания - многия печали. Главное в случае работы с товарищами - соблюдать баланс между гноблением и поощрением инициативы, потому как не все те умные мысли будут нужны в проекте, равно как и не все рецпредложения будут не нужны в проекте.

Служи, сынок, как дед служил

Как правило, встречается среди товарищей, которые уже годами работают в одной предметной области, на одном проекте. Лучше всего это иллюстрирует анекдот <blockquote>Студент выучил на экзамен только про блох. Приходит садится, учитель спрашивает его про кошек. Студент, говoрит:

  • Кошки, это такие животные, у кoторых есть шерсть, а в шерсти есть блохи, а блохи, это…
  • Ладно! (перебивает его учитель), расскажи мне про рыб! Студент говoрит:
  • Рыбы, это такие животные, у которых есть чешуя, а еслибы была шерсть, то тогда были бы и блохи, а блохи…</blockquote> У человека в таком случае реально может быть перекошен мозг, и все проблемы решаются именно так, как принято в Том Самом Проекте. В терминальной фазе - если человек программировал на Ц++, и перешел на жабу - то он будет продолжать программировать на Ц++, но уже в жабе, со всеми вытекающими отсюдова недоразумениями. Легко идентифицируется по фразам типа “а вот у нас в %COMPANY% мы в %APPNAME% проблему решали через так”, даже если сейчас разговор идет про высокочастотную трейдинговую платформу, а в %COMPANY% они писали форум на ПХП.