Python conf in Kharkiv, Nov 16 with Intel, Elastic engineering leaders. Prices go up 21.10

Шлях стажера: 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.
  • Вчіть та робіть те, що вам подобається. Шукайте можливості.
LinkedIn

7 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Хороший пример, отличные достижения! Думаешь ли ты об эмиграции, профильной работе в штатах? Какие мысли на этот счет?

Наступні 3 місяці я проведу в Канаді, працюючи в університеті на дослдженням. Окрім того, в мене є досвід співпраці з вченими з Австрії з IIASA. Можна сказати, що перший крок до еміграції та роботи закордоном я зробив. Надалі треба зважити усі плюси та мінуси.

Мене запросили на роботу через тиждень після завершення стажування. Однак я спочатку відмовився, бо не був впевнений, що зможу поєднувати роботу з навчанням

Это шутка!? Как можно ставить учебу в университете выше приоритетом чем работу?

Як не крути, але з дипломом живеться легше, аніж без нього. Особливо це відчувається, коли намагаєшся влаштуватися за кордоном. І краще отримати якомога вищий ступінь з наскоку, без пауз, тому що у навчанні, як і у спорті, тонус має значення. Рік не навчався, і вже дуже важко повернутися до підручників, паралельного вивчення багатьох дисциплін і здачі іспитів.
В ідеалі — поєднувати, що хлопчина, у підсумку і зробив. Як для першокурсника, то це взагалі стрибок вище голови. Я до четвертого про таке навіть не задумувався.

Ви мене не повностю зрозуміли, я мав на увазі, що якщо ти вже потрапив на роботу, то пріорітет у неї буде вище, я нічого не казав про те, що потрібно бросати універ. Но мати сумніви на рахунок того, продовжити повноціннє навчання (без донатів) чи працювати, це для мене дійсно дивно.
П.С. Сам теж працювати почав на 4 курсі.

Ні, не жарт. Мені необхідно було оцінити свої можливості, для того, щоб не підставляти себе та роботодавця. Як на мене краще було потягнути час, ніж завалити навчання через роботу, або проект через навчання.

Подписаться на комментарии