JavaRush /Java блог /Random UA /My success story
Александр Колинченко
41 рівень
Москва

My success story

Стаття з групи Random UA
  1. Привіт усім, пишу з першого робочого місця (точніше з місця першого оплачуваного стажування як junior java-developer'а) поки не розпочався робочий день.
  2. My success story - 1
  3. Мені 39 (!), почав програмувати як хобі, поки була перерва в роботі, якісь гроші, догляд за дитиною, що народилася нещодавно, переїзд назад, до сім'ї, до Москви і ще пара моментів. До цього працював фінансистом, багато брав участь у запровадженнях облікових систем на різних 1Сах.

  4. Спочатку спробував колупати програмування сам, та ще й почати з Котліна (дуже сподобалися як сама мова, так і ті, хто її розробляє - JetBrains). Але швидко, за тиждень напевно, зрозумів, що без java в котлині нема чого робити, та й потрібен якийсь курс самому копати дуже неефективно. Знайшов, вже не пам'ятаю як, JavaRush, зареєструвався на ньому 30 червня (дивився зараз поштою). Вже 5 липня купив передплату (за ці 5 днів пройшов перші 10 рівнів, по два рівні за день). Пройшов за 3, на мою думку, місяці 25 або трохи більше рівнів (повністю, колупаючи докладно, якусь невелику частину рішень скачуючи, але обов'язково докладно розбираючись, правда).

    Сильний кайф пам'ятаю, коли зробив нарешті парсинг математичних виразів. Це завдання було великим стрибком, деяким проривом у усвідомленні себе як програмера.


  5. Я вибрав проходити спочатку коллекшнс, а потім уже конкарренсі частину. Подивився за змістом, вирішив, що цікавіше та корисніше розбиратися з колекціями. Ще 10 рівнів (до 35-го десь) проходив, на мою думку, місяці зо два.

  6. Десь посередині конкарренсі стало зрозуміло, що далі добивати майже безглуздо. Стало цікавіше розбирати проблеми в розділі help (мені це було корисно – вчився розбирати чужий код та структурував свої знання), ніж робити вправи. Тоді поставив собі за мету створити веб-проект на спрингу + гібернейте + майескуелі + якомусь движку шаблонів (в результаті робив на Thymeleaf). Інші рівні відкрив чисто щоб відкрити найсмачніші завдання.

    Було б у цей момент стажування – було б взагалі супер, але для того, яке в той момент йшлося, було вже пізно, а для наступного зарано.


  7. У результаті я місяця півтора все це розколупував (людина на відео-прикладі зробив те ж саме хвабон за 50, якщо що). Всього зробив два тестові веб-сервіси. Один суто повторення того, що було у відео (стандартний список книг - аналог тестового завдання на стажування). Другий - вже більш-менш схожу на реальне завдання, бекендова частина сайту з розрахунку вартості натяжних стель із рест-контролером (за прикладом реальної потреби знайомих). І на Spring-boot, а не на голому спрингу. У другій для душі навіть вставив класи на котлині (взагалі Kotlin дуже рекомендую, сам точно копатиму далі).

  8. Після того, як я загалом зробив з нуля веб-сервіс (про те, що в ньому не було прикручено авторизації, менеджера транзакцій, нормальних тестів веб-частини тощо, промовчимо), стало зрозуміло, що треба виставляти резюме та шукати роботу джуна. До цього моменту я став розуміти, що мені дуже подобається програмування і що реально потрібні програмери. Тоді (у середині січня, після свят) я написав нарешті коротке резюме англійською, повністю прибравши попередній досвід (залишив лише короткий опис одним абзацом) та виставив на ПН.

  9. Що почалося – просто абзац. Я не встиг нікому відправити запит, вже надійшло 4 пропозиції від компаній на співбесіду і ще кілька листів від ейчарів з пропозиціями розглянути різні роботи (але ця пара листів не за рівнем, для мідлів). Я не розумію, чому так вийшло, думаю в цей момент був сильний сплеск замовлень від Сбера (2 з чотирьох - сам Сбер, який взагалі кабомовим методом запрошує на співбесіду всіх, хто засвітив резюме та його підрядник). Плюс, найімовірніше, у мене добре виглядало резюме.

  10. Перша співбесіда (Сбертех) була – блиск. Я його провів дуже круто в частині кора і самих основ, співбесідующий сказав, що соцзабез - просто бомба і роботу точно знайду, навіть якщо не в них. Зате друге (телефоном) - була просто пекельна ганьба. Я зовсім загубився, причому практично на всі питання я знав або міг дати осудну відповідь, як потім згадував. Тепер у Сбертеху два співбесідуючі, одні вважає, що я непоганий, другий - що я клінічний ідіот. Був хороший урок серйозно ставиться до співбесід, бо я злегка загордився після пропозицій і першої співбесіди.

  11. Цікаво, що на 3-х співбесідах (включаючи поточне місце) практично не було технічного інтерв'ю - дивабося суто по-людськи, що я собою уявляю, хоча я був добре готовий, звичайно. Особливо запам'яталася компанія, яка запитила мене виключно тому, що мені понад 35 років. Дуже своєрідна атмосфера у них. Коли я запитав їх старшого по розробці (сильніше за мене, реальний олдскул), якими IDE вони користуються (Intellij або Екліпс там, є якась політика в цій частині), він навіть не зрозумів спочатку, потім відповів "А, текстовий редактор…" Та я ними не користуюсь, я так код пишу. А ти можеш хоч що використати, без проблем". І він точно не жартував. Я, м'яко кажучи, був здивований.

  12. Через пару тижнів я отримав дзвінок від Сбертеха (саме за першою співбесідою, у них там море департаментів, кожен набирає сам) із пропозицією працювати за бл. 1.1 тис. доларів на руки на міс з урахуванням річного бонусу. Я сказав ок, вони почали оформляти оффер. Цей процес у них займає пристойний час, я все одно дивився на інші роботи. У цей момент потрапило оголошення на джавараші про набір стажистів до групи компаній Смарт. Я написав, що хотів би поспілкуватися, мало, практично відразу пішов на співбесіду. Тім лід практично не ставив запитань щодо технічної частини (правда я сам досить адекватно, без булшиту, описав свій рівень) і сказав, що готовий мене спробувати на стажуванні, що оплачується. Я погодився, тому що Сбертех мене трохи напружував (зрозуміло, що я пішов би і туди, якби не було альтернатив), плюс мені сподобалася і атмосфера і тимлід плюс їхній офіс знаходиться за 7 хвабон ходьби від місця, де ми винаймаємо квартиру. Мені знадобилося ще кілька тижнів, щоб організувати догляд за дитиною, і реально вийшов на роботу я 28-го лютого.

  13. Зараз я (паралельно з іншим стажером, він з інших курсів) розуміюся на коді основного проекту компанії і паралельно під керівництвом тимліда роблю навчальний додаток, єдина мета якого - наскрізним чином, від бази до браузера, використовувати основні технології та прийоми, які є в основному проекті, але у міні-масштабі. Перший день була трохи паніка, але вже на другий день втягнувся в завдання, тепер дуже цікаво, приходжу на роботу раніше за всіх, йду практично пізніше за всіх, щодня відчуваю, як добираю в навичках. Тім лід сказав, що настав час переходити до реального завдання (я влаштувався 28-го фервралю).

  14. Поради початківцям:

    • Англійська. Мені пощастило, що в мене вже вільна англійська (ну як пощастило, ми, наприклад, часто приймали у себе мандрівників з каучсерфінгу, англійська прокачує – будь здорова). Без англійської у програмуванні ти – майже нуль. На жаль це так.

    • Херачити. У мене під час навчання було правило – жодного дня без рядка коду. А стандартно я витрачав кілька годин на день на програмування. На жаль (а може й ні) не читав жодних книг. Зате переглянув багато відео-тьюторіалів і виступів з конференцій + реально перечитав море відповідей на stackoverflow.

    • Все-таки спочатку Коллекшнс. Конкарренсі – за залишковим принципом. Хоча в мене зараз і є пляма в реальних навичках по багатопоточності, але робота з колекціями імхо набагато важливіша. На співбесідах одного разу запитали, чи знаю я що таке м'ютекс і про конкарренсі це було все. А ось про колекцію було зовсім по-іншому.

    • Обов'язково зробити пару десятків вправ на sqlex.ru (це за ескуелем, відповідно). Це дуже просто після кількох десятків рівнів на JavaRush, але при цьому дико корисно як з програмування бекенда, так і співбесід.

    • Обов'язково зробити свій простий проект на фреймворках типу спрінг-бут + хібернейт + майескуель + якийсь двигун шаблонів (типу таймліф або мусташ). Або думаю проходження стажування буде аналогом, але тут нічого порадити не можу. Людина з голою теорією зі спрингу і зробленим проектом це з програмування - просто небо та земля. Після проекту середні вправи на курсі стали практично дитсадком, складні - нижче за середній. Просто завдяки підвищенню програмістської зрілості.

    • Обов'язково розібратися і додати в цей проект обробку транзакцій не просто на рівні "додати до методу в сервісі @Transactional". Тема для транзакції була завжди на співбесідах. Я шкодую, що не розкопав sqlex.ru та транзакції спрингу та хібернейту до пошуку роботи. Людина, яка в темі транзакцій, розмовлятиме зі співрозмовниками на позицію з бекендом набагато, набагато краще.

    • У кого якісь питання-проблеми - пишіть, обов'язково постараюся допомогти, чим можу. Особливо хто робить свій перший проект на Спрінг. Хто в Москві – із задоволенням зустрінусь.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