У свої 22 роки студент 6-го курсу теплоенергетичного факультету (спеціальність – “Інженерія програмного забезпечення”) Микита Савченко досягнув неабияких успіхів як у навчанні, так і в програмній інженерії, а ще – набув досвіду викладання. За його словами, перед студентами, які обирають програмну інженерію, відкривається багато можливостей та шляхів у майбутній світ починаючи з першого курсу навчання.
На прохання редакції "КП" Микита Савченко поділився своїм досвідом в ІТ, стажуванні за кордоном під час навчання в КПІ ім. Ігоря Сікорського, та своєю інтерактивною формою викладання.
– До вступу в КПІ я під час навчання в школі близько трьох років займався розробкою комп'ютерних ігор починаючи з редагування ігрових рівнів у різних іграх і закінчуючи створенням власних мовами програмування GML та LUA. Ці заняття давали можливість створювати щось нове і незвичайне, чого я завжди прагнув.
На першому курсі університету викладач Олександр Степанович Крячок запропонував мені спробувати скласти тест на стажування в корпорації InterSystems, згідно з відповідним оголошенням в Інтернеті. Це був початок моєї справжньої кар'єри в ІТ. Складаючи резюме, я включив у нього все, що тільки міг, – назви своїх проектів, ігор, розроблених веб-сайтів, курсових робіт, їх короткий опис тощо. На мою думку, саме через це на мене звернули увагу. Пройшов кілька загальних і технічних тестів на веб-порталі корпорації. Після цього мені зателефонували, розпитали про мене і про мої проекти. Далі був ще один дзвінок – для технічного інтерв'ю, і нарешті – третій, коли мене влітку 2013 року запросили на стажування до Москви.
Під час технічного інтерв'ю я не дав відповіді на декілька вузькоспеціалізованих запитань. Я відповідав: "У мене не було досвіду роботи з цим, але якщо буде потрібно – я розберусь". Натомість, із загальними питаннями, мета яких була визначити, чи дійсно я маю уявлення про те, як писати програми, проблем не було, оскільки у мене було багато власних проектів, і саме завдяки ним я розумівся на тому, про що мене запитували.
Три місяці стажування влітку були захоплюючими. Я почав ширше дивитися на світ, усвідомлювати процеси, які в ньому відбуваються, як влаштований бізнес, як виглядає доросле життя і чому все саме так, а не інакше. Всі, з ким я спілкувався і жив, привносили щось у моє життя, так само, як і я в їхнє. Я вважаю, що нові враження – це надзвичайно важливо, особливо у студентські роки.
Корпорація InterSystems розробляє мультимодельну, "пост-реляційну" систему керування базою даних (СКБД) Cachе та продукти на її основі. Їхній комплекс програмного забезпечення здебільшого призначений для державних установ, медицини та бізнесу. Технології корпорації використовуються в усьому світі і, зокрема, на державних підприємствах України. InterSystems займає значну частину ринку США та Європи у медицині та охороні здоров'я, надаючи свою платформу даних для високонавантажених систем та систем великого ризику.
Під час літнього стажування я працював з двома технологіями – веб та, власне, СКБД Cachе з її досить специфічною мовою програмування – Cachе ObjectScript. Після перших трьох тижнів тренінгів я працював над внутрішніми проектами корпорації та розробив свій власний проект – Cachе WebTerminal – термінал доступу до СКБД через веб-інтерфейс. Це був мій перший та найзначніший проект, і тепер Cachе WebTerminal використовується в компанії та в усьому світі.
Після повернення додому я продовжив співпрацю з корпорацією в дистанційному режимі. За більше ніж чотири роки я розробив ще п'ять проектів для корпорації InterSystems: iKnow Entity Browser, Cachе Visual Editor, Light Pivot Table, GlobalsDB Admin, Cachе Class Explorer. Останній став моєю бакалаврською дипломною роботою.
У 2015 році мене запросили на літнє стажування до головного офісу компанії InterSystems в США, у місто Кембридж, штат Массачусетс. Три місяці в США стали однією з найяскравіших подій у моєму житті. Офіс InterSystems займає 8 поверхів багатоповерхового будинку, в якому також міститься офіс Microsoft, а через декілька будинків розташовується і Google. Одним словом – центр комп'ютерного Всесвіту. Стажування було різноманітним: окрім роботи з напарником над внутрішнім проектом компанії, ми, 25 інтернів, гуляли містом, були в боулінг-клубі, на матчі з бейсболу, каталися на каяках і навіть виїжджали у вихідні на острів Кейп Код, звідки відкривається фантастичний вид на Атлантичний океан. Час, проведений тим літом, здавався мені безтурботним і простим, адже я добре знав свою справу, а усі витрати на подорожі, які організовувала корпорація, відбувалися за її рахунок, включаючи компенсацію за проживання та транспорт.
Усе хороше, що кажуть про Америку, – то є дійсно так. Бостон та Кембридж мені дуже сподобалися. Чисті вулиці без жодної реклами, якими бігають "Street Bunnies" (вуличні кролики), привітливі та дуже чуйні люди, особлива атмосфера. Їздив я також і в Нью-Йорк, можу сказати, що там по-іншому – велике, шумне і місцями брудне місто, але зі своєю особливою та жвавою атмосферою. Загалом, Америку я побачив як зовсім інший світ, не схожий ані на європейський, ані на український, та, слід відзначити, з великою кількістю перспектив.
Невдовзі після мого повернення на батьківщину зі мною зв'язався американський автор серії книг з технологій InterSystems Пол Майк Кедоу. В листі він написав, що був вражений проектами, які я розробив для корпорації InterSystems, та хотів би включити інформацію про мене і мої проекти до своєї наступної книги. Я погодився написати розділ про свої проекти. Згодом книга була видана в США, і Майк прислав мені її примірник.
Одним із цікавих моментів у моєму житті був перший досвід викладання, коли на 2-му курсі навчання ми з друзями організували власну відкриту веб-школу в нашому університеті. Кожен з нас уже мав певний досвід у веб, і ми хотіли ним поділитися. Отримавши більше ніж 400 заявок, ми відібрали чотири групи по 30 учасників. Заняття тривали чотири місяці, двічі на тиждень після пар. Для своєї групи я розробив програму курсу з використанням технологій HTML, CSS, JavaScript (веб) + NodeJS, MongoDB. Мої друзі викладали здебільшого веб та PHP + MySQL. Я викладав з натхненням, мені це подобалося. Я не читав прості "нудні" лекції, а зробив свій курс інтерактивним, з колективною практикою на заняттях та домашніми завданнями, які регулярно перевіряв. На заняттях я ділився як власним досвідом, так і тим, який отримав за кордоном. Курс пройшов дуже цікаво як для мене, так і для студентів.
Коли я розповів про свій досвід викладання в InterSystems, мені запропонували провести курс з їхніх технологій у Києві для державного підприємства "Держінформресурс". Відтоді я викладав ще декілька разів у нас, а також за кордоном – двічі для студентів Технологічного університету в Брно в Чехії і один раз в Індії для викладачів найбільшого приватного університету Amity University в Нойді, Делі. Таким чином, викладання дало мені можливість не тільки займатися своєю справою, а й подорожувати.
Усім, хто ще навчається, хочу дати декілька порад.
1. Не довіряйте ніяким порадам бездумно, навіть моїм :). Важливо зрозуміти, що досвід у кожного унікальний, він має жорстку прив'язку до часу і обставин. Те, як ви бачите своє майбутнє, не обов'язково має відповідати чиємусь уявленню про нього. Єдине, чому воно точно має відповідати, – це здоровій логіці та часу.
2. Поки ви студент, ви маєте найбільшу кількість можливостей. Використовуйте їх по максимуму! Волонтерські ініціативи, стажування, різні заходи – не проходьте повз них, якщо ви прагнете досягти успіху в майбутньому.
3. Навчайтеся заради вашої мети. Якщо мета – працювати в компанії або корпорації, робіть тільки те, що сприятиме досягненню цієї мети. Скажімо, те, що має бути відображене у вашому резюме. Або те, що розвиватиме вас у цій галузі. В ІТ – пишіть власні або колективні проекти, бібліотеки з відкритим кодом тощо – це все не буде марним.
4. Щодня виділяйте час на самовдосконалення і власні проекти. Для дійсно важливих справ має бути і час, і мотивація. Якщо немає часу – передивіться, на що ви його витрачаєте, та відшукайте резерви. Враховуйте, що і на відпочинок потрібен час – ніщо у вашому розкладі не має страждати. Якщо немає мотивації, спілкуйтеся з людьми та спробуйте уявити своє майбутнє в деталях – це дозволить вам побачити правильний шлях вашого розвитку.
5. Проводьте літо або канікули з реальною користю. Одна із найкращих можливостей це зробити – стажування за кордоном. Для цього не треба бути генієм – потрібно усього лише володіти будь-якою мовою програмування, базовим знанням алгоритмів і структур даних та достатньою мотивацією для відправлення резюме і підготовки до співбесіди. Чим раніше ви потрапите "у світ", тим більше перед вами буде шляхів і тим ширше буде "відкритий" ваш розум. Майте на увазі, що такі корпорації, як, наприклад, Google, починають набирати стажерів на літо ще з вересня попереднього року, і всі доступні місця займаються буквально за перший тиждень після оголошення прийому на стажування. Тому будьте до цього готовими.
6. Вивчайте іноземну мову. Дивіться відео англійською, читайте англійською, розмовляйте з друзями англійською щодня – робіть усе для того, щоб почувати себе комфортно у випадку, коли вам раптово зателефонують із-за кордону!
Буду радий відповісти всім, хто захоче зв'язатися зі мною. Мій e-mail: zitros.lab+edu@gmail.com.