среда, 17 декабря 2008 г.

Гуголь

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



На место встречи мы приехали на 30 минут раньше и все наши попытки самостоятельных исследований тут же пресекли местные охранники на идиотских электрических машинках.



Собственно тяга к электромобилям тут видна невооруженным взглядом. Вот, например, Брин и Пейдж приехали на работу.



Внутри офиса особого уюта нет. Люди в основном сидят без окон, в стандартных для армерики кубиках. Правда кубики не личные, а на команду. Обусловлено это тем, что в Гугл работают по Agile, небольшими командами по 3-6 человек.

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



Там же в кустах непонятно зачем стоит скелет динозавра. Много думал.



Если говорить по сути, то смысл подхода гуглов кроется в двух вещах: жестком отборе персонала и высоком доверии внутри компании. Прежде чем попасть на работу, кандидат проходит около пяти интервью, причем каждую кандидатуру ревьюит лично Брин. Каждая команда самостоятельно решает как и когда работать. Существует только 2 обязательных правила: code review и peer reviews (больше известный в россии как "360 градусов"). В целом, феномен гугла прост и понятен: большая концентрация профессиональных людей, которые обладают достаточным уровнем свободы и доступа к информации.

Рассказать можно еще многое, но лень все описывать. Если будут вопросы - пишите в комменты.

четверг, 11 декабря 2008 г.

вторник, 9 декабря 2008 г.

Привет, меня зовут Дмитрий Немцов. Хочу рассказать об одном антипаттерне, который не описан в имеющейся литературе, однако несколько раз был обнаружен в самых разных местах нашего проекта практически в неизменной виде. Я назвал его "Обиженный новичок". Кратко опишу суть этого антипаттерна.
Пусть имеется некий поставщик событий. На события подписываются и отписываются объекты - слушатели. Генерация события происходит при изменении состояния поставщика событий (приходе данных, редактировании настроек и т.п.).
Все подписанные объекты получают уведомления и тоже изменяют свое состояние. Новый объект - слушатель, подписавшийся к поставщику, не получит текущего состояния, пока оно не изменится. Состояние слушателя будет тем же, что и до подписки. Такое состояние корректно лишь в том случае, если до подписки этого объекта не было ни одного события.
Подобная ошибка может закрасться при проектировании моделей подписки на события, ориентированных на большую частоту поступления событий (это могут быть, например, биржевые данные реального времени, поступающие с частотой 10 - 100 порций в секунду). При этом ошибочное состояние нового подписчика остается незамеченным, поскольку оно длится недолго.
Проблемы начинаются тогда, когда частота поступления событий падает (например, до нуля, когда прекращаются торги).
При проверке незнакомого кода на предмет того, не кроется ли в нем описанный антипаттерн, можно руководствоваться следующим контрольным списком:
1. Проверить, что поставщики никак не могут инициализировать свое текущее состояние, кроме как через обратные вызовы их обработчиков. Это можно выяснить, взглянув на объявление интерфейсов слушателей, например:

interface ISomeEventListener
{
void OnSomeEvent(const SomeEvent& event) = 0;
}


2. Проверить, что происходит в коде поставщика событий в момент подписки нового слушателя. Зачастую такой код имеет вид
EventProvider::SubscribeListener(ISomeEventListener* newListener)
{
...
m_listeners.Add(newListener);
...
}

В окрестностях этого кода нужно поискать две вещи:
a) прямой вызов у нового подписчика обработчика события с неким закэшированным состоянием
...
m_listeners.Add(newListener);
...
newListener.OnSomeEvent(m_cashedEvent);
...

б) код, корорый как - либо запоминает нового подписчика (отдельно от старых подписчиков). Это может быть сделано с целью исключения непосредственного вызова обработчика у нового подписчика
...
m_newListeners.Add(newListener);
...


в этом случае вызов обработчика будет располагаться в другом методе и сопровождаться переносом нового подписчика к старым
...
m_newListeners[0]->OnSomeEvent(m_cashedEvent);
m_listeners.Add(m_newListeners[0]);
m_newListeners.Clear();
...


