Когда-то Игорь Полоз написал комментарий:
«Теперь понятно, почему у нас в Харькове, да и в Украине вобщем, большинство девелоперских фирм имеют головной офис в США, скажем. Ибо разница в зп = 2к$ у нас и 6к$ там (для сеньора) достаточно велика, притом что качество кода не думаю, что сильно отличается. Как в рекламе: «Если нет разницы — то зачем платить больше?» 🙂 »
И действительно, зачем платить больше? Почему собственно не все конторы пользуются оффшор услугами (или открытием офисов в странах, где разработка дешевле).
Ну, начнем с того, что есть то, что нельзя оффшорить — разные там правительственные контракты. Но, это естественно, не такая уж большая часть IT проектов.
А вот по остальным пунктам, таки пройдусь:
а) Езда по накатанной колее
С тем как работать с местными программистами в целом все понятно, а вот с оффшором нужно еще повозиться и разобраться — найти команду, выбрать ее, наладить менеджмент, контролировать качество их работы и т.п.
Естественно, это нафиг не нужно большому количеству средних менеджеров, которые просто сидят на своей зарплате и не получал ни копейки из сбереженного компанией.
Да и даже те менеджеры, которые хотят таки улучшить работу фирму, все равно могут быть завалены рутинной работой и не иметь времени налаживать что-то новое.
б) Местные программисты быстрее реагируют на изменение направления.
Все таки, в чем преимущество программиста, который сидит в офисе, то что он вполне слышал что-то о намечающимся контракте, менеджер пару раз останавливался, чтобы обсудить что-то что может понадобится когда контракт стартует. И в момент когда вдруг надо все бросить и быстро сделать прототип для этого нового контракта, то местный программист может стартовать фактически мгновенно. А для того, чтобы добраться до удаленного программиста, нужно поговорить с менеджером, дать ему множество деталей, которые все в основном офисе и так знают и слышали.
в) Знание языка.
Когда оффшорный программист живет на остравах умпы-лумпы и изъясняется на очень ломанной версии английского и коммуницировать приходится только через менеджера/лида (в оффшорном офисе), у которого с английским получше, но, тем не менее, все равно ломанный, то становится достаточно сложно проверить уровень понимания того, что нужно сделать.
г) Бухгалтерия
Само собой, платить только местным гораздо проще, чем платить и местным и не местным (особенно если за рубежом именно полноценный офис).
д) Иллюзия контроля
Часто менеджер должен видеть, что программист с напряженным видом сидит с 9 утра до 6 вечера, чтобы чувствовать, что программист трудится . А когда кто-то на другом континенте приходит и уходит неизвестно когда, то возникает вопрос о контроле.
Сразу скажу, что чувство контроля тут абсолютно иллюзорно, но тем не менее куча менеджеров очень полагаются именно на иллюзорность.
е) Решение проблем заказчиков.
Достаточно часто у заказчиков возникают какие-то проблемы, которые нужно решить. И для этого с ними надо пообщаться email’ом, телефоном, приехать. Плохое знание языка убивает первые два пункта, удаленность убивает третий пункт.
ж) Боязнь кражи интеллектуальной собственности
В большинстве случает удаленным командам нафиг не нужна интеллектуальная собственность, особенно жуткий код, написанный на других островах пумбы-тумбы. Но тем не менее, кошмарный сон большинства компаний, что их код продадут конкурентам/выкладут в инет/напишут свой продукт на основе их кода.