вторник, 6 марта 2012 г.

[prog.work] Любопытная история

Люблю я всякие байки и истории из жизни. Поэтому не могу пройти мимо процитированной ниже истории (найдена здесь):

Расскажу свою историю работы в одной очень крупной компании. Было это года три назад. Пошел туда с нормальной программисткой конторы, где раньше писал медицинский софт. Большая компания к IT отношения не имеет, совсем не имеет, т.к. это энергетическая компания. Пошел туда по причине того, что ЗП было почти в 2 раза выше и гораздо больше перспектив, вплоть до беспроцентных кредитов на покупку жилья.

Для начала об аспектах, не касающихся говнокода. Режим, этот чертов режим! Начало рабочего дня в 8:00. Пару минут опозданий, выговор. Три опаздания, увольнение. Я два раза опаздывал и один раз не заметно опаздал, что не считается :) Дресс-код, а я ненавижу костюмы, галстуки, брюки. В них банально не удобно, если особенно сидишь целыми днями в офисе. И еще, я не люблю сидеть долго, люблю поразмяться и т.д. Пришел как-то с мячиком маленьким :) Начал в коридоре его кидать, пинать :)) Конечно же, выговор. А еще, мы как-то с друзьями с разных отделов засиделись в столовой компании. Ну как сказать засиделись, обед с 13:00 начинается, мы начали обедать в 13:00, за 15 минут пообедали и 10 минут просто общались, шутили, смеялись. Там все это время сидела на нас смотрела странная тетя. И вот, на 25-й минуте нашего обеда она подходит и дает нам замечание, что мы не работаем, а сидим тут бездельничаем и еще раз такое повторится, то нас уволят :) Потом я узнал, это была начальница какого-то финансового отдела.

Ладно, давайте про говнокод. Его там было много и на разных языках. Начиная от Дельфи с его постоянными Access Violation, ASP.NET/C#, 1C, VB. Кстати, лучший код с которым мне пришлось поработать, это как ни странно, было в VB :) Понятное дело, никто юнит-тестов не писал, вообще, такого понятия как тестирование не было вообще. Вася Пупкин писал код за 2 часа в режиме когда начальница отдела стоит над душой и каждые 15 минут приходит посмотреть, не готово ли все и потом, сразу же этот код пускается в продакшен. Это и биллинг и внутренняя автоматизация. Особо доставляла эта начальница, которая все время стояла над душой, каждые 15 минут. Сама она работала до 2 часов ночи, писала на 1С. Кстати, тот, кто работал до меня, оказывается спрыгнул с окна своего дома, купленного под беспроцентный кредит этой компании. Причины, мне никто не сказал. Но я кажется знаю, причину. Все же, давайте ближе к коду. Такая ужасная лапша была, что врагу не пожелаешь. Goto, глобальные переменные, да и просто каша. Все это напоминало карточный домик. Мои попытки выстроить нормальный процесс разработки, который включает хотя бы минимум тестирования, использование version control & bug tracker'а шли понятно куда. Что самое худшее, от меня требовалось тоже говнокода. Нет, я мог. Но, мое чувство прекрасного не давало покоя. И я решил, ну фиг с ними, буду пока писать говнокод, а параллельно напишу такую штуку, которая автоматизирует все это дело и будет написано нормально. По хорошему, мне требовалось около недели, чтобы автоматизировать этот процесс и уже не надо было писать-то, что они писали каждый раз по новому. И этот день настал, я был горд собой и презентовал свое решение. К своему разочарованию, получил отказ, знаете почему? Никогда не догадаетесь. Мое решение было настолько эффективным, что половины бухгалтеров этой компании можно было увольнять прямо сейчас. Сами понимаете, половину бухгалтеров, никто увольнять не хотел и мое решение было отбраковано. Все это мне напоминало одну большую фабрику, где каждый занят тем, чтобы быть хотя бы чем-то занятым и получать за это деньги. Благо у компании неисчерпаемые денежные ресурсы, получаемые от простого населения, расходы которой можно было оптимизировать на порядки. Общался с ребятами из других отделов, не IT, они тоже говорили, мол, могут запросто треть расходов сократить, что они идут впустую, но никому этого не надо.

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

Ах да, выдержал я в этой компании всего 3 месяца. Это наихудшее место, где я работал. Так вот, резюмируя хочу сказать. Если программист не будет совершенстоваться постоянно, в технологиях, в алгоритмах и не только в этих областях. То в конечном итоге, выбора у него не будет, кроме таких вот говноконтор. Если человек, банально не может перевернуть список, о каком Google, Yandex или даже MS может идти речь?

Автор: Zen Haker (он же __lambda__).

После прочтения подумалось:

  • как же здорово работать в конторах по разработке софта, где программист – это одно из главных действующих лиц. А не кто-то из обслуживающего персонала. Именно в следствие этого в нормальных софтверных компаниях нет ни строгого дресс-кода, ни жесткого рабочего графика;
  • когда начальник работает до 2-х ночи – это плохо. Авралы, на мой взгляд, это следствия чьих-либо просчетов. А уж когда так по черному авралит сам начальник, то понятно, чьих именно. И пока он так авралит ничего хорошего в отделе не будет, поскольку он и со своими-то проблемами разобраться не может;
  • программисты, они как дети – наивно верят, что сделанная ими “для души” программка способна оставить без работы половину бухгалтерии в крупной компании ;)
  • теперь понятно, откуда на профильных форумах столько функциональщиков – полагаю, изрядная часть из них на Хаскеле или ОКамле пишет ради того, чтобы на таких вот унылых работах мозги не атрофировались. А вовсе не зарабатывает себе функциональщиной на жизнь.

2 комментария:

Tatuagem комментирует...

Вообще невозможео работать когда кто-то над душой стоит.

eao197 комментирует...

@Tatuagem:

Это точно, особенно когда сроки поджимают.