Приведу реальные примеры из нашего проекта.

I.
В нашем коде есть сущность под названием FontMgr. В ней объединены настройки шрифтов для всех окон. Вот её обработчик подписки(до исправления):

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

interface __declspec(uuid("7EF51E4B-28C3-4d86-9E55-F81E75235731")) IFontMgrEvents
{
virtual HRESULT STDMETHODCALLTYPE OnFontChanged(int index, LPCFONTSTRUCT font) = NULL;
virtual HRESULT STDMETHODCALLTYPE OnUseSettingsAsDefaults() = NULL;
};


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

HRESULT CFontMgr::Advise(IFontMgrEvents* e)
{
int index = m_events.Find(e);

if (-1 != index)
{
return S_FALSE;
}

m_events.Add(e);
return S_OK;
}

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

HRESULT CFontMgr::Advise(IFontMgrEvents* e)
{
int index = m_events.Find(e);

if (-1 != index)
{
return S_FALSE;
}

m_events.Add(e);
int fontsSize = m_fonts.GetSize();
if (0 < fontsSize)
{
for (int i = 0; i < fontsSize; ++i)
{
e->OnFontChanged(i, (LPCFONTSTRUCT)&m_fonts[i].font); // сообщение текущего состояния новому подписчику
}
}
return S_OK;
}

II.

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

interface IBarListener
{
virtual void OnBarBackFill(IBarSet *bs)=0;
virtual void OnBarBackFillComplete(IBarSet *bs)=0;
};


После того, как заинтересованный в данных объект подпишется у поставщика

dataProvider->SubscribeBars(SubscriptionParams params, this)

данные начнут приходить к нему через обратные вызовы обработчиков. IBarSet представляет совокупность данных. Когда приходит очередная порция данных, вызывается OnBarBackFill. Он может вызываться много раз, в зависимости от объема запрошенных данных. После прихода последней порции данных, вызывается OnBarBackFillComplete. Приходящие данные кэшируются в поставщике событий. Если подписка на данные осуществляется не в первый раз, т.е. данные уже есть в кэше, то OnBarBackFillComplete не вызывается. Это является архитектурной проблемой, которая к настоящему моменту не исправлена. Чтобы узнать, полностью ли пришли данные, каждый слушатель должен каждый раз при вызове OnBarBackFill проверять у контейнера с данными свойство IsCompleted() и в зависимости от него принимать решение, что делать.

void SomeDataConsumer::OnBarBackFill(IBarSet *bs)
{
if (bs->IsCompleted())
{
UpdateGUI();
}
else
{
DoSomeCalculations();
}
}


Отрицательные последствия данного подхода очевидны. Во - первых, возникает дублирование кода. Во - вторых, OnBarBackFillComplete практически теряет смысл, так как ведет себя неодинаково для всех подписчиков.

III.

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

вторник, 2 декабря 2008 г.

Биржа Nasdaq

