Час, коли всі вважали вищу освіту обов’язковою умовою отримання хорошої роботи, давно пройшов. Сучасний ринок IT цінує досвід, навички та готовність розвиватися.
Проте щороку випускаються цілі потоки фахівців з університетів (ми навіть не говоримо про різноманітні курси). Тож чи потрібен диплом програмісту, які предмети потрібно вчити та скільки потрібно вчитися на програміста загалом? Ми дослідили це питання, взяли коментарі у IT-фахівців та роботодавців і вже готові поділитися відповідями у цьому матеріалі.
За результатами опитуванням Stack Overflow Developer Survey, у якому взяли участь понад 70 тис. респондентів, 70% від усіх опитаних мають вищу освіту.
При цьому кількість тих, хто навчився кодити в коледжах, університетах — 62%, а кількість тих, хто вчився за допомогою онлайн-курсів — 47%. А ще 71% опитаних використовували онлайн-ресурси для вивчення програмування, наприклад, відео, блоги, форуми тощо.
Що це може означати?
Статистика показує, що відсоток програмістів з вищою освітою сильно варіюється від країни до країни. Наприклад, у США близько 60% програмістів мають ступінь бакалавра або вище, тоді як в Індії лише близько 15% програмістів мають вищу освіту.
Наприклад, Джоел Спольскі, генеральний директор Stack Overflow, стверджує, що вища освіта для айтівця не must-have. У своєму блозі він заявив, що «ступінь з комп’ютерних наук не є обов’язковою умовою для того, щоб стати програмістом. Насправді, можливо, важливіше мати портфоліо робіт і практичний досвід».
Дані вище свідчать про те, що вища освіта — не запорука успішної кар’єри у програмуванні, і без неї можна працювати та отримувати різноманітні плюшки від роботодавців. Однак вона може бути корисною в певних контекстах.
З іншого боку, згідно зі звітом Burning Glass Technologies, 73% робочих місць в інформаційних технологіях вимагають вищу освіту, і це потрібно брати до уваги.
Хай там як, девелопери досі досить активно обирають вищу освіту, хоча, отримати хорошу базу можна і самостійно, не вступаючи на профільні факультети. В той же час вища освіта має свої плюси, як і мінуси. Розглянемо їх далі.
Тим, хто навчався в ВНЗ, є що згадати про студентські часи (привіт, цікаві та не дуже пари та викладачі, імена яких срібною ниткою вишиті на серці). Проте чи дійсно потрібно вступати в університети, щоб потім стати програмістом та отримати круту роботу? Спойлер: звісно, ні. Чи може університет дати якісь гарантії працевлаштування та світлого майбутнього? Теж ні. «Гарантії може дати тіко Бог».
То чому ж щороку ВНЗ набирають цілі потоки студентів?
Перш за все, теорія — це те, чого справді можна навчитися в наших університетах. І це те, чому приділяється значна увага. В навчальних програмах вишів чимала увага приділяється алгоритмам, структурам даних, а також вищій математиці, що вкрай цінно у окремих напрямках. Саме ці знання роблять українських розробників такими популярними у світі.
Крім того, в програмах вишів є і корисні гуманітарні предмети, наприклад, іноземна мова за професійним спрямуванням.
Навчатися на профільних факультетах круто тим, що ви потрапляєте у середовище амбітних розумних студентів, які знають (ми сподіваємося), чого хочуть. Можливо, з кимось із них ви зробите pet-проєкт, який стане стартапом-єдинорогом! А якщо пощастить, ви також зустрінете сильних викладачів, які розкажуть, як стати розробником та як влаштована сфера IT. Якщо сприймати факультет як ком’юніті, то можна знайти корисні зв’язки як серед одногрупників, так серед менторів, запрошених лекторів та викладацького складу. Вони підкажуть, які технології та фреймворки зараз варто вивчати та де знайти можливості для стажувань.
Також нині виші звертають увагу на командну роботу, тому у програмах деяких ВНЗ (наприклад, у Львівської політехніки) передбачені проєкти з розробки ПЗ з одногрупниками. А це точно розвиває не тільки hard-skills, але і soft skills програмістів.
Програми вишів мають акцент на цьому. А без вищої математики та матаналізу точно не обійтися тим, хто хоче працювати у сфері Machine Learning, Data Science, Big Data. Тому це точно буде плюсом у подальшій кар’єрі.
Найчастіше для державного сектора актуальна наявність вищої освіти у розробника. Якщо хочете розвивати IT-продукти у держструктурі (B2G) — вам може знадобитися диплом. Також на нього є попит на деяких інших посадах, зокрема пов’язаних з біоінженерією тощо. А ще, за досвідом IT-рекрутерів ITExpert, формальні іноземні компанії, наприклад, у сферах банкінгу чи деяких Fintech-продуктів все ще звертають увагу на диплом та можуть фільтрувати кандидатів за цим критерієм. Проте для роботи в інших сферах критичність диплома може бути переоцінена.
Думки фахівців:
«Думаю це не обов’язково повинно бути критичною вимогою. Звісно, для деяких професій, пов’язаних, наприклад, з математичним аналізом та роботою з даними, це важливо, але в цілому й середня освіта (якщо вона якісна) надає грамотності. Також з власного досвіду впевнилась, що багато класних ІТ-фахівців мають незакінчену вищу освіту, чого їм цілком вистачає» — анонімно, Recruiter
«Це не має сенсу, оскільки в реальних компаніях важливіший досвід» — анонімно, Project manager
Програми багатьох вишів складені так, щоб ознайомитися з ширшим колом напрямків в IT. Тут вам і класичне програмування, і робота з інтерфейсами, і Machine Learning, і Data Science, і менеджмент. Непоганий спосіб зрозуміти, до чого у вас лежить душа та у якій сфері вам було б цікаво надалі розвиватися. Навіть якщо у результаті ви захочете бути підприємцем, а не просто програмістом.
А головне, виш дає розуміння, що навчання — це постійний процес. Це інсайт, який доносять лектори-практики з міжнародних конференцій останні роки: у сфері IT розвиватися та отримувати нову інформацію потрібно постійно.
Проте є й мінуси. Розглянемо їх під мікроскопом далі.
Чотири роки бакалаврату — досить тривалий період, за який можна досягти чогось в IT.Звичайно, студентське життя — період свободи, дорослішання та отримання досвіду та знань. Проте навчитися кодити та отримати базу можна і у коротші терміни. Наприклад, ось добірка безкоштовних онлайн-курсів, які, якщо і не замінять навчання у виші, то точно стануть стартом або доповненням до нього.
Потрібно бути готовими, що за практикою необхідно влаштуватися працювати паралельно з навчанням. Це найшвидший крок, щоб втілити отримані знання на практиці. Для цього не потрібно багато навичок чи сил. Складаєте резюме, шукаєте компанії, в яких було б цікаво попрацювати, та відгукуєтесь.
Ще одна порада: подавайтеся на стажування, беріть участь у хакатонах при IT-компаніях. Це справді чудовий спосіб отримати знання та зробити так, щоб вас помітили. І +1 доповнення у резюме.
Що б обрали ви, якби були на місці рекрутера чи hiring-менеджера: кандидата з досвідом роботи у сфері та низкою реалізованих проєктів, чи випускника вишу, у якого є база, проте немає досвіду в роботі? Відповідь очевидна.
Звісно, компаніям потрібні кандидати зі знаннями та хоча б невеликим, проте реальним досвідом. Тому наявність стажування — вже значний плюс у CV.
Університетських знань вистачить, щоб знайти роботу в IT без досвіду, якщо ви подаєтеся на Trainee-позицію. У той самий час доведеться поглиблювати здобуті знання та багато практикуватися. Це потребує зусиль та часу.
Яка ж освіта потрібна програмісту? Все залежить від ваших поточних проєктів та цілей. Якщо ви хочете працювати у Big Data, впроваджувати smart-рішення, робити глибокі дослідження ринку — варто звернути увагу на вищий навчальний заклад. Там справді можна отримати хорошу теоретичну базу для цього напрямку.
Проте якщо ви хочете створювати мобільні додатки, розробляти невеликі сайти, то курси програмування та практика допоможуть вам швидше влитися у роботу.
Цей висновок актуальний і для рекрутерів. Звісно, фонові знання, суміжні дисципліни та хороша база — це те, що треба завжди. Проте швидкість, ентузіазм, самонавчання та досвід можуть бути важливішими для певних вакансій.
Тож чи потрібно отримувати профільну вищу освіту програмістам? Думки фахівців IT сфери різняться.
Одним з експертів, який виступає за вищу освіту в галузі програмування, є Кевін МакПік, виконавчий директор з технологій та інновацій в Університеті ДеВрі. В інтерв’ю для eCampus News МакПік заявив, що «формальна освіта може забезпечити більш повну базу знань і краще розуміння основних принципів і теорій комп’ютерних наук, що може бути безцінним у розв’язанні складних проблем і проєктуванні ефективних систем».
Пітер Велч, операційний директор компанії Rocket Software, також вважає, що диплом з комп’ютерних наук може забезпечити конкурентну перевагу на ринку праці. У статті для IT Pro Portal Велч заявив, що «ступінь з комп’ютерних наук пропонує більш всебічну освіту, і ті, хто її здобуває, швидше за все, володітимуть ширшим спектром навичок і знань».
З іншого боку, деякі експерти стверджують, що формальна освіта не є необхідною для успіху в програмуванні. Одним з таких експертів є Метт Баркомб, консультант і тренер з програмного забезпечення. В інтерв’ю DZone Баркомб заявив, що «набагато важливішими є досвід і готовність вчитися та адаптуватися».
Тож чи критичною є вища технічна освіта для айтівців?
Думки фахівців:
«Так, оскільки людина має бути всебічно обізнана» — анонімно, Head of HR Team
«Ні, бо головне — це досвід та практичні навички. Майже кожен із моїх знайомих розробників — самоучка» — анонімно, QA Lead
«Я б сказала цінна, але аж ніяк не критична. Якісна вища освіта допомагає у розвитку самодисципліни та навичках самостійного навчання. Окрім того, навчальні заклади надають банальні основи грамотності і тайм-менеджменту» — анонімно, Recruiter
«Ні, я працюю та живу у країні ЄС, в мене кожного разу питають чи я маю вищу освіту, але ще жодного разу не перевірили диплом» — анонімно, Project manager
Звісно, навчальні програми вишів відрізняються. То які ж предмети вивчають програмісти? Якщо узагальнювати, то найчастіше у програмі можна знайти такі дисципліни:
Також деякі ВНЗ дають на вибір обирати дисципліни та напрямок. Наприклад, студенти кафедри програмного забезпечення Львівської політехніки можуть обирати напрямок: IoT, GameDev, Data. А це крута опція. Також важливо моніторити програми ВНЗ, які готують айтівців, та розуміти їхню специфіку.
Відслідковувати навчальні заклади корисно не тільки абітурієнтам, а й рекрутерам. Адже серед майбутніх випускників може бути чимало талановитих та натхненних кандидатів. Особливо, якщо напрямок підготовки кандидатів в ВНЗ підходить під опис вакансій, а вам потрібно набирати одразу багато Trainee.
Крім того, великим IT-компаніям зі специфічним стеком чи великими планами на масштабування, варто звертати увагу на внутрішнє донавчання фахівців. Частіше за все подібні курси орієнтовані саме на студентів та випускників без досвіду роботи. Так, наприклад, компанія Intellias навчає Frontend, Java, DevOps, Testing та пропонує вакансії найуспішнішим учням.
Тож чи потрібна вища освіта для програміста? Зайвою вона точно не буде. Проте і наявність червоного диплома з комп’ютерних наук — не гарантія того, щоб знайти хорошу роботу. Звичайно, навчання у ВНЗ має свої переваги, дає непогану теоретичну базу, проте без постійної практики, готовності експериментувати та розвиватися диплом так і залишиться першим виконаним чекпоінтом на шляху до того, щоб стати CTO.
Запрошуємо Вас до нашого телеграм каналу щоб дізнаватися більше цікавих новин з життя кафедри ІПЗАС, де також ви зможете знайти всі деталі щодо вступу на нашу спеціальність - 126 Інформаційні системи та технології.