Робота в IT приваблює різними факторами: хороші фахівці дуже затребувані, можна працювати віддалено і побудувати відносно вільний графік, вибір професій великий, і мов програмування теж багато.
Якщо ти не сумніваєшся, що твоє майбутнє повинно бути пов’язане саме з розробкою, ось кілька кроків, з яких варто почати.
Визначся з підходом до вивчення мов програмування
Є кілька підходів до вивчення мов програмування:
- консервативний
Почни з опрацювання основ. Ти зрозумієш, як розвиваються технології і сама сфера.
Переваги: зрозумієш стеки технологій, освоїш теорію, зможеш орієнтуватися в методах роботи.
Недоліки: вивчати доведеться довго, а сам процес орієнтований на теорію, а не на практику.
- сучасний
Ідеологи цього підходу радять вивчати ту мову, на якій згодом і плануєш будувати роботу.
Переваги: практична спрямованість навчання, зможеш швидко знайти роботу і цікаві проекти.
Недоліки: не вийде підібрати альтернативи для вирішення завдань.
- утопічний
Почати вивчати відразу кілька мов програмування, щоб вміти оперувати в невеликому обсязі на кожному з них.
Переваги: великі можливості для успішного працевлаштування, вміння швидко знаходити альтернативу.
Недоліки: твоє майбутнє – «середняк» в програмуванні. Натхненним творцем і досконалим знавцем у всіх обраних мовах тобі не стати.
Визначся зі сферою майбутньої діяльності
Якщо ти поки тільки шукаєш сферу, яка могла б бути цікава, то ось короткий дайджест основного движу по областям:
- Розробка сайтів
Популярний напрям. Саме тут стане в нагоді простий і вкрай доступний у вивченні html, динаміки сторінці додасть JavaScript. Для фронтенд це мінімальний набір навичок, бекенд може базуватися на php, Java, Python, C#.
- Game Dev
Твій вибір – С++, Java, С#, Python.
- Розробка додатків
Якщо ти спиш і бачиш, як сотні користувачів запускають твій додаток на смартфоні, то твої друзі – Java (Android), Swift та Objective C (iOS). Для розробки на робочому столі можна скористатися C++, Java, C#, Python.
Вибери мову програмування
Навіть серед досвідчених розробників немає єдиної точки зору на те, яку мову програмування варто вчити першою. Хтось спочатку прагне до роботи на складних мовах групи C, хтось починає з JS і поступово нарощує темпи. Щоб не стрибати з однієї мови на іншу, важливо зрозуміти, які завдання ти хочеш вирішувати з її допомогою і до чого ти взагалі прагнеш в IT-розробці.
При виборі мови – твого основного інструменту – треба враховувати певні критерії:
- Кількість часу, який ти можеш витратити на вивчення;
- Поширеність мови;
- Сферу та специфіку її застосування;
- Перспективу використання в найближчі роки
Саме тому починати я рекомендую з найбільш простих і популярних мов:
- JavaScript
Everybody loves JS. Для роботи з JavaScript досить браузера. На цій мові можна створювати все: мобільні, десктопні та кросплатформені програми, ігри, сервери. Можливості JavaScript набагато глибші, він вважається фундаментальним.
Ще одна причина почати вивчення програмування саме з JS – його схожість з мовами групи C. Ти будеш приблизно орієнтуватися в просторах C#, C++, Java і PHP.
- Python
Досить проста та зручна в освоєнні мова. Загальний посил коду можна зрозуміти навіть без знань в програмуванні. Синтаксис не відніме багато часу на написання програми, а велика база бібліотек заощадить купу нервів. Крім того, код на Python легко збирається в один exe-файл, який не потребує установки додаткових компонентів.
- Java
Створена більше 20 років тому, але як і раніше залишається одною з найпопулярніших мов програмування. Розробка додатків на Android – лише одна з можливостей такого потужного інструменту. Це чітка і структурована мова, яка допомагає навчитися дійсно розробляти: тут реалізовані принципи об’єктно-орієнтованого програмування, вивірена робота з пам’яттю, є варіанти використання в якості функціонального програмування.
Почни вчитися
Для вивчення програмування є чотири варіанти:
- Самоосвіта
Перше, що спадає на думку. Самоосвіту можна поєднувати з усіма іншими способами. В інтернеті ти вільно знайдеш книги, ресурси, додатки, які допоможуть опанувати потрібними навичками. Але цей шлях мені здається найскладнішим через слабо розвинену самодисципліну, відсутності людини, яка допоможе порадою, і чіткої послідовності в навчанні.
- Вища освіта
Не завжди університет дає можливість розвернутися на практиці, але, як правило, дає міцну теоретичну базу і початкові компетенції, за допомогою яких можна робити власні невеликі проекти. «Корочка» послужить приємним доповненням до твого резюме.
- Куратор
Куратор або ментор – та людина, яка здатна порадити щось корисне, направити, допомогти розібрати помилку або навіть просто підтримати в потрібний момент, щоб переглянути код, підказати, як вирішити помилки або оптимізувати написане, порекомендувати книги. Все це не в форматі «учитель навчає учня», а як старший товариш, який допомагає молодшому.
Як правило, знайти ментора можна в місцевому IT-співтоваристві серед знайомих розробників, на неформальних зустрічах або в інтернеті.
- Курси
Очні і онлайн, платні і безкоштовні – зараз великий вибір самих різних курсів. Часто під своїм крилом їх проводять різні компанії, після проходження можна отримати пропозицію про працевлаштування. Спробуй пошукати подібні курси в своєму місті. Якщо ціна кусається – допоможе інтернет.
Особиста порада – не економ на навчанні, адже не завжди безкоштовних матеріалів вистачає для повноцінного розуміння технології.
Прокачувати додаткові навички
- Англійська мова
Вся документація, найсильніші і актуальні книги саме англійською мовою. Учи і прокачуй англійську мову: не тільки читай і переводь, а й слухай, пиши, говори. Технічна література – твій кращий друг. Замість музики – англомовний подкаст. Навіть перегляд кіно з субтитрами або копання на іноземних форумах допоможуть поліпшити рівень.
- IT-кругозір
Знати свою мову розробки, платформу, бібліотеки – важливо. Бути готовим до постійного розвитку, вивчення нового і розширення кругозору – безцінно.
Вся сфера IT вкрай рухлива і змінюється чи не щодня. Тому необхідно бути гнучким, готовим до змін і ніколи не зупинятися на досягнутому. Те, що сьогодні є лише на папері – завтра буде застосовуватися в великих компаніях. І навіть якщо ти не зможеш застосувати ці знання на практиці, то свій профіт у вигляді підвищення ерудованості ти все все одно отримаєш.
Головне – завжди прагнути до розвитку. Неважливо, яку мову ви вибрали – йди вперед і бажай більшого. Вивчай літературу, відвідуйте конференції, моніторь форуми, слухай подкасти, стеж за трендами і думай ширше.