NASDAQ - самая крупная электронная торговая площадка в мире, которая адекватно отражает состояние дел практически всех основных компаний, связанных с компьютерным бизнесом. Здесь котируются акции "монополиста" Microsoft, гиганта Intel, легендарной Apple, могущественного Sun Microsystems, популярнейшего Yahoo и дерзкого Amazon.com.
NASDAQ - буквальный перевод названия "автоматизированное котирование Национальной ассоциации торговцев ценными бумагами" - National Association of Securities Dealers Automated Quotation - "NASDAQ". Сначала список низколиквидных ценных бумаг выставляемых на торгах включал около двух с половиной тысяч компаний, которые по тем или иным причинам не смогли пройти листинг Нью-йоркской фондовой биржи (NYSE) и Американской фондовой биржи (AMEX). Стремительное развитие электронного рынка NASDAQ, обусловленное не менее стремительным ростом индустрии, лежащей в основе "кузницы миллионеров", привело к тому, что сейчас число компаний, участвующих в системе NASDAQ, удвоилось и составляет пять тысяч корпораций, разбросанных по всему миру (более 400 неамериканских компаний).
Развитие торговой системы продолжалось, и год 1982 был ознаменован рядом новаций в работе электронной торговой площадки NASDAQ: компании, находившиеся в самом начале листинга, отделились и создали NASDAQ National Market. Для осуществления данной цели критерии и требования для участия компаний в деятельности на National Market были ужесточены. Оставшаяся часть акций (около 2/5 компаний сейчас) котируется в NASDAQ SmallCap Market. Кроме того, была введена в действие система исполнения небольших заказов, появилась возможность покупки ценных бумаг в кредит, были осуществлены и некоторые иные преобразования. Все изменения и новации не прошли даром, и в 1994 году NASDAQ по среднегодовому объему торгов обошла крупнейшую и престижнейшую Нью-йоркскую фондовую биржу.
В 1998 году состоялось структурное объединение двух колоссальных финансовых институтов - NASDAQ и AMEX. Обе торговые площадки принадлежат одной структуре - NASD (Национальной комиссии по ценным бумагам США), с той лишь разницей, что на AMEX котируется только ограниченное число компаний, и кроме этого членами AMEX могут быть только американские компании. После слияния появился NASDAQ AMEX Market Group. Это еще больше укрепило позиции NASDAQ, как самой крупной электронной торговой системы.
NASDAQ, как стержень "новой экономики", обладает повышенной отказоустойчивостью. К началу этого года электронная торговая площадка NASDAQ основывалась на 324 отказоустойчивых мейнфреймах Tandem (многопроцессорные системы, состоящие из большого количество двухпроцессорных модулей), более 50 серверах Dell и Compaq, 18 мейнфремах Unisys, огромном количество батарей и целой армии источников бесперебойного питания, трех мощнейших дизелях и огромных холодильных установках. Кроме этого, существует еще и резервная система в Роквилле, которая полностью дублирует все жизненно важные модули системы. Но и это еще не все. Наверняка будет интересен следующий факт: тестирование NASDAQ по вопросу перехода рубежа тысячелетий (пресловутая "Ошибка 2000") началось в 1996 году, в нем принимали участие 150 человек, было проведено 170 000 имитаций торгов в критический период, общая стоимость "Программы NASD по 2000 году" оценивается примерно в 55 миллионов долларов США. Все это позволяет говорить о колоссальной "железной" и "программной" мощи NASDAQ. Взлом системы практически невозможен, еще более нереально нарушение хода торгов. Однако... 15 сентября 1999 году группой хакеров United Loan Gunmen был взломан сайт NASDAQ! Предварительное исследование, проведенное аналитической фирмой Mi2g Software, показало, что хакеры воспользовались хорошо известными дырами в защите Internet Information Server. Однако при взломе никакого нарушения финансовых транзакций не произошло, и по утверждению представителя NASDAQ, сайт работал в обычном режиме. Тем не менее, специалисты по компьютерной безопасности были сильно обеспокоены инцидентом.
Понятно, что популярность торговой системы NASDAQ не могла не привести к возникновению аналогичных образований в других странах и регионах. На сегодняшний день существует достаточное количество подобных рыночных образований, однако лишь немногие из них могут быть хотя бы частично сопоставимы с системой NASDAQ, которая прошла большой путь развития и совершенствования, став зеркалом высокотехнологичных отраслей экономики всего мира.
Не смотря на то, что NASDAQ сама открыла свои представительства в Канаде, Японии, Гонконге и планирует сделать это в Европе, во всех этих регионах развиваются собственные Hi-Tech индексы и системы. Так существуют очень молодые образования JASDAQ, KOSDAQ, ROSDAQ. Это японский, корейский и даже румынский рынки. Однако количество компаний, зарегистрированных в них, не превышает нескольких десятков, поэтому говорить о серьёзной конкуренции "старому" NASDAQ не приходится. Что касается стран СНГ, то подобная NASDAQ торговая площадка пока не создана ни на одной фондовой бирже и торговой системе этих стран. Справедливости ради следует отметить, что попытка все-таки была предпринята весной прошлого года Московской межбанковской валютной биржей, инвестиционной группой "Русские Фонды" и компанией PricewaterhouseCoopers. Однако дальше планов по открытию на ММВБ сектора "Высокие технологии", где должно было происходить первичное размещение и вторичные торги акциями Интернет-компаний, провайдеров, разработчиков ПО и других высокотехнологичных компаний, дело пока не пошло.

