Як стати програмістом: самоосвіта, ментор чи університет?
Їх називають "деви" (від "developer"), прогери, кодери, айтішники. Сьогодні – на 256-й день року – вони відзначають своє професійне свято. У невисокосний рік програмісти "гуляють" 13 вересня, а у високосний – 12-го. А от чи реально "перетворитися" в програміста – дізнавалися журналісти сайту "24".
Доречно сказати, що дату обрано не випадково – символічне число 256 (два у восьмому ступені) тісно пов’язане з комп’ютерами й вибрано тому, що це кількість чисел, які можна виразити за допомогою одного байта (одиниці вимірювання обсягу даних).
З чого починати?
У першу чергу розібратися – чи потрібне вам програмування взагалі. Адже той факт, що зараз в IT платять дійсно чималі гроші, не означає, що всім потрібне програмування і всі отримуватимуть масу задоволення від подібної професії, відзначив у коментарі сайту "24" засновник аутсорсингової IT компанії SoftFormance, блогер, автор книги "Веб-Розробка з Python та Django для Початківців" Віталій Подоба.
Для того, щоб визначитися, варто дати відповіді на декілька подібних запитань:
• чи отримуєте ви задоволення від 8 і більше годин в день за комп’ютером?
• вам подобається проводити час наодинці зі своїми думками чи надаєте перевагу шумній компанії та спілкуванню з іншими?
• в школі вам більше подобались точні чи гуманітарні науки?
• вам подобається одноманітна робота чи краще щодня вирішувати зовсім інші, нові проблеми?
• філософське запитання: уявіть свій ідеальний день у випадку, якщо у вас вдосталь грошей та часу, буде там програмування?
Якщо немає жорстких заперечень на здавалося б прості запитання, тоді експерт радить кілька можливих сценаріїв, з яких можна розпочати свій шлях у програмування:
1. ВНЗ: стандартний шлях, який забирає 5 років і дає хороші базові знання (звісно, якщо студент виявляє бажання отримати їх). Однак це не дуже привабливий варіант, коли вам уже не 18 або коли результат ви прагнете отримати швидше, ніж за 5 років.
2. Навчальні курси: бувають різних типів і доволі часто дають непогано теоретичну і частково практичну базу для подальшого пошуку роботи в якості програміста.
3. Ментор: товариш чи знайомий програміст погоджується допомагати вам освоїти непросту професію програміста.
4. Самоосвіта: мабуть найважчий варіант на початку, адже тут ви залишаєтесь самі без спеціалізованої допомоги ззовні. В будь якому випадку, знайте, що без самоосвіти жоден із вищенаведених сценаріїв не спрацює.
Моя історія входу в IT сферу в якості програміста складається із двох сценаріїв: ментор + самоосвіта. Я не маю спеціалізованої освіти, пов’язаної із програмуванням чи IT. У 2006-му закінчив "мехмат" ЛНУ,
– розповів Подоба.
Де навчатися?
Якщо ви лише завершуєте школу і в процесі вибору вашого подальшого шляху, тоді є сенс обрати ВНЗ, наголошує експерт, адже базова IT освіта дасть глибоке розуміння багатьох потрібних технологій, а кількість контактів, яку ви там отримаєте, допоможе швидше знайти омріяну роботу. Або навіть зібрати власну команду однодумців.
Багато моїх знайомих, які навчались на прикладній математиці, вже на 3-му курсі успішно працювали програмістами,
– розповідає засновник аутсорсингової IT компанії SoftFormance.
Якщо ж вам вже давно не 18, або ви просто не маєте розкоші у 5 зайвих років – ВНЗ буде не найкращим варіантом. Галузь програмування доволі широка і багато спеціалізацій не потребують (принаймні на початках) глибоких знань, що дають в "альмаматер". Відповідно, можна зекономити трохи часу і вже в межах 1-2 років з нуля отримати першу роботу програміста на позиції джуніора (молодшого програміста з невеликим досвідом роботи). Звісно такий екстерн-варіант вимагатиме від вас неабияких вкладень часу та зусиль. Однак це можливо.
Я сам витратив 1,5 року на освоєння програмування і більша частина студентів, які проходили у мене персональне менторство, вкладались в 2 роки до отримання першої роботи джуніором,
– зазначив Подоба.
Екстернат-варіант
Жодні курси не дадуть вам 100% готовності для роботи джуніором. Для цього потрібно буде докласти ще доволі багато власних зусиль і самостійно набити резюме реальними (або наближеними до реальних) проектами.
Для тих, хто не хоче або не має змоги навчатися програмуванню цілих п'ять років, існує значно коротший шлях опанування престижної професії.
• Теоретичні школи програмування (типу ШАГ).
• Більш практичні курси при великих IT школах.
• Знову ж таки – пошук і робота з персональним ментором.
• Практичні курси від інших програмістів. Наразі їх доволі багато. Наприклад, ось тут.
• Ну і ніхто не відміняв самоосвіти. Адже зараз є тонни безкоштовної й платної інформації, онлайн курсів, відео уроків та інших навчальних ресурсів в інтернеті.
Мова, технологія, напрямок
Є два табори програмістів, які рекомендують два абсолютно протилежні підходи:
Перший табір рекомендує обирати найпростіші мови та технології, щоб старт з нуля був максимально простим і давав якомога швидші маленькі перемоги, зазначає Подоба. Таким чином, збільшуються шанси, що початківець не здаcться напівдорозі. У цьому випадку, вже маючи певну практику програмування, він матиме ще доволі великі прогалини в розумінні важливих азів програмування, які згодом доведеться наздоганяти. Таким чином, перший табір рекомендує обирати інтерпретовані мови програмування (наприклад Python, PHP, Ruby) та простіші технології і напрямки (наприклад Веб).
Другий табір, навпаки, рекомендує починати із серйозних складніших технологій і мов, таким чином, одразу з головою занурюючись в усі тонкощі й складнощі програмістських парадигм і шаблонів. Для того, щоб джуніор не просто міг "кодити", але й мав хороше розуміння базових концепцій, цей табір рекомендує починати з таких мов, як, наприклад C, C++, Java.
За словами експерта, успішнішим є підхід першого табору. Відтак, краще починати із простіших мов та технологій. Однією з найулюбленіших зв’язок, на думку Подоби, є сучасна динамічна мова програмування Python та напрямок веб-розробки.
Англійська
В основному IT-компанії в Україні працюють на аутсорс. Тобто виконують замовлення клієнтів з-за кордону. Таким чином, в більшості випадків, бажано мати мінімум середній рівень англійської і вище. Адже програміст зазвичай комунікує напряму з клієнтом англійською мовою.
Середній рівень (intermediate) володіння англійською є вимогою навіть для джуніора. Доволі часто хорошого програміста не беруть на роботу лише через брак англійської, підкреслює автор книги "Веб-Розробка з Python та Django для Початківців". Читати, писати та перекладати – це те, що повинен вміти кожен програміст. Розмовна ж англійська вимагається вже для вищих рангів – сеньйор (senior), лідер команди (team lead).
Не лише мова програмування
Програмування – надзвичайно динамічна професія. Щодня доводиться вивчати щось нове та вирішувати принципово інші проблеми. Технології ростуть, як гриби після рясного дощу.
Проте на початку свого шляху варто сфокусуватись на одній мові й напрямку. Це допоможе швидше і глибше опанувати їх і наблизитись до своєї першої роботи, наголошує експерт.
Навіть при цьому вам доведеться розбиратись із суміжними галузями програмування, а також покращувати свої так звані софт-скіли: адміністрування операційної системи, продуктивність та персональний менеджмент, методології розробки та роботу в команді, комунікації з клієнтом, швидкий набір тексту, делегування задач іншим, планування задач та багато інших речей.
Яку роботу обирати?
На думку Подоби, варто обирати простішу мову та технології. З часом ви завжди зможете переключитись на складніші і, можливо, інколи більш цікаві напрямки.
Одним із найпростіших і легкодоступних напрямків вважається веб-розробка.
Щодо компанії – на сайті dou.ua можете переглянути детальний список компаній, які зацікавлені в початківцях.
Цей список є доволі важливим, адже далеко не кожна компанія бажає працювати із початківцями та витрачати власний ресурс на їхню освіту. Позицій джуніорів на ринку в рази менше, ніж мідлів та сеньйорів.
Зарплата
Програміст-початківець може зі старту розраховувати на 300-500 доларів у місяць. Далі – веселіше. Середня зарплати програміста по Україні, згідно з соцопитуваннями веб-сайту dou.ua, сягає 1500-2000 доларів на місяць.
Тому, присвятивши 1-2 роки на опанування, на перший погляд, непростої професії, ви одразу отримуватимете більш ніж достатньо.
Читайте також: ІT в Україні: експерти про "конверти" і тонкий ризик