JavaRush /Java блог /Java-університет /Як зрозуміти, що тобі підходить IT та організувати навчан...
Yuliia Tunik
42 рівень
Киев

Як зрозуміти, що тобі підходить IT та організувати навчання: ментор Олексій Капустник відповідає на популярні питання програмістів-новачків

Стаття з групи Java-університет
Фулстек-розробник та ментор Олексій Капустник відповідає на поширені питання новачків та розповідає, як зрозуміти, що вам підходить програмування, що треба знати Java-джуну у 2023 році та що зробити, щоб виділитися на тлі інших кандидатів. Як зрозуміти, що тобі підходить IT та організувати навчання: ментор Олексій Капустник відповідає на популярні питання програмістів-новачків - 1

Як зрозуміти, що професія розробника вам підходить? Які якості важливі?

Вам потрібно бути постійно в курсі нових технологій, горіти ними, бажати дізнатися про нове. Без цих якостей вам буде тяжко. Я навчив десятки студентів і в кожній групі були ті, хто горів програмуванням — вони завжди були в лідерах. Програмування — та область, де треба постійно вчитися. І чим нижчий у вас рівень, тим вам важче, тому що ви багато чого не знаєте. Відповідно, вам потрібно витримувати навантаження по навчанню, а пізніше – підтримувати свій рівень. Якщо ви вчитель математики, то ви вивчили необхідні знання та застосовуєте їх у наступні 50 років. Раз на десять років з'являється нове відкриття або нова формула, тоді ви їх вивчаєте і продовжуєте викладати. У програмуванні все навпаки: я два тижні освоював технологію, але поки я з нею розбирався, вийшло нове оновлення, і мені довелося заново переучуватися, бо воно кардинально змінило все. Треба вчитися адаптуватись. Люди самі по собі такі влаштовані, що бояться щось змінювати чи просто не хочуть. Якщо людина така у житті, то їй у програмуванні, напевно, не місце. Але якщо людина розуміє, що їй треба весь час змінюватися, покращуватись, що в житті все непостійне, тоді в програмуванні їй буде легко. Важливими є завзятість і дисципліна. Мотивація працює лише на початковому етапі. Якщо ви тільки починаєте навчатись, вас мотивують гроші, свобода, плюшки, нова професія. Але через кілька місяців мотивація у вас пропаде, і це нормально: далі має працювати дисципліна. Ви можете сидіти годинами над якимось завданням і коли ви його вирішите, то зрозумієте, що все можливо. З таким принципом треба йти далі по життю, бо завжди будуть завдання, які заганятимуть у глухий кут.

Що треба знати Java-розробнику-початківцю в 2023 році?

Крім Java Core, треба обов'язково знати фреймворк Spring, без нього нікуди. Я свого часу провалився на співбесіді, бо не знав, що він потрібен. У будь-якому випадку знадобиться знання баз даних і фреймворку Hibernate. Часто у вакансіях пишуть про знання JavaScript, HTML, CSS, але це залежить від компанії: на співбесіді можуть запитати про них, але чи розробник використовуватиме їх повноцінно, невідомо. В одній компанії, в якій я працював фулстек-розробником, мені це було потрібно. Коли працював у EPAM, я був чистим бекенд-розробником, і це не знадобилося. Знання цих технологій точно не завадить, особливо, якщо захочете створити власний проєкт. Я б порекомендував вивчити таку технологію як Kafka (Apache Kafka — розподілений програмний брокер повідомлень, проект з відкритим вихідним кодом, що розробляється в рамках фонду Apache — ред.). Мідлам це точно варто знати, для джуна це може бути перевагою. Систему керування версіями Git треба обов'язково знати. Також розуміти, хто такий і що робить девопс (основне завдання такого фахівця — налаштування та підтримання у робочому стані потрібного софту в компанії, а також автоматизація кожного етапу розробки — ред.), навіщо він потрібен. Якщо розробник робитиме проекти для себе, він повинен знати базові речі в галузі девопсу.