четверг, 27 ноября 2008 г.

Job is done

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

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


В России люди работают гораздо меньше, чем в США, в Японии и во многих странах Европы. Такой вывод следует из сопоставлений данных Росстата и Международной организации труда (МОТ). По данным МОТ, более 80% американцев, чехов, словаков работают более 40 часов в неделю, тогда как среди россиян таких "трудоголиков" Росстат насчитал всего около полутора процентов. Это значит, что россияне ежегодно "горбатятся" на работе около 1700 часов, тогда как в США и Японии длина рабочего года часто составляет более 1800–1900 часов. А в шести азиатских странах – таких как Южная Корея, Таиланд, Малайзия, Гонконг, Бангладеш и Шри-Ланка, рабочий год длится не менее 2200 часов – то есть значительно больше 40 часов неделю и при весьма символическом ежегодном отпуске.

...Длительность рабочей недели далеко не единственный и не самый главный критерий трудолюбия и эффективности труда граждан той или иной страны. Для оценки результатов труда куда как важнее сравнение производительности труда. И здесь США снова намного обгоняют Россию, как, впрочем, и любую другую страну. Если в вопросе продолжительности рабочей недели МОТ отмечает полуторакратную разницу в зависимости от страны, то по производительности труда наблюдается более чем десятикратный разрыв. По данным экспертов МОТ, средний американский рабочий ежегодно производит продукции на 63,8 тыс долларов. Производительность среднего работающего в Ирландии составляет около 56 тыс долларов, в Бельгии – 55,2 тыс долларов и во Франции – около 54,6 тыс долларов. В России, численность трудоустроенных жителей в которой, по данным Росстата, составляет чуть менее 70 млн человек, один работающий произведет в этом году продукции в среднем на 25–28 тыс долларов. И то это показатель по паритету покупательной способности, в номинальных цифрах каждый трудоустроенный россиянин произведет в полтора раза меньше.

среда, 26 ноября 2008 г.

Agile Scrum

SCRUM - это термин из регби, означающий так называемую «свалку», когда все члены команды собираются в кучу. Вот пара забавных картинок альтернативного скрама.



понедельник, 24 ноября 2008 г.

Good man

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

Обязанности:
• Научить нас тому, чего мы еще не знаем
• Находить себе интересные задачи и успешно с ними справляться

Требования:
• Любить маму и папу, или хотя бы маму
• Честно хотеть сделать наш продукт лучшим в мире
• Обладать знаниями в трейдинге, программировании, тестировании, юзабилити или в чем-то, что поможет сделать наш продукт лучше

суббота, 22 ноября 2008 г.

QT Dev Days

В конце октября посетили Qt Software Developer Days Conference, которая проходила в Redwood City, Калифорния. QT мы используем для разработки eSignal, поэтому было любопытно узнать как обстоят дела. Особый интерес вызывал факт покупки QT компанией Nokia и связанные с этим изменения целей и приоритетов у Троллей.

Первое, что бросилось в глаза - организация мероприятия. 5-звездочная гостиница, хорошая логистика, качественная полиграфия, апельсиновый фреш, вода VOSS, калифорнийское вино, швейцарский сыр... Презентации вели преимущественно сотрудники Trolltech, но было и несколько приглашенных спикеров. Один из них, Mike Gualtieri, очень интересно описал результаты конференции в заметке C++ is still cool:


C++ is alive and kicking as I was reminded by the 300 C++ programmers at the Qt Software Developer Days Conference last week in Redwood City where I gave a keynote on the Future of Application Development. Qt Software, formally named Trolltech before being acquired by Nokia late last year, develops an impressive cross-platform application framework used primarily by C++ programmers. Using Qt, programmers can develop applications and user interfaces once, and deploy them across many desktop and embedded operating systems without rewriting the source code. Qt supports well-known platforms such as Windows, MacOS, Linux, Windows CE, and others.

