За 8 років курс JavaRush пройшли тисячі студентів. Сьогодні на сайті проекту зареєстровано понад 1,5 мільйона користувачів із 106 країн. Не всі випускники встигли розповісти про свої успіхи: про те, як навчалися, проходабо співбесіди та почали працювати розробниками. Адже нинішнім студентам цікаво дізнатися про історію тих, хто вже працює в IT. Ми взяли справу в свої руки та запустабо нову спецсерію про розробників з різних країн та компаній, які пройшли навчання на JavaRush. Наша друга історія - про Ірину ( Irina ). У школі та вузі вона любила технічні науки, трохи знала програмування, але обрала роботу у сфері контекстної реклами. Тим не менш, Іра хотіла спробувати свої сабо у розробці. Якось на її пошту прийшла розсилка про набір стажистів-розробників для одного сервісу. І хоча співбесіду дівчина не пройшла, це мотивувало її почати вивчати Java.
![«Зі злом у розробці боротися не потрібно, але й контактувати теж»: історія програмістки Ірини - 1](https://cdn.javarush.com/images/article/faa24407-8fe6-4ecc-8746-ee2718bc48c3/800.jpeg)
«Безумовно хотілося спробувати себе у розробці»
Коли після 9-го класу став вибір подальшого напряму навчання (у нас був поділ на технічний, гуманітарний, економічний, медичний), вибирала між гуманітарним та технічним. Гуманітарний напрямок представлявся мені в образі журналіста, який викриває зло заради добра в усьому світі. Про технічне я думала так: якщо не боротимуся зі злом, то хоч і не контактуватиму з ним, тобто з ними, з людьми. Я пішла шляхом найменшого опору і обрала технічний напрямок. Після школи я вступила до вишу на спеціальність «Інформатика та обчислювальна техніка». На жаль, університет не давав якихось певних навичок з якоїсь мови. Уривчасто я вивчила щось за C++, C#, JavaScript, версткою. На третьому курсі я зовсім випадково зацікавилася контекстною рекламою і так само випадково влаштувалася на роботу в одну досить відому компанію. У результаті рекламі залишилася на 2 роки. Успіхи були непоганими, але хотілося спробувати себе в розробці. У програмування повернулася також без продуманого плану: на робочу пошту надійшла розсилка про набір стажистів-розробників на Java для нового сервісу. Вирішила сходити на співбесіду. Звичайно, моїх базових знань на той момент не вистачило для оффера, але ця історія мене наштовхнула на те, щоб спробувати пошукати щось про Java. Сайт JavaRush виявила випадково в інтернеті. Спочатку не зачепив: здався несерйозним через всі ці картинки та роботоісторії, але дуже сподобалася можливість практики та перевірки завдань. Залишилась, вирішила скуштувати, а потім затягнуло.«Перші кілька співбесід я провалила»
Займалася без жорсткого графіка, уривками: у перервах на роботі, іноді ночами. Приблизно на 16-17 рівні почала намагатися шукати роботу (на цей момент я з деякими перервами займалася близько трьох місяців). Якщо немає досвіду роботи, люблять запитувати про алгоритми, які я теж майже не знала. Тому перші кілька співбесід я провалила. Довелося готуватися додатково, шукати найчастіші запитання та запам'ятовувати відповіді на них. Терміново навчала SQL, вивчала системи версіонування коду (Git на JavaRush згадується невиправдано далеко, рівні на 30-му тільки), SOLID, вирішувала завдання на quizful.net, навчала алгоритми сортувань. У результаті мене взяли джуніором у невелику компанію. Мої завдання на першій роботі були дуже тривіальні: розробка нового функціоналу системи, допилювання поточного, виправлення багів. Працювали за методологією waterfall: бізнес надсилає завдання, аналітик її описує трохи докладніше, розробник реалізує, аналітик тестує, а потім розробник викочує у продукт. Жодних особливих технологій не використовували: писали все на чистій Java, замість мікросервісів — моноліт. Для роботи з базою використовували свій самописний фреймворк із закритим вихідним кодом. Складнощів на самому початку було море — від того, як завантажити проект до репозиторію до того, як написати запит до бази, щоб він не впав по таймууту. Доводилося багато гуглити про роботу з JSON, SOAP, про те, що таке Maven та як зібрати проект із ним. JavaRush я не покинула, намагалася займатися хоча б через день, щоправда, кілька разів було так, що закидала на місяць. Але метою було добити заповітні 40 рівнів. Паралельно займалася на курсі з фреймворку Spring від Otus. Spring відкрив багато нових можливостей, і кількість пропозицій на моє резюме зросла у десятки разів. Під час карантину змінила роботу та перейшла на проект із мікросервісною архітектурою. Займаємося створенням сервісу для пошуку, продажу, купівлі та оренди житлової та комерційної нерухомості, а також оформленням та супроводом іпотеки. 80% наших сервісів написано мовою Kotlin, ще 20% - Java.У моїх планах на найближче майбутнє:
- Більше глибоке занурення в архітектуру. Хотілося б докладно вивчити проектування backend-архітектури.
- Вивчення С++. Думаю, що це однозначно буде корисно кожному програмісту — вміти за необхідності писати частини програми, які мають працювати критично швидко. Корисно це буде і для складних математичних обчислень.
- DevOps. У деяких компаніях це навіть обов'язкова вимога до навичок програміста. Для будь-яких інших однозначно буде корисно. Я анітрохи не шкодую, що тоді в 9-му класі обрала технічний напрямок і що два роки тому не побоялася піти з реклами та розпочати програмування. Розробка - свого роду магія, спосіб робити для людей складне простим, заплутане зрозумілим. Наразі намагаюся зацікавити програмуванням 12-річного молодшого брата. Рік тому подарувала йому конструктор Arduino і гадаю купити для нього книгу про створення Minecraft на Python. Коли стане трохи дорослішим - покажу JavaRush. Думаю, йому сподобається. Однією з важливих речей, які мені дав JavaRush, було моє усвідомлення того, що за хороші матеріали справді можна не боятися платити. Це стовідсотково окупиться.
Поради для розробника-початківця:
- Продовжувати програмувати. Вся робота програміста полягає у вирішенні тих чи інших завдань, знаходженні тих чи інших помилок та виправленні їх. Деколи це може (і буде!) здаватися нестерпно складним, занудним, набридливим, але момент, коли завдання нарешті буде вирішено, відчувається як справжній прорив, перемога, майже відкриття. І так по колу. Злість – прийняття – довгі спроби та нескінченні провали – перемога. І в очікуванні наступного прориву та перемоги і є кайф роботи програміста.
- Завжди і за будь-якої можливості продовжувати вчитися. Читати статті, книги, знаходити та проходити курси з тих чи інших напрямів розробки, обов'язково пробувати нові технології, застосовувати їх у своїх домашніх проектах. Спілкуйтеся з такими ж захопленими людьми, обмінюйтеся досвідом, ідеями. Свого часу саме спілкування з такими амбітними хлопцями допомогло мені не зачахнути в тій першій моїй компанії, а не боятися і рушити далі.
- Звідси і третя порада - не бійтеся щось міняти : роботу, фреймворк, мову (нехай простить мене JavaRush). Усі мої головні перемоги над собою були саме у момент зміни роботи. Спочатку здається страшним піти кудись, не до кінця володіючи технологією чи мовою, але це дуже стимулює розвиватися, вивчати цю невідому технологію чи мову. Включається друге дихання, з'являється особливий сенс щось зрозуміти, вивчити.
- Здорово оцінювати свої сабо. Якщо навіть якийсь час ви зможете поєднувати роботу, самостійне навчання вдома, якісь курси, інститут, можливо, сім'ю, то потім великий шанс вибитися з сил. На жаль, я знайома з кількома хлопцями, які після довгого поєднання університету, роботи для грошей та роботи стажером-розробником у якийсь момент втомабося та кинули програмування. Якби взяли зайвий відгул, академічну відпустку в університеті, витратабо б один вихідний на відпочинок, а не на навчання, на кілька тижнів закинули б курси, можливо, все вийшло б інакше.
![«Зі злом у розробці боротися не потрібно, але й контактувати теж»: історія програмістки Ірини - 3](https://cdn.javarush.com/images/article/014e4abd-bf2e-4e13-a722-683b0b1ac6e7/512.jpeg)