Старий холівар на новий лад: зміняться олімпіадники-програмісти з часом

19 травня команда Спбду з Санкт-Петербурга стала переможцем міжнародної студентської олімпіади з програмування ACM ICPC 2016, фінал якого проходив на Пхукеті. Призери отримали запрошення на стажування у дослідних офісах компанії IBM (виступила спонсором змагання) та в інших міжнародних IT-компаніях.

Не секрет, що російські команди займають призові місця на подібних змаганнях із завидною регулярністю. Але що з ними відбувається в реальному житті? Хто з учасників приймає запрошення на стажування або роботу в серйозних компаніях? Більш гостро стоїть питання про те, що відбувається з ними після того, як вони прийняли пропозицію. Прийнято вважати, що олімпіадники-програмісти – неординарні особистості.

З одного боку, компаній світового рівня потрібні такі люди (майбутні рок-зірки), з іншого боку, від ці нестандартних співробітників вимагається виконання досить стандартних умов співпраці – робота в команді, робота в термін, постійний режим праці (нехай навіть віддалений), корпоративна культура. Що стосується дотримання субординації, тут від молодого «генія» потрібно вислуховувати, і головне, виконувати вказівки свого безпосереднього керівника, який часто «генієм» не є.

В період розквіту холиваров на тему «олімпіадників-програмістів» були поширені два полярних думки – «олімпіадники не придатні для промислової прикладної розробки» та «олімпіадники працюють за десятьох, на них тримається половина ІТ-компаній світу».

У якийсь момент холивары вщухли, але російські олімпіадники продовжують перемагати на турнірах і регулярно отримують пропозиції про працевлаштування від західних компаній. І досі не кожен з них погоджується на такі пропозиції: хтось вважає, що російські мізки не повинні витікати за кордон, хтось навіть продовжує навчання в аспірантурі чи магістратурі, займаючись своєю науковою роботою, яка часом виявляється нікому не потрібною, але дуже складною і цікавою.

Людський фактор

Команду Спбду до олімпіади готував Андрій Лопатін, відомий своєю участю в розробці соціальної мережі «ВКонтакте». При підготовці студентів до чемпіонатів Лопатин намагався враховувати не тільки талант, але й людський фактор — хто з ким спрацюється, що відбувається в команді, як заспокоїтися перед фіналом. Він розумів, що по-справжньому командна робота нелінійно збільшує шанси на перемогу. Командна робота – це установка інтересів колективу вище власних, це делегування завдань, визнання своїх слабких місць, і навіть, в чомусь, прийняття власного безсилля.

Якщо б така робота не була збудована, то збірна Вузу могла перетворитися на збіговисько «невизнаних геніїв», одноосібників, кожен з яких тягнув би ковдру на себе. До речі, такою поведінкою окремі олімпіадники як раз і заслужили репутацію «важких» співробітників, кидаючи тінь на більш свідомих колег по цеху.

Рік тому Лопатин говорил, що навички олімпіадників в роботі допомагають, однак їх адаптація до роботи над комерційним продуктом проходить завжди непросто: «Чим ближче до стартапу, тим швидше цей процес відбувається. А «ВКонтакте» довго жила саме в такій атмосфері», — додав він.

Цього року, 23 травня, Лопатин поговорив з виданням «Секрет фірми»:
– Мені здається, компаніям варто бути більш відкритими і брати участь у конкурсах і олімпіадах. Потрібно, щоб люди з компаній постійно зустрічалися і спілкувалися з програмістами. Адже що таке олімпіада? Це один із шляхів становлення програмістів. Олімпіади багато критикують, ніби вони відірвані від реальності. Це не так, завдання, які вирішуються на змаганнях, — частина якихось великих завдань.
Якщо змагання (стараннями організаторів) і їх учасники (стараннями тренерів) будуть так само наполегливо (як описує Лопатин) наближатися до реальності, то шанси ІТ-компаній прийняти на роботу адекватних і комунікабельних «геніїв» буде рости і далі. У цьому випадку частка осіб, негативно налаштованих по відношенню до олімпіадникам, зменшиться.

Інша справа, що звичайні ІТ-компанії можуть вважати Google, Microsoft і навіть «Яндекс» відірваними від реальності. Їм не потрібно думати про банальне виживання. Мовляв, вони можуть собі дозволити проводити експерименти, замахуватися на проекти, які не в змозі «потягнути» прості смертні. У цьому випадку олімпіадники підходять як не можна краще. Тим більше, що більшість цих проектів все одно не дійде до релізу, а після закриття одного проекту олимпиадника переведуть на черговий «перспективний» фронт робіт — а раптом все-таки трапиться технологічний прорив після (N+1)-ї спроби?