Why use C++ and Qt?

Читать дальше...


В интернете уже доступен архив презентаций, есть очень познавательные. Кому интересно - пишите в комменты, я вышлю пароль доступа.

Основные выводы:
- QT развивается
- QT крут
- На SECR кормят херней

пятница, 21 ноября 2008 г.

Вид снизу

Кризис так, как мы его видим каждый день:) Это скриншот нашей программы. Вот такая актуальная работа:)

понедельник, 17 ноября 2008 г.

Кризис

Месяц назад получил емейл от некой организации, под названием ООО "Технологии Бизнеса". Как выяснилось позже, это Южно-Российский клуб HR-менеджеров. Граждане убедительно рассказывали о том, что собираются пригласить Йонаса Риддерстрале, который проведет мастер-класс "Построение фанки-бизнес фирмы". Несмотря на стоимость в 22 тысячи рублей за 3-х часовой треп, столь неординарное событие в ростовской действительности пропустить было нельзя.

Как не трудно догадаться, ничего так и не состоялось. Вместо этого организаторы сделали альтернативное предложение: всего за 22 тысячи и 3 часа мне представился уникальный шанс научится противостоять экономическому кризису.


У нас произошли изменения спикера на коммерческие мастер-классы. по
организационным причинам Йонас Риддерстрале приехать не сможет. Кроме
того, в связи с экономической ситуацией мы посчитали целесообразным
изменить тематику выступлений.

В программе конференции будет выступать Джон Вон Эйкен
1. Управленческий мастер класс Джона Ван Эйкена (11.00-14.00)
"Антикризисное управление, управление в условиях изменений"
2. Мастер класс Джона Ван Эйкена (18.00-20.00)
"На волоске" или как управлять персоналом в период кризиса"

Вопросы, которые будут обсуждаться:

Пересмотр стратегии управления персоналом в рамках кризиса.
Что предпринимать и каким образом?
Экономический и человеческий фактор в рамках кризисного управления.
Массовые сокращения: как и какой ценой?
Увольнять или не увольнять или кому попадется счастливый билет остаться в организации.
Как оценить персонал и решить, кого оставить?
Битва за таланты или битва талантов за должность.
Влияние экономического кризиса на рынок труда и компенсационную систему компании?
Какие более экономичные пути обучения людей выйдут на первый план в период кризиса?
Социальные медиа как инновационный путь развития сотрудников с минимальными расходами.


--
С уважением,Виктория Андрущенко
координатор проектов Южно-Российского клуба HR-менеджеров

Тел.: (863)221-57-99
E-mail: proekt@hrclub-rostov.ru
http://www.hrclub-rostov.ru



Пришлось послать организаторам решительный отказ от прослушивания "На волоске", ведь вполне очевидно, что 22 тысячи куда важнее в борьбе с кризисом, чем советы товарища Эйкена. Хотя как вернуть деньги пока что тоже не ясно. Кстати, сайт вышеупомянутой компании, все еще рекламирует семинар Йонаса Риддерстрале.

Еще немного юмора о кризисе.

четверг, 13 ноября 2008 г.

SEC(R) 2008 о наболевшем

Съездили SEC(R) 2008. Несмотря на беспомощную организацию, конференция 2007 дала много пищи для размышлений. Поэтому в этом году поехали в составе 4-х человек, чтобы успеть на все треки. Тем более, что организаторы вселяли надежду множественными рассылками типа:

Организаторы учли опыт предыдущих форумов и пожелания сотен участников – в этом можно будет скоро убедиться.

