JavaRush /Java блог /Random UA /Як у 34 стати програмістом: історія Паші, розробника Java...

Як у 34 стати програмістом: історія Паші, розробника JavaRush

Стаття з групи Random UA
Продовжуємо спецсерію в рубриці «Історії успіху» — розповідатимемо про розробників, які навчалися на JavaRush, а тепер працюють у цій компанії, розвиваючи продукт. Наш третій герой – Паша. До того, як стати розробником, 15 років він присвятив системному адмініструванню, але вирішив повністю змінити професію. У JavaRush він займається написанням та виправленням завдань та покращенням сайту.Як у 34 стати програмістом: історія Паші, розробника JavaRush - 1

«Я розумів, що не хочу все життя працювати сисадміном»

До того, як зайти в програмування я довгий час ходив навколо. Ще зі школи намагався час від часу починати вивчати якусь мову програмування, зокрема Java. Починав ще в школі, пізніше теж трохи вчив, але ніколи не заглиблювався через свою лінощі. Я вступив до університету за спеціальністю «Інженер комп'ютерних систем». В результаті я став системним адміністратором: це було ближче до моєї спеціальності, ніж програмування. Мені тоді здавалося, що програмування — це складно і нудно, я себе не уявляв у цій ролі. Після навчання я працював системним адміністратором у різних компаніях — загалом понад 15 років. Я розумів, що не хочу все життя займатися системним адмініструванням. Велику роль моєї мотивації зіграла дружина. Вона весь час говорила: «Або розвивайся в системному адмініструванні, або перекваліфікуйся. Давай, програмування – нормальна тема».

«Один раз закинув на півроку, але у результаті таки добив навчання»

Я вирішив зупинитись на Java, оскільки в університеті нам його вже трохи викладали. Крім того, я промоніторив вакансії розробників і найчастіше шукали саме джавісти. Мені було 34 роки, коли я офіційно став програмістом :) Багато хто думає, що в 30 вже пізно, але буває і так, як у мене. Усім начхати, який у тебе вік. Це просто синдром самозванця. Важливою віхою у моєму навчанні стала зустріч із JavaRush. Я натрапив на сайт майже одразу після його появи. Пам'ятаю, тоді на мене дуже вплинули мотиваційні лекції, які були на курсі, — я дуже надихнувся. Ще дуже сподобалася автоматична перевірка завдань, хоча іноді й не розумів, де помабовся у вирішенні :) Незважаючи на всі переваги, я кілька разів кидав і знову починав проходити JavaRush. Одного разу закинув на півроку, але у результаті таки добив навчання. Деякі теми давалися складно – все було новим для мене. У такому разі я приділяв їм більше часу, щоб засвоїти, розбирався, вирішував завдання. Бувало, я дивився на завдання і не знав, з чого почати рішення. Зрештою ліз і дивився відповідь, потім з'являлися такі думки: «Міг би і сам додуматися». Але коли знався на якійсь темі, то потім ходив задоволений: дуже подобалося відчуття виконаного завдання. Певного розпорядку навчання я не мав. Коли був час та бажання, я витрачав їх на навчання. Бувало, що й на минулій роботі сидів вирішував завдання, а потім ще ввечері вдома.

"Я отримав роботу, яку я хотів"

Після того, як пройшов JavaRush, потрапив туди ж на онлайн стажування, яке тривало близько 4 місяців. Там я опановував зовсім інші технології, яких не було на курсі. Вже для тестового треба було освоїти базові знання з Spring та Hibernate: треба було створити CRUD додаток із веб-інтерфейсом для однієї Entity. Скажу так: якщо під час вивчення Java ви не дивабося на популярні фреймворки і технології, то таке тестове буде шоком. Я подивився-почитав, поступово у мене в голові все це склалося в єдину картину, і я зробив тестове. На стажуванні продовжабо заглиблюватися у Spring та Hibernate. Щотижня були нові завдання із використанням нових технологій. До кінця все не вивчив, але думаю це і не можливо :) Коли стажування наближалося до кінця, я склав резюме і почав дивитися джуніорські вакансії. На співбесіди я витратив близько чотирьох місяців: працював і паралельно ходив на інтерв'ю. Пам'ятаю, тоді було трохи вакансій на джуніора, тож треба було пробувати подаватися одразу на мідла. Проблема, звичайно, була в тому, що на співбесіді звертали увагу на відсутність досвіду програмування. Досвід адміністрування я також вказав у резюме. Багато рекрутерів це плутало… Робив тестові завдання, викладав на своєму профілі GitHub, намагався покращувати резюме. Я розумів, що не нуль у програмуванні і мене час від часу кликали на співбесіди. У кількох місцях уже хотіли брати, але зарплатню пропонували маленьку. Одна фірма, яка писала софт для українських компаній, пропонувала на старті 7 тисяч гривень, а стеля – 10 тисяч. Я тоді думав, може піти туди, але не пішов: і маленькі гроші, і компанія незрозуміла. До речі, сісадміном я отримував набагато більше, ніж мені пропонували на позиції джава-джуніор. Після стажування у загальному чаті хтось кинув вакансію – шукали джуна у JavaRush. Я надіслав резюме, мене запитабо. У компанії шукали людину для розробки навчального контенту, того, хто виправлятиме вже існуючі завдання та писатиме нові. Цей функціонал був мені зрозумілий, адже я вже пройшов більшість завдань JavaRush. Так я потрапив у JavaRush і досі тут працюю. Довгий час я сидів і виправляв завдання, потім взяли ще одну людину для цього, я допоміг йому влитися, і ми вдвох почали їх покращувати. Зараз ми займаємося запуском нової версії JavaRush, а також курсом CodeGym: пишемо нові завдання, брали участь у перекладі та налаштуванні сайту. Я отримав роботу, яку я хотів. Зрозуміло, що й у системному адмініструванні можна розвиватися: шукати цікаві місця роботи, вищу зарплату, працювати з більш складними завданнями. Очевидно, я спочатку вибрав неправильну професію для себе. Коли я вчив Java, у мене були побоювання: ось вивчуся і сидітиму так само, як системний адміністратор і нудьгувати. Ні, я задоволений усім. Думаю, я знайшов своє покликання.

Поради для розробника-початківця:

  • Вивчіть дебаггер для налагодження написаних програм. Дебаггер допомагає покроково відстежити виконання програми та виявити допущені помилки. Я свого часу ним не користувався, моє навчання йшло б швидше, якби його використовував. На всіх етапах навчання знання дебаггера даватиме глибше розуміння тим, які ви проходитимете.
  • Визначтеся, у якому напрямку хочете працювати. Це може бути веб-розробка, Android-розробка, фронтенд, бекенд і т.д. Пройдіть базу мови програмування, але потім краще не розпорошуватися і вивчати те, що подобається і близько.
  • Англійська. Якийсь мінімальний рівень знання англійської потрібний спочатку. До речі, проходячи співбесіди, у мене складалося враження, що він грає більшу роль, ніж саме вміння програмувати. Слабкий програміст з офігенною англійською має більше шансів, ніж крутий програміст зі слабкою англійською.
  • Запишіть питання, на які не змогли відповісти на співбесіді. Вдома зможете їх опрацювати і на наступному інтерв'ю почуватися впевненіше.
  • Не бійтеся відмови. Робіть «кабомове бомбардування» своїми резюме. Я теж боявся, але якось переступив через страх і почав ходити співбесідами.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