— Ви помічаєте серед програмістів людей з підприємницьким мисленням, людей, які хочуть відкрити свою справу?
— Серед мого оточення такого мало, хоча тема цікава. Не знаю, чому про це не прийнято замислюватися. Може бути, потрібно подумати про те, як переламати цю тенденцію.
Від себе додам, що зустрічав, як мінімум одного, олимпиадника-програміста, який заснував свою ІТ-компанію і досі її очолює. Починав він у команді АлтГТУ в 2005 році, але на старших курсах переключився на інші проекти: спочатку влаштувався iOS-розробником на півставки, а потім і зовсім зайнявся рекомендованим проектом для МВС. Закінчивши ВУЗ, разом з одногрупником (який олимпиадником, до речі, не було) вони запустили власний проект, який став повноцінною ІТ-компанією через 2 роки. Можливо, цей випадок є винятком.

За що не люблять олімпіадників-програмістів

Один з користувачів сайту «Хабрахабр», грунтуючись на особистому досвіді, сформулював негативні особливості співпраці з олимпиадниками-програмістами в компаніях, що займаються прикладною розробкою.

Знання ефективних алгоритмів або внутрішнього пристрою процесора змушує їх думати, що код повинен бути максимально ефективним. Таким чином на оптимізацію витрачається надто багато часу, код стає абсолютно непідтримуваних, нерасширяемым і нестійким до помилок, нарікає він.

А це, ймовірно, з наболілого:
• Спроба відразу писати швидкий/невимогливий до ресурсів код;
• Бажання вичавити з коду все, в збиток іншим показникам;
• Віра в те, що O(n) замість O(n^{2}) або заміна всіх операцій множення на 2 на побітовий зсув зроблять з програми цукерку.

Непорушний міф

Існує поширений міф про те, що всі спортивні програмісти йдуть в Google або, як мінімум, «Яндекс», де натхненно працюють над пошуковими алгоритмами і іже з ними. Портал dev.by опитав 21 фіналіста АСМ ICPC. Серед них знайшовся один чоловік, який займає посаду Microsoft, Google і один – в «Яндекс». Решта працюють у менш «розкручених» компаніях.

Однак на Geektimes знайшлася ще одна історія олимпиадника, підтверджує цей міф. Більше того, цей чоловік, Олександр Купрін, потрапив спочатку в «Яндекс», а потім в Google.

Наводимо найцікавіші фрагменти його історії:
В теорії все було не дуже страшно. Страшно було на практиці. На мене впало стільки жахливо незнайомих речей, що навіть гитом [репозиторій Git] користуватися не доводилося – разом з хлопцями я один-єдиний раз викачав репозиторій, а потім все робив локально. Забігаючи вперед, скажу, що в останній день літнього стажування [в «Яндексі»] відправив свій код на пошту начальнику, а не щось кудись впровадив.

Завдання начальство отримало з душею. Потрібно було якимось чином навчитися порівнювати документи на схожість, ввести визначення схожості і робити це все досить швидко – ну, в припущенні, що у нас овер 10^9 документів.

З горем навпіл і божою допомогою декомпозировав завдання, я приступив до пошуку рішення. Хлопці радили різні статті. Але як повинен вчинити справжній олимпиадник? Звичайно ж придумати щось своє!

Читав статті і думав я десь тиждень. Далі стався переломний момент, яким я пишаюся досі: я придумав рішення. Надалі практика показала, що воно виявилося вже точно не гірше аналогів, які все одно довелося реалізовувати для побудови графіків і переконання начальства.

У підсумку, на своє перше рев'ю я «відправив» щось, що складається з 300+ рядків коду. На свій захист можу сказати, що ці 300+ рядків повністю вирішували поставлене завдання. Хлопці билися в істериці. Артем Бабенко плакав кривавими сльозами і говорив, що більше п'яти разів він не стане приймати мій код.

Надалі мій код зростав і ширився. Це було якось безглуздо і дивно, враховуючи, що функціональність не змінювалася. П'ять разів швидко вичерпалися, і зі мною істотну частину часу проводив інший начальник Єгор Самосват. Незважаючи на те, що я відчував себе ідіотом і виглядав нітрохи не розумнішими, що відбувається, мені подобалося. Фактично, я навчався в одночасно комфортних і бойових умовах.

А тим часом робота повільно підходила до кінця. Як мені здається, за великим рахунком, я впорався. Нехай і не так добре, як могло б бути, але впорався. Щоб не втрачати контакти, мене пообіцяли взяти десь взимку на удаленку.

Прогнози

Думки про олимпиадниках раніше різняться. Противники подібних дискусій можуть сказати, що скільки людей – стільки і думок, всі люди різні. Однак на основі цих думок і історій можна виявити якісь усереднені, найбільш ймовірні тенденції, які необхідні тим же ІТ-компаніям та іншим небайдужим для прогнозу, для прийняття доленосних рішень.

На тлі досліджень і опитувань (наприклад, опитування компанії Universum або дослідження Smart Start) сучасні тенденції такі, що студенти, і студенти-програмісти у тому числі, стають все більш прагматичними і «приземленими», меркантильними.

Чи відноситься дана історія до олімпіадникам-програмістів? Чи змінюються вони у відповідь на виклики часу? Чи вони продовжують жити десь у своїй «паралельної Всесвіту», як думають багато?
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.