Убедиться не получилось. Конференция все также проводилась в здании культурного центра Высшей школы экономики. Ничего кроме печали и ностальгии внутреннее убранство и оборудование помещений не внушает. На стенах весят институтские стенгазеты и наглядная агитация из деканата. Организаторы и спонсоры размещаются за партами, взятыми из соседних аудиторий. На входе сидит вахтер с недовольным лицом. Во время обеда нереально найти место даже для того, чтобы поесть стоя, не говоря уже о том, чтобы посидеть. Во второй день еда вовсе закончилась, оставив нас без обеда. Важно ли все это? Совсем нет. Просто по неволе становится грустно за наш софтверный бизнес. Неужели спонсоры в лице Microsoft, Intel и Luxoft не могут помочь организовать приличную конференцию, вместо того, чтобы размещать свои стенды за партами и вывешивать маркетинг рядом с фото-отчетом о турпоходе в горы пятой ргуппы третьего курса.

После конференции прошел почти месяц, а сайт до сих пор сообщает, что SECR 2008 уже близко. По старой традиции доступа к презентациям опять нет, хотя в очередной раз обещали. Чтобы просмотреть интересные моменты или показать их сотрудникам –- приходится обращаться на прямую к выступавшим. Фотографий тоже нет, хотя было несколько явно профессиональных фотографов (с большими объективами).

К плюсам хотелось бы отнести исключительную вежливость и внимательность организаторов, видно что люди стараются... Хотя почему-то не допустили к выступлению Лену Иванову (заявку она подавала). Даже не зная о чем она хотела рассказать, рискну предположить, что было как минимум 10 треков, которые и близко не дотягивали до Лены по уровню.

Что касается технической части, то сразу скажу, что это пожалуй единственное крупномасштабное мероприятие в России, которое имеет смысл посещать разработчикам. Как всегда ярче всех выступил Luxoft, широко были представлены поклонники Agile процессов. Из того, что понравилось (выложу презентации, как получится их раздобыть):

Управление требованиями в Agile - Асхат Уразбаев
Аналитики в Agile - Андрей Бибичев
CMM и Agile - возможен ли симбиоз - Иван Гуменюк
Опыт оцениваний по модели CMMI – как сократить затраты на оценивание и получить дополнительные выгоды для бизнеса - Стас Калканов
Задача как мотивирующий фактор - Светлана Савельева

Но в целом все сошлись во мнении, что проф уровень конференции упал по сравнению с прошлыми годами. Подождем следующего SEC(R).

Мнение Стаса Калканова по данной теме.

воскресенье, 2 ноября 2008 г.

Интересное про рынки

Биржи третий день растут по всему миру. Хочется посмотреть, как очередное падение рынка добьет уцелевших инвесторов. Но не все проигрывают на падение рынка. Wall Street лихорадит и от неожиданно растущих цен. Так, например, все ждали, что акции автомобильного концерна Volkswagen упадут в связи с намерением Porsche AG увеличить свой пакет. Но акции за неделю выросли на 93%, оставив в дураках Goldman Sachs и Morgan Stanley. Несколько миллиардов в плюсе без лишних усилий... Возможно менеджерам Porsche имеет смысл сменить профессию:

Ситуация в описании Ведомостей:
http://www.vedomosti.ru/newspaper/article.shtml?2008/10/30/166703
И более глубокое исследование от superinvestor:
http://superinvestor.livejournal.com/55452.html

среда, 8 октября 2008 г.

Outsourcing 2.0

Несколько мыслей по теме...

В свете приближающейся конференции SEC(R) 2008, Асхат заставил меня написать небольшую заметку о современных тенденциях в мире разработки софта. Судить о таких вещах я могу только с нашей колокольни, поэтому все сказанное не претендует ни на объективность, ни на уникальность.

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

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

В большинстве случаев, на помощь обоим сторонам здесь приходят такие процессы, как CMMI, TSP или RUP, которые предусматривают большое количество документации, снижают риски (теоретически) и на выходе дают проект с фиксированной ценой. Но при этом крайне мучительно переносят любые изменения требований, являются достаточно тяжеловесными, затратными и мало приемлемыми для мелких и средних компаний/проектов.

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

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

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









