
Початківцям в IT: як обрати мову програмування та прокачати hard skills
IT-індустрія щорічно зростає на 25-30% та залишається стабільно привабливою для світчерів та випускників ВУЗів. До того ж, минулого року було опубліковано понад 100 тисяч вакансій на DOU. А за словами керівника освітніх програм Sigma Software, відчувається нестача від 50 до 100 тисяч IT-фахівців.
Навіть під час війни IT-сфера залишається відносно стабільною для працівників, поступово збільшується кількість вакансій та стажувань для спеціалістів без досвіду.
Якщо ви вирішили розпочати кар’єру програміста, обираєте напрямок або хочете підвищити рівень технічних знань — цей матеріал для вас. За відповіді дякуємо Роману Шмельову, ментору та координатору школи програмування Ш++.
На що звертати увагу при виборі мови програмування для вивчення?
Початківцю в IT варто звертати увагу не стільки на мову, скільки на навчальну програму. Важливо, щоб на курсі/стажуванні ви навчилися програмувати у широкому сенсі (не просто знати одну мову чи добірку інструментів). Мистецтво доносити компʼютеру свою думку не належить до конкретної мови, але є набагато важливішим як навичка. Воно дозволяє розуміти загальну логіку та переносити знання на різні мови програмування.
Також раджу перевірити кількість вакансій для початківців за різними технологіями. Порівняйте вакансії між собою та обирайте більш популярні напрямки. Зробити це можна, наприклад, у розділі вакансій на порталі DOU.
Динаміка кількості вакансій для Trainee/Junior Python Developers:
Якщо ви плануєте якнайшвидше знайти роботу, то вивчайте прості та популярні мови програмування. Серед них: Java, PHP, Javascript, Python тощо. На початку кар’єри не варто занурюватись у мови та технології із високим порогом входу, такі як Rust, Haskell, Scala та інші. Зазвичай до них «приходять» з часом та досвідом.
Звичайно, орієнтуйтесь і на власні вподобання щодо напрямку. Є люди, яким ближча робота з графічними елементами (візуальна частина сайту/frontend). А є ті, хто від графіки втікає в щось більш математичне або серверне (backend). Є ті, хто мріють зробити додаток у свій Android чи «пилити» ігри. Краще обрати цікавий напрямок на початку, ніж силувати себе і демотивуватися у подальшому.
Ви можете й не знати, чого ви хочете. Якщо це так, рекомендую вам звернути увагу на розробку для Web. Яку мову обрати для Web-програмування? Вивчіть JavaScript, а потім — TypeScript (писати на чистому JavaScript невиправдано складно, тож це не те, чого ми б вам радили). Така стратегія дозволить вам бути універсальним бійцем, а у подальшій кар’єрі — мати вибір між frontend (наприклад, працювати з Vue/React) та backend (Node.js). Це можливо, оскільки і там, і там використовується одна мова програмування.
Яку мову програмування вибрати новачку?
Зазвичай не так важлива мова, як зручні редактори, доступність матеріалів, низький поріг для старту, наявність людей, що можуть допомогти.
Наприклад, JavaScript — перша мова, з якою знайомиться студент на початковому етапі навчання в Ш++. Ця мова дуже зручна, щоб швидко отримувати результат без перевантаження різними просунутими техніками та додатковими інструментами. Усе потрібно вивчати поступово!
Гарна альтернатива — Python. Проте ця мова не дає можливості легко стрибати із вивчення frontend до backend і навпаки.
Java — досить проста мова, але вже має «явну статичну типізацію». Тобто компʼютер сам знаходить помилки і вказує на них, проте освоювати Java трошечки важче. Це друга мова, яку вивчають студенти в нашій школі.
Детальніше про вибір першої мови програмування ми розповідали в блозі.
Всі популярні мови є більш-менш оптимальними для новачків. Інакше вони б не стали популярними. Початківці намагаються вибрати най-най-найкращу мову програмування для вивчення. Але насправді будь-яка мова — найкраща для початку кар’єри. Тому досить обирати, вчіться вже!
Скільки часу необхідно для того, щоб вивчити необхідний мінімум для роботи Trainee/Junior-розробником? Наскільки інтенсивно варто навчатися?
Мінімальний період, щоб довчитись до Trainee/Junior-рівня, залежить від характеру та внутрішніх якостей самого студента. Зазвичай необхідно 6-12 місяців для дорослої особи, але цифра дуже варіативна.
Окрім вміння програмувати, не менш важливі так звані «soft-skills». Це такі навички, як уміння коммунікувати, адекватно доносити свої потреби, бути проактивним, дисциплінованим, відповідальним, позитивним… Усі ці якості дають суперприскорення як для першої роботи в ІТ, так і подальшої кар’єри.
Щодо інтенсивності навчання: рекомендуємо вчитись щодня, мінімум протягом двох годин, і мінімум шість годин на вихідних. Програмування неможливо опанувати легко. Окрім самої мови та навичок мислення (на що піде не один місяць), потрібно вміти користуватись різними додатковими технологіями, щоб бути цікавим для роботодавця.
Ті, хто вчаться чесно та інтенсивно, отримують бажаний результат.
Які найкритичніші знання для старту роботи в IT?
Гарною комбінацією є досвід створення більш-менш повноцінного ІТ-продукту та розуміння фундаментальних основ програмування (алгоритмів, структур даних). Зазвичай роботодавці позитивно ставляться до Pet-проєктів (індивідуальні проєкти, який ви робите у вільний час на некомерційній основі).
Всіх цікавить практична сторона, нікому не потрібен завчений матеріал. Тому обов’язково практикуйте усі навички, почуті на курсах.
Які додаткові інструменти має вивчати новачок?
Додаткові інструменти найчастіше залежать від мови програмування/частини архітектури, яку ви обрали. Для простоти користуйтеся кар’єрними дорожніми картами.
Наприклад, Backend Developer, окрім самої мови, має вивчати: бази даних, ОС (наприклад, Linux), інструменти тестування, системи контролю версій, git, CI/CD-практики та багато іншого.
На просунутих етапах навчання в Ш++ ці теми та інструменти вивчаються паралельно з обраною мовою програмування.
Чому важливо не звужувати свою спеціалізацію лише однією мовою/бути готовим вивчати різні мови у перспективі?
Вивчення нового дає можливість свіжим оком подивитись на програмування і на давно знайомі мови та технології. До того ж, гнучкість — це ще одна навичка, що дає в перспективі великі плюси, в тому числі грошову винагороду.
До того ж, несприйняття якоїсь мови вказує на неготовність змінюватись під інші, новіші технології. Зараз для початківців поріг входу в індустрію є дещо високим. Саме тому дуже важливо бути відкритим до вивчення нового, на високих швидкостях, адже сфера IT динамічно змінюється.
Яку головну пораду ви б дали людині, яка хоче почати кар’єру в IT?
Пиши код! Не готуйся, не вивчай багато теорії, не вагайся. Починай писати код, вчись не застрягати, пиши код своїми руками протягом великої кількісті годин.
Також варто знайти тих, хто тобі допоможе або буде йти поряд. Можна спробувати пройти цей шлях у Ш++!