Indiatraincommute

Текст Арина Носкова | 22.01.2014

«Таких указаний из уст гольфиста мне раньше слышать не приходилось: «Цельтесь в Майкрософт или Ай–Би–Эм».

Дело происходило в южноиндийском городе Бангалоре, на поле, принадлежащем гольф–клубу».

Томас Фридман, Плоский мир, 2004 г.

 

В 1980-х годах  среди программистов возникло выражание «индусский код» или «glitch». Интернет-мем, жаргонное выражение – можно называть это как угодно, но все же попробуем разобраться, почему именно «индусский» и что происходило с IT Индии в последние десятилетия.

z_c1a0e487

Генеральный директор Spot Digital Андрей Овсянников

«Есть мнение, что понятие «индусский код» уходит своими корнями ещё во времена дружбы СССР с Индией и широко распространенной практики обучения иностранцев программированию в наших ВУЗах. Именно тогда, по поверьям, на лабораторных практикумах по программированию появились первые зачатки «индусского кода».

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

По другой версии, в Индии, одним из видов KPI является количество строк написанного кода, а не его качество. В результате чего, на свет появляются гигантские полотнища кода, содержащие абсурдные и нелогичные конструкции, написанные для увеличения количества строк кода, которые, при всем при этом, ещё и работают. Разумеется, такой код также непригоден для последующей работы, внесения правок или развития, а попытки прочитать и понять его вызывают негодование, смешанное с недоумением».

IT-Индия

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

Итак, 15 апреля 1947 года Индия получает государственную независимость.

В 1951 году первый индийский премьер-министр Джавахарлал Неру основывает первый Индийский Технологический Институт (IITs)  в восточном городе Хагапуре, Западная Бенгалия.

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

Так, примерно в конце 1980-х – начале 1990-х, в основном благодаря Дженерал Электрик, Индия обрела связь с миром, в первую очередь с США, и это было началом индийской аутсорсинговой революции.

Следующим важным этапом для Индии стала “проблема 2000”. Встроенные часы во многих старых компьютерах были запрограммированы таким образом, что отсчитывали даты с помощью только шести цифр: две цифры – день, две – месяц и две – год, то есть 31.12.99 должно было стать последней датой, которую способен воспроизвести компьютер.

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

Индия сегодня

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

Южный город Бангалор – это индийская силиконовая долина. Там находится штаб-квартира одной из лидирующих индийских компаний по разработке ПО Infosys Technologies Limited. Компания была основана в 1981 году и сейчас насчитывает около 100 000 сотрудников. Для сравнения – это приблизительно на 10 000 больше, чем у Microsoft. Это при том, что и в самом Microsoft не обошлось без индусов.

Яркий успех Индии в сфере IT не отменяет того, что выражение “индусский код” всегда употребляется в негативном значении: “код плохо написан”; “с ним невозможно работать”; “пришлось все переделывать” и так далее.

С одной стороны, не стоить винить во всем индусов. Когда в проектах по всему миру задействовано такое огромное количество программистов из Индии, естественно, много индийских странностей, хитростей и глупостей придаются огласке. Самое распространённое мнение на этот счет можно сформулировать так – в любой стране встречаются и  хорошие и плохие программисты.

z_c1a0e487

Роман Мусаткин, дизайнер

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

Исторически сложилось, что в Индию обращаются за быстрой работой, очень часто сами клиенты не особо пекутся о качестве выполнения, и оплата осуществляется построчно (ну а качество кода от его количества, конечно, не зависит, если даже не сказать, что оно с его количеством точно уменьшается). И к этому готовы сами индусы — порог входа в профессию невысокий, задач много и они могут работать конвейером, особенно не вникая. Сейчас ситуация лучше и есть хорошие аутсорсинговые компании, а стереотипов, да и примеров, их поддерживающих, все еще очень много».

Андрей Овсянников:

 «Надо понимать, что само понятие «индусский код» — это устоявшийся интернет- мем,  а не какая-то национальная особенность.

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

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

Существуют специальные сайты по поиску таких аутсорсинговых специалистов, например, odesk.com, где наименьшие цены на самые различные услуги  предлагают выходцы из Азии».

0FY5JUFSE6s

Николай Калинин, разработчик:

Индия — страна контрастов. Как в Бомбее на широком шоссе можно встретить феррари, обгоняющую вяло ковыляющую по соседней полосе запряженную старую корову, так и в it-индустрии налицо такая же огромная пропасть между профессионалами и непрофессионалами









.

Если посмотреть на сливки  индийского it-мира — такие компании как Wirpo и Infosys имеют за своими плечами огромный опыт, их капитализации могут позавидовать наши отечественные it-монстры. В штате практически каждой крупной американской it-компании обязательно найдется пара индусов. Cреди индусов из привелигированных семей очень много ответственных и умных людей.  Родители обычно отправляют ребенка учиться за границу, где они проявляют усидчивость и приезжают «поднимать целину на родину», а вообще не возвращаются.

Если посмотреть на количество пользователей фейсбука по странам, то, если не ошибаюсь, Индия находится в топ-5. Это наводит на мысль, что Интернет пользуется популярностью среди индусов, а особенно у молодого поколения».

«Началось все с того  что я решил сделать маме сайт, попросил друга, друг оказался занят, – ну, думаю, ничего страшного,пошел  на ФрилансерКом, запостил проект, тут же подконнектились разные индусы –  там это обычное дело. В целом я, не предвзятый человек, нашел одного в скайпе (взрослый  такой дядя) и говорю: «Нужен сайт». Показал ему картинку дизайна и сказал, что нужно с Инстаграма собирать, он, буквально перебивая меня, сказал что все понял и готов заняться прямо сейчас, показал админку какую-то, где заготовки всего есть, разные графики и т.п. – я  должен был из нее выбрать функции, которые мне нравятся.

Я все выбрал, затем прошло 4 дня, он мне показывает что собрал фотографии из Инстаграма внутрь базы, ну,  думаю, процесс идет, потом проходит неделя, он показывает мне кривой макет, судя по всему, в dreamviewer сделанный, и просит деньги, я ему говорю, что надо что-то изменить и т.п., он поддакивает говорит: “Да-да, изменю…”. Я больше о нем не слышал».

Заслуживает внимания сайт  вышеупомянутого индуса-программиста. В разделе «Our team» собрана целая команда из улыбающихся молодых специалистов с not-found-страничками в Фейсбуке и Твиттере.

Роман Мусаткин:

«Как мне кажется, аутсорсить удобно разовые задачи без продолжения. Например, человек написал одну программу, она работает, демонстрировать можно. Если на этом интерес заказчика заканчивается, то не будет и негативных последствий».

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

0000

Изображение обложки — оригинал