Было   Стало
Мотивацая на быстрое завершения своей части работыМотивация на успех проекта
WaterfallAgile
eMain и телефонные конференцииWeb 2.0
Детальные требования и регулярные телефонные конференцииИсполнитель хорошо знает предметную область
Крупные компанииСредние и мелкие компании
Снижение расходов, низкая стоимость труда аутсорсераВысокая скорость и качество разработки
Временный контрактАутсорсер – это компания-партнер

вторник, 8 июля 2008 г.

Супер-разработчик (уникальная вакансия)

Привет, меня зовут Оля Колесникова. Нашей компании нужен C++ разработчик. Но не просто разработчик, а опытный гуру кода с блеском в глазах. Если вам интересно то, чем вы занимаетесь, если вам нравятся нестандартные архитектурные решения, если вам хочется продуктивно работать и много получать, то я займу для вас место у окна. Пишите.

P.S. Для любителей формальной информации: http://www.esignal.ru/job/

четверг, 17 апреля 2008 г.

Ключевые аспекты качества тестирования в проектах разработки

6 мая в 19:00 в нашем офисе пройдет открытый семинар «Ключевые аспекты качества тестирования в проектах разработки». Продолжительность -- полтора часа. Вход свободный, заявки на участие просьба оставлять в комментах. Место проведения: Социалистическая 74, офис 1304 (бизнес-центр «Купеческий двор»).

Белград

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



И даже флаг почти Российский.


Короче - ЛЕПОТА.


Парни немного в обиде на нас за Косово.


Но мы сказали, что помогали чем могли.

суббота, 22 марта 2008 г.

Цитата из блога Дениса Миллера:

Вчера вернулся домой из Ростова-на-Дону, где всю неделю с ребятами из команды eSignal работали на тему "Инженерные практики Agile". За 6 дней тренингов мы охватили такие направления как Design Patterns и Refactoring. В последний день провели результирующую очень мощную коучинг-сессию, в которой поговорили о тестировании, командном взаимодействии и разработали новую Agile-практику (которую обещали проверить в ближайшее время).

А в один из вечеров мы организовали открытый семинар на тему "Эволюционный дизайн" с точки зрения Agile. В обсуждениях приняли участия около 30 самых прогрессивных ИТ-ростовчан.

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

Так держать!

понедельник, 10 марта 2008 г.

Паттерн Фасад

Денис Миллер, 5 лет, 1985 год.

QA

5, 6 и 7 мая в нашем офисе пройдет коучинг для отдела QA.

1 день - теоретические основы тестирования, терминология, тестирование в ЖЦ разработки, в различных моделях разработки, области компетентности специалистов по тестированию, рекомендуемая литература
2 день - основы тест дизайна, обзор типов тестирования, методологий тестирования, техник дизайна тестирования, введение в тестирование производительности
3 день - основы тест-менеджмента, обзор компетенций по управлению людьми и командами, обзор лучших практик по управлению тестированием, принцип независимости тестирования, основные роли и процессы тестирования (планирование, исполнение, мониторинг), введение в автоматизацию тестирования, обзор инструментов

Если найдется хотя бы 10 желающих, мы проведем открытый семинар на тему «Ключевые аспекты качества тестирования в проектах разработки». Предварительные заявки на участие просьба оставлять в комментах, их должно быть не менее 10:)

вторник, 26 февраля 2008 г.

Системный администратор

У нас открылась вакансия системного администратора. Будем рады видеть вас в нашей компании :)

23 февраля

Отмечали 23 февраля. Был стриптиз, спасибо нашим девочкам за подарок:) Фоток не будет, ничего приличного не нашлось.

суббота, 16 февраля 2008 г.

Фотки с семинара

Мы провели очередной открытый семинар под названием «Гибкие методологии Agile. Эволюционный дизайн».

Денис Миллер показывал всякое.



И людям это очень нравилось.


Фотки делал Максим

четверг, 14 февраля 2008 г.

AgileRussia

Мы стали партнерами проекта http://agilerussia.ru/ и будем представлять это сообщество в Ростове.

среда, 13 февраля 2008 г.

