Показаны сообщения с ярлыком мысли. Показать все сообщения
Показаны сообщения с ярлыком мысли. Показать все сообщения

четверг, 1 августа 2013 г.

Мысли вслух, или не могу больше молчать


Отправили мое резюме в одну фирму. Фирма довольно долго думала и в результате выплюнула следующее:
"У нас командная работа (Scrum) и удалённая разработка из дома неприемлема. Только полный рабочий день и тесная работа в команде.

В остальном, кандидат конечно интересный."

Ай, как я люблю такие фирмочки. Сказать что над этим комментарием мы ржали в составе 35 человек из числа распределенной команды iDecide - ничего не сказать. Мы уже давно придерживаемся идеологически достаточно строгого agile и, хоть официально и не рекомендуется, работаем все удаленно (исключение составляет управление и маркетинг). И ничего, подчеркиваю, ничего не случилось плохого. Почему? Да потому что топы компании и среднее звено руководства - весьма и весьма грамотные люди, которые построили процесс, создали идеологию и (ВНЕЗАПНО!) все прекрасно работает и не разваливается.

Ребята, ну все же очевидно! Подобного рода утверждения обычно означают: "Нетнетнет! Нам нужен жесткий контроль над ВСЕМИ сотрудниками! Иначе никак!". Особенно прикрываться SCRUM-ом от удаленной работы - это как прикрываться веганством от жесткого, неистового секса. 

Потребность в строгом контроле и абсолютное неприятие удаленной работы свидетельствует только об одном - сюрприз-сюрприз - были прецеденты, когда без такого управления, команда шла вразнос, люди теряли фокус и тупо забивали на работу. Что, в свою очередь, недвусмысленно намекает что команда собрана из несамостоятельных и ленивых людей + руководство не знает что с ними делать. А тогда какой у вас, к херам собачьим, SCRUM?! Нет, это в лучшем случае корявый Waterfall. Потому что нельзя построить SCRUM на паноптикуме таких вот кадров. Ну не будет это работать - плавали уже, знаем. 

Тем не менее, представители надувают щеки и прикрываются умными словами. Господа, к чему надменность? Все мы вылезли из женской вагины. Вас никто не заставляет публично расписываться в своем (не)профессионализме (на минутку, что вы и делаете, говоря про SCRUM и удаленку в таком ключе). Можно просто сказать "мы не заинтересованы в удаленном сотрудничестве", или "сожалеем, но политика компании не подразумевает такого формата". Лучше честно сознаться что "не хотим, не будем", чем понапрасну умничать. Фу.

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



воскресенье, 10 февраля 2013 г.

Extension-методы и разлом стереотипов

Сегодня сломались все мои представления о программировании на C# и extension-методах в частности, когда я увидел вот такой код:



1.Delay();
2.CreateThread();
3.WaitForUserInput();



А это оказались всего лишь extension-методы к int. Согласитесь, выглядит феерично.
Тут сразу же пришла на ум конструкция для более внятного кидания exception-ов:


"Access denied".InvalidOperation();
"File not found".FileAccess();
"Trying to instantiate incorrect type".FactoryError();
"Incorrect value: number expected".Validation<User>(u=>u.AgeString);

Полагаю, дальнейшие комментарии излишни.

понедельник, 3 декабря 2012 г.

вторник, 27 ноября 2012 г.

Мысль о goto в C++

В С++ нет столь удобной конструкции finally. Как бы печально то ни было, но это так. Есть подход с написанием define-а на finally в таком духе:

#define finally(FUNC) \
catch ( ... ) \
{ \
MLASTERROR;\
  FUNC\
  throw; \
} \
FUNC

Можно использовать goto. Как бы там Дейкстра его ни критиковал, в таком месте написать "один маааленький goto" (с) xkcd - можно и даже нужно. В метку по нему можно свалить освобождение ресурсов, условный вывод ошибок и все прочее, что должно делаться в С# в блоке finally.
А, картинка кстати вот: