Шлях стажера: 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), я навчався на 1-му курсі. Перед початком курсів я мав базові знання аналізу даних та обробки зображень. Я цікавився аналізом даних та хотів поглибити свої знання у цій галузі. І хоча однією з умов участі у стажуванні є навчання на 3-5 курсі, я вирішив спробувати свої сили. Стажування було для мене шансом поглибити мої знання на практиці та збільшити мережу професійних контактів. Для мене головною метою було пройти тестування та співбесіду і набратись досвіду.

Як проходив відбір

Відбір складався з чотирьох етапів:

  1. Реєстрація.
  2. Тестування: алгоритмічні задачі та тест з англійської мови.
  3. Співбесіда з HR.
  4. За результатами тестування — співбесіда з Head of R&D department.

Усього того року зареєструвалися 100 учасників. Від реєстрації до початку тестування минуло 2 місяці. На тестуванні даються алгоритмічні задачі, необхідно їх ефективно розвязати на одній з запропонованих мов програмування. Оцінюють реалізацію, ефективність та стиль написання. Тестування я пройшов успішно. Щоб підготуватися, раджу переглянути якийсь курс з алгоритмів та структур даних, поробити задачки на Hackerrank чи Leetcode.

Приклад задачі: нехай є функція, яка малює піксель на зображенні, необхідно написати функцію, яка малюватиме овал з заданими піврадіусами та центром.

Перша співбесіда була одразу після тестування: HR питали про мій попередній досвід, що я робив. Друга співбесіда була з Head of Science. На ній теж питання були про мене та мій попередній досвід. Я розповів про свої наукові дослідження та показав один з моїх проектів: додаток для аналізу растрових зображень, який використовує Google Earth Engine. Цей проект був реалізований у співпраці з дослідниками з Міжнародного Інституту прикладного системного аналізу.

TechTalk у компанії

Як відбувалося стажування

Перша частина стажування (2 тижні) — лекції та практичні заняття. Кожен день була 1 лекція, 1 практичне заняття, також ми мали домашні завдання. Друга частина стажування (ще два тижні) — робота над проектами. В кінці стажування треба презентувати командний проект на одну із запропонованих тем або вибрати відповідну тему самостійно. Оплати на стажуванні не було.

Усього лекцій було приблизно 10-14. Зокрема ми розглядали такі теми:

  • що таке зображення, як вони представлені на комп’ютерах;
  • фільтри (ядра) для обробки зображень;
  • морфологія;
  • алгоритми сегментації;
  • алгоритми детекції об’єктів;
  • алгоритми машинного навчання.

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

Лекції починались десь в обід, і заняття закінчувалось о 16-17 годині. Далі вдома я приділяв кілька годин на перегляд матеріалів та виконання домашньої роботи.

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

На роботу над проектом виділяли 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.
  • Вчіть та робіть те, що вам подобається. Шукайте можливості.
Похожие статьи:
У лютому-квітні надходження в український бюджет від резидентів Дія.City становили 1,3 млрд грн. Держава змінила умови приєднання...
Кабінет міністрів України доповнив перелік дозволених у рамках спеціального правового й податкового простору Дія City видів...
В українському офісі Samsung розповіли DOU про нинішню роботу компанії, а також майбутнє ринку електроніки і напівпровідників....
Продовжуємо висвітлювати те, як наша індустрія реагує, допомагає, працює в умовах війни. Ведучого ви усі добре знаєте...
Всем привет! В октябре Ruby-комьюнити успело порадовать нас хорошими новостями. Прежде всего, были представлены...
Яндекс.Метрика