Визит в США

В рамках конференции разработчиков eSignal мы 10 дней пробыли в Калифорнии.

Всего собралось человек 70 со всех офисов компании. Нельзя сказать что все было очень интересно, зато со всеми познакомились лично и посмотрели главный офис:)

В силиконовой долине много разных IT компаний.

А еще были выборы:) Хиллари, давай!

четверг, 24 января 2008 г.

Встречи

Есть идея проводить регулярные (раз в две недели) встречи разработчиков ПО, на которых каждый раз обсуждать интересную тему. Это может быть обсуждение новой технологии или процесса, способа решения какой-то проблемы или что-то еще. Интересны ли вам такие встречи и какие темы вы хотели бы затронуть? Ответы можно присылать на mailbox@esignal.ru или оставлять в комментах.

Bowling и коллеги из США

В понедельник к нам приехали коллеги из США с целью обмена опытом и определения планов технологического развития.

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








Фотки делал Максим.

воскресенье, 20 января 2008 г.

Гибкие методологии Agile. Эволюционный дизайн.

13 февраля в 19:00 в нашем офисе пройдет бесплатный открытый семинар «Гибкие методологии Agile. Эволюционный дизайн». Эволюционный дизайн -- основой подход гибких методологий. За кажущейся простотой скрыто сложное взаимодействие людей, множество техник и принципов. На семинаре будут подниматься вопросы соотношения проектирования и программирования, документирования и коммуникации в команде. Особое внимание будет обращено рефакторингу, к которому сложилось неоднозначное отношение, что затрудняет его использование. Живые примеры из собственного опыта гарантируются:)

Семинар проведет agile-евангелист Денис Миллер. Продолжительность -- полтора часа. Вход свободный, заявки на участие в свободной форме присылайте на mailbox@esignal.ru. Место проведения: Социалистическая 74, офис 1304 (бизнес-центр «Купеческий двор»).

Фотки с семинара

Итак, к нам снова приехал Асхат

И снова мы провели открытый семинар

Людей собралось очень много

И слушали все с большим интересом

Асхат, спасибо большое. Все передают тебе большой привет, ждем тебя весной:)

Фотки делал Максим.

воскресенье, 6 января 2008 г.

Самоорганизация команды в Agile

18 января в 19:00 в нашем офисе пройдет бесплатный открытый семинар «Самоорганизация команды в Agile». Один из самых обсуждаемых постулатов в Agile -– организация команды. В гибких методологиях команда самоорганизующаяся и самоуправляемая. На семинаре мы увидим что это такое и как этого добиться. Мы обсудим ключевые практики построения команды и типичные ошибки, рассмотрим вопросы лидерства для такой команды.

Семинар проведет Асхат Уразбаев -- тренер и консультант по гибким методологиям, certified scrum master. Продолжительность -- полтора часа. Вход свободный, заявки на участие в свободной форме присылайте на mailbox@esignal.ru. Место проведения: Социалистическая 74, офис 1304 (бизнес-центр «Купеческий двор»).

пятница, 4 января 2008 г.

Новый год и планы на ближайшее будущее

От имени всех сотрудников компании eSignal поздравляем вас с наступившим Новым Годом и наступающим Рождеством. Мы очень весело проводили старый год и встретили новый.





В январе и начале февраля у нас будет сразу несколько интересных мероприятий. С 17 по 19 января к нам снова приедет Асхат Уразбаев. В рамках этого визита будет проведен еще один открытый семинар, который состоится 18 января (пятница) в 19:00. Тема семинара будет объявлена позже. Вход по-прежнему свободный, заявки на участие в свободной форме можно уже сейчас присылать на mailbox@esignal.ru. На этот раз мы выделим побольше времени для общения и ответов на вопросы, чтобы стимулировать обмен информацией об используемых подходах и методологиях между сотрудниками разных компаний.

Напоминаем, что в первой половине февраля состоится еще один открытый семинар, тема которого будет либо «Шаблоны проектирования» либо «Рефакторинг кода». Проведет семинар Денис Миллер.