Шлях стажера: Abto Software
Привіт, мене звати Віталій Кінах. Я навчаюсь на третьому курсі НУ «ЛП» за спеціальністю прикладна математика. Вже 1,5 роки я працюю R&D інженером в Abto Software, куди я потрапив після завершення AI & CV Summer Camp у 2017 році. Про те, як він проходив, розповім нижче.
Про наукові дослідження з обробки даних
На роботі в R&D відділі я вирішую складні задачі за допомогою штучного інтелекту та комп’ютерного бачення. Окрім того, я займаюсь науковими дослідженнями в університеті, що пов’язані з аналізом та обробкою даних. Зараз більше цікавлюсь аналізом растрових та векторних геоданих про емісії парникових газів. Я співпрацюю з науковцями з Міжнародного інституту прикладного системного аналізу (IIASA, Austria, Luxembourg) та Національного управління з аеронавтики і дослідження космічного простору (NASA).
Чому це наразі є актуальною темою? Більшість країн світу підписують договори про зменшення викидів CO2 та інших парникових газів у атмосферу. Приміром, є так звані емісійні квоти для різних країн. Вони означають, що деяка країна може викидати якусь кількість CO2 за договорами. Кількість прогнозують на основі населення, території та промислового комплексу. Є такі країни, як Японія, де багато виробництва. Вони витрачають усі квоти і купують в інших країн квоти. Наприклад, Україна продає ці квоти. Так от, дослідження, яким займається мій науковий керівник з 2010, — це математичні та статистичні методи оцінки кількості емісій.
З часом він почав співпрацювати з NASA за такими проектами. Зараз я теж допомагаю йому з цими дослідженнями. Приміром, я займався порівнянням даних про емісії для різних країн, отриманих статистичними методами для різних економічних областей: житловий сектор, індустріальний сектор, дороги та транспортні сполучення з даними, які були отримані супутниками в NASA. Потім ми помітили, що супутник має помилку в локалізації даних, і тоді я займався тим, що рахував значення цієї помилки. У результаті, ми порівняли дані, отримані статистичним шляхом, з супутниковими даними, і ці дані можна вважати правильними. Ми знайшли помилку для супутника, і вивели закон, за яким відбувається зміщення.
Чому вирішив піти на стажування
Коли я дізнався про курси від компанії Abto Software (побачив анонс у junior дайджесті DOU), я навчався на
Як проходив відбір
Відбір складався з чотирьох етапів:
- Реєстрація.
- Тестування: алгоритмічні задачі та тест з англійської мови.
- Співбесіда з HR.
- За результатами тестування — співбесіда з Head of R&D department.
Усього того року зареєструвалися 100 учасників. Від реєстрації до початку тестування минуло 2 місяці. На тестуванні даються алгоритмічні задачі, необхідно їх ефективно розвязати на одній з запропонованих мов програмування. Оцінюють реалізацію, ефективність та стиль написання. Тестування я пройшов успішно. Щоб підготуватися, раджу переглянути якийсь курс з алгоритмів та структур даних, поробити задачки на Hackerrank чи Leetcode.
Приклад задачі: нехай є функція, яка малює піксель на зображенні, необхідно написати функцію, яка малюватиме овал з заданими піврадіусами та центром.
Перша співбесіда була одразу після тестування: HR питали про мій попередній досвід, що я робив. Друга співбесіда була з Head of Science. На ній теж питання були про мене та мій попередній досвід. Я розповів про свої наукові дослідження та показав один з моїх проектів: додаток для аналізу растрових зображень, який використовує Google Earth Engine. Цей проект був реалізований у співпраці з дослідниками з Міжнародного Інституту прикладного системного аналізу.
TechTalk у компанії
Як відбувалося стажування
Перша частина стажування (2 тижні) — лекції та практичні заняття. Кожен день була 1 лекція, 1 практичне заняття, також ми мали домашні завдання. Друга частина стажування (ще два тижні) — робота над проектами. В кінці стажування треба презентувати командний проект на одну із запропонованих тем або вибрати відповідну тему самостійно. Оплати на стажуванні не було.
Усього лекцій було приблизно
- що таке зображення, як вони представлені на комп’ютерах;
- фільтри (ядра) для обробки зображень;
- морфологія;
- алгоритми сегментації;
- алгоритми детекції об’єктів;
- алгоритми машинного навчання.
На практичних ми мали приклади використання розглянутих алгоритмів. У якості домашнього завдання ми отримували задачі на використання відповідних алгоритмів. Наприклад: додаток — лазерна дошка, ідея в тому, що є червона указка, і веб-камера знімає поверхню, по якій малює указка. Необхідно повторити малюнок, який намалювали указкою.
Лекції починались десь в обід, і заняття закінчувалось о
Найскладнішим для мене було освоїти та зрозуміти велику кількість інформації. Кожна лекція — це окрема тема з аналізу даних та обробці зображень. Наприклад: спочатку була лекція про те, що таке зображення та яким чином комп’ютери працюють з ними. Наступна лекція — про цифрові фільтри та їх використання для аналізу зображень. Для того, щоб успішно зрозуміти другу лекцію, необхідно чітко розуміти першу.
На роботу над проектом виділяли 2 тижні. Я робив 2 проекти: перший проект, який я робив в команді з двома дівчатами, — це програма для розпізнавання грошей на фото. Другий проект, який я робив сам, — це калькулятор на дошці: користувач на дошці малює числа та арифметичні знаки, робить фото, а програма обробляє фото та видає результат. Це демопроекти, написані на C++. Головним у них був функціонал, інтерфейс — через консоль. Протягом цього часу ми могли працювати вдома або в офісі компанії. Працівники компанії були нашими менторами та допомагали з проектами.
В останній день ми захищали проекти перед менторами — отримали відгуки щодо проекту від менторів та спробували свої сили у презентації, що надзвичайно важливо.
AI & CV Summer Camp 2017
Висновки і враження
Мені стажування сподобалось, корисною була підтримка менторів. Лекції були цікаві і показували реальні приклади проектів. В університетах такі програми тільки починають читати, і в університетах не завжди працюють професіонали, які мають реальний досвід. Як на мене, університет — це інституція, де можна вивчити базові фундаментальні дисципліни, а вже потім на основі цих знань рухатись далі.
Крім того, це був мій перший досвід роботи над командним проектом, пов’язаним з AI. Я до того нічого подібного не робив. Мені ця галузь цікава, бо я люблю математику і аналіз даних. Мені подобається те, що ми живемо в час, коли маючи комп’ютер, знання та бажання можна змінювати світ.
Цей досвід був для мене унікальним, бо на той момент жодна компанія не проводила схожі курси для стажерів. Я познайомився з цікавими людьми: іншими стажерами та менторами.
Майже 50% стажерів залишаються працювати в компанії. Зараз у нашій команді R&D відділу близько 40 людей, з них — 9 є випускниками літніх навчальних інтенсивів від Abto Software. Мене запросили на роботу через тиждень після завершення стажування. Однак я спочатку відмовився, бо не був впевнений, що зможу поєднувати роботу з навчанням. Але вже взимку 24 січня, після здачі сесії, я почав працювати і зараз з легкістю поєдную навчання та роботу. У нас в офісі — вільний графік, тому мені легко планувати та приділяти час для роботи та університету.
Цікаво, що у 2018 році я вже був у ролі ментора на другому наборі з AI&CV Summer Camp. Для мене це був унікальний досвід, бо я розумів усю відповідальність, яка лежить на менторі, наскільки ментор є важливим. Зараз дійсно вже не потрібно розказувати суху теорію з книжки, проте треба знайти той шлях, яким скерувати та зрозуміти, як допомогти у вирішенні проблем.
Поради
- Подавайтесь на якомога більше курсів, якщо раптом ви й не пройдете, то отримайте хороший досвід.
- Готуйтесь до тестувань. Для того, щоб потрапити на AI&CV Summer Camp 2019 від Abto Software потрібно пройти тестування. В першу чергу це алгоритмічні задачі. Вони є базовими, тому рекомендую подивитись курс із алгоритмів та розв’язувати задачі на Hackerrank чи Leetcodе.
- Практикуйте англійську, оскільки тест на знання англійської мови є також однією з умов відбору на інтенсив. Особисто я попередньо проходив курси з аналізу даних в інтернеті, робив тести на Hackerrank та вчив англійську. Багато в чому мені допомогла книжка Cracking the coding interview.
- Вчіть та робіть те, що вам подобається. Шукайте можливості.