Що можна додати у резюме, щоб вас виділили на тлі інших кандидатів?

Резюме має легко читатись, я б сказав, інтуїтивно, щоб рекрутер бачив: це Java-розробник, він знає базу та основи фреймворків. Плюсом буде перелік прочитаних книжок. У моєму першому резюме я такий список вказував і коли ейчар зі мною зустрілася, сказала, що компанію вразило те, що я прочитав ці книги. Потрібно зазначити також загальні знання. Наприклад, як працює інтернет, знання REST, SOAP — те, що не стосується Java Core, але відноситься до загального програмування.

Як зрозуміти, що час ходити на співбесіди?

Я почав би з того, що знайшов питання для співбесіди на позицію Java-джуна. Далі читав запитання та думав, що б на них відповів. І порівняв з відповіддю, яку там дано. Якщо більшість відповідей збігаються, добре, можна піти на співбесіду. Якщо розумію, що відповів на три запитання із 30, то треба ці теми підтягнути. Якщо все вийшло із запитаннями, можна пройти онлайн-тести. На співбесіді питання будуть швидше за все майже такими ж, але не забувайте про фактор стресу, тож може бути важче. Коли ви робите всі ці перевірки, ставте собі дедлайн. Якщо ви собі не ставите кінцевої дати, то ви цього ніколи не зробите.

Як готуватися до співбесіди?

Насамперед, треба подолати свій страх. Якщо це перша співбесіда у вашому житті, у вас буде стрес. На моїй першій співбесіді були присутні три досвідчені програмісти, які сказали мені: "Ну, розповідай". І це впливало на психіку не тому, що вони страшні, а тому, що такого ніколи раніше не було у моєму досвіді. Тому, щоб подолати цей страх, можна попросити друзів, щоб вони допомогли: посадити друга, дати перелік питань і нехай поганяє вас за ними. На співбесіді виникне ситуація, коли вас щось запитають, а ви не знатимете відповіді. Не можна просто сказати: "Я не знаю" і далі мовчати. Можна відповісти: "Я з цією технологією не працював, але припускаю, що вона працює таким чином". Ваше незнання треба перетворити на те, що ви легко можете це вивчити. Постарайтеся поводитися впевнено. Будь-яка співбесіда створена для того, щоб оцінити вас як розробника, а вам самим оцінити співрозмовників як ваших потенційних колег. Почувайтеся на рівних: як ви вибираєте компанію, так і компанія обирає вас.

Якщо я лише починаю вчитися, як організувати своє навчання?

У навчанні є тонка грань — це баланс особистого життя та роботи за комп'ютером. Коли ви почали вчитися, у вас може бути багато часу, але ще мало знань, які ви могли б розвивати. Тому ви можете приділяти програмуванню 3 години на день. Потім, коли кількість знань збільшується, ви можете витрачати по 8 годин на день на навчання. Бувають ситуації, коли у вас є запал і ви думаєте працювати по 15 годин на день, щоб якнайшвидше все вивчити. У такому режимі ви довго не попрацюєте. Тому важливо знайти свою межу, коли ви розумітимете, що попрацювали достатньо, щоб засвоїти матеріал, але не переробили, щоб вигоріти. Я багато навчався та працював та це дало негативний ефект. Потрібно відпочивати та розвантажувати свій мозок.

Чи можна навчитися програмуванню за 3 місяці?

І так, і ні. Якщо це вже не ваша перша мова програмування, то ви можете вивчити її за 3 місяці. Я свого часу починав із С++, це було важко, у мене були перерви у кілька років, але коли почав вивчати Java, мені вистачило 2 місяців, щоб освоїти базу. Якби це була моя перша мова програмування і я не мав найменшого уявлення про неї, для мене це був би стрес і мені знадобилося півроку-рік, щоб її освоїти. Зараз, коли мені доводиться вивчати нову мову програмування, це щоразу йде все швидше та швидше.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