19.08.2016, 15:37:31
Войти Зарегистрироваться
Авторизация на сайте

Ваш логин:

Ваш пароль:

Забыли пароль?

Навигация
Новости
Архив новостей
Реклама
Календарь событий
Right Left

"Потрібно вчитися все життя". Скільки знадобиться часу, щоб стати програмістом?

  1. «Відлік часу починається ще зі шкільної лави»
  2. «Без постійного навчання твої навички швидко застарівають»
  3. «Навіть художник може стати програмістом»
  4. «Не всі люди, які закінчили вищий навчальний заклад за програмістських спеціальностей, в результаті...

Програміст - професія, яка вимагає спеціальних знань і навичок. Практично в будь-якій професійній області потрібно вчитися і вдосконалюватися, перш ніж стати фахівцем. Але так чи різняться терміни підготовки програмістів, як, скажімо, хірургів. Адже є хірурги в поліклініках, а є в лікарнях - ті, які оперують. І часу, щоб стати оперують хірургом потрібно в рази більше.

Програмісти теж бувають різні: дипломовані і самоучки, веб-розробники, розробники під Android та iOS, програмісти 1С, інженери-програмісти і так далі. Так скільки ж часу потрібно, щоб стати програмістом - один день або, може бути, ціле життя?

«Відлік часу починається ще зі шкільної лави»

Дмитро Раковець, Javа-розробник:

Однозначно на це питання відповісти не можна, так як час підготовки програміста залежить від декількох параметрів: старанності, здібностей. Володіючи ними в належній мірі, за один рік можна вивчити мову програмування і необхідні технології. На виході отримаємо початківця розробника.

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

Однак варто звернути увагу, що цих знань все-таки недостатньо. Для того, щоб стати успішним програмістом , Обов'язково потрібно знову практикуватися, вивчати щось нове і тут же застосовувати це на практиці.

Якщо ж підходити до розгляду питання з боку якості роботи, то тут, як в спорті - логарифмічний зростання показників. Тобто з кожним роком зростання якості виконуваної роботи стає все менше. Ну а ринок, само собою, задає планку якості, після якої кандидат отримає певний оффер.

Мій програмістський шлях почався, на жаль, пізно. Я з програмуванням зіткнувся тільки в університеті (з Паскалем). Це було пов'язано з тим, що школа, в якій я навчався, на жаль, не могла дати мені навіть найпримітивніших знань в цій області. Але з урахуванням того, що я займався олімпіадної математикою - відразу ж почав робити успіхи і в програмуванні. Не відразу, але все-таки вирішив зробити крок назустріч промислової розробки. За місяців 6 вивчив все необхідне для старту на курсах, і на даний момент працюю Javа-розробником.

«Програмуванню потрібно вчитися все життя»

Дмитро Кожухів, провідний веб-розробник:

Все залежить від обраної спеціалізації. Адже програмування потрібно вчитися все життя. Оскільки потрібне постійне навчання та перенавчання ... Так як постійно виходять оновлення, створюються нові бібліотеки, з'являються нові мови програмування. Ясна річ, потрібно вчитися, щоб не відставати від передових технологій. Вийшла нова веб-технологія - вивчив її.

Крім того, бібліотеки складаються з мільйона різних функцій, і їх вивчення за короткий проміжок часу просто не представляється можливим фізично.

Я, наприклад, займаюся програмуванням приблизно з 2009 року, може трохи раніше. Спочатку починав зі створення простих сторінок на html і табличної верстки. Потім поступово став вивчати CSS, JavaScript і PHP. Потім пішли готові CMS (Системи управління контентом), їх програмування та програмування модулів для цих систем. Після цього я детально розбирався в різних PHP-фреймворк і так далі. Зараз технологій занадто багато. Застосовуваних і нових, затребуваних і забутих. Ясна річ, всі знати неможливо. Але вдосконалюватися і прагне до нових знань ми зобов'язані.

Тут ще дуже важливо враховувати, що мається на увазі під словом «програміст». Це приблизно, як на музичному інструменті грати. Є ті, хто грають 3-4 акорду до 5 лада і називають себе гітаристами, а є ті, хто в змозі ідеально виконати всю дискографію Хендрікса, але на питання «ти вмієш грати?» Вони дадуть відповідь: «ну, так, грає чуть трохи »...

Так і з програмуванням. Наприклад, я в даний момент можу назвати себе програмістом. Але так, швидше за все, повинні називати тебе колеги, учні та інші причетні люди. Адже програмістом зараз можуть назвати себе навіть школярі, які програмують на «дитячих» мовами.

«Без постійного навчання твої навички швидко застарівають»

Олександр Сташкевич, інженер-програміст:

Якщо під словами «стати програмістом» мається на увазі отримати роботу, то насамперед потрібно освоїти базові знання в обраному напрямку.

Навчатися (не в університеті на факультеті інформаційних технологій) можна різними способами:

  1. самоосвіта;
  2. Ментор;
  3. Курси.

Якщо говорити про самостійне вивчення програмування з нуля, то дуже багато чого залежить від зацікавленості людини в навчанні. В інтернеті можна знайти дуже багато матеріалу, який дозволить освоїти базові знання в обраній галузі. Цей період дуже сильно розрізняється за часом (від 2 тижнів до 3 місяців). Після чого, а краще паралельно з вивченням, слід почати робити власний, цікавий самому собі ж проект, так як навчання без практики не приносить належного ефекту.

З розвитком проекту людина буде постійно вчитися і покращувати якість коду. Тимчасові рамки цього етапу дуже персоналізовані, для деяких проектів може знадобитися 1-2 тижні, а для деяких - пару місяців. Опублікувавши один (2-5 місяців), а краще кілька (3-10 місяців) проектів, можна вирушати на пошуки роботи.

Наставник, ясна річ, прискорює процес вивчення. Він вказує на помилки і області, в яких навчається не вистачає знань. Можливо, він навіть допоможе з пошуками першого проекту / роботи.

Проходження курсів (зазвичай від 2 до 6 місяців) навчить людини вирішувати певне завдання, і всі його знання будуть обмежені саме цим завданням (від А до Б, якщо говорити про короткостроковому навчанні). Якщо після закінчення навчання на курсах людина відразу не знайде роботу або не почне брати участь в цікавому йому проект - таке навчання не принесе ніякого ефекту. Адже в програмуванні, як і в будь-який інший професії, без постійного навчання твої навички швидко застарівають.

Якщо ж говорити про класичний вузівській освіті, то університет вимагає набагато більше часу на навчання, а й повинен давати ширший спектр навичок. Такий спектр великий, проте не завжди дає глибокі знання в конкретних областях. Грубо кажучи, після 2-го курсу потрібно вибрати цікаве для себе напрямок і поглиблювати свої знання, розвивати навички саме в ньому.

Чи можна отримати ці знання не витрачаючи 4 роки? Якщо на самому початку вивчення людина вже вибрав напрямок свого розвитку, то на проходження потрібних саме йому університетських програм він витратить набагато менше часу. Університет адже крім освітніх функцій, розвиває в людині особистість. А це теж вимагає часу.

«Навіть художник може стати програмістом»

Євген Вишневський, веб-розробник, керівник веб-студії:

Я думаю, що немає конкретного часового проміжку, щоб стати програмістом. Питання в тому, хто і що закладає в це поняття. Тобто, якщо хтось вважає, що програміст - це той, у кого є диплом про середню спеціальну або вищу освіту, де прописана спеціальність «технік-програміст» або «інженер-програміст», то, напевно, досить терміну навчання в навчальному закладі, якщо ж брати того, хто дійсно може вважатися програмістом - напевно, вчитися треба все життя.

Те, чого я вчився в університеті на 1 курсі, до 5 вже давно стало не актуальним. Наприклад, коли я був студентом 2-3 курсу, Стів Джобс презентував перший iPhone, а коли я закінчував університет - смартфон вже був повсякденною річчю. Це саме та сфера, в якій все дуже швидко змінюється, так що вчитися доводиться постійно.

Я не вважаю, що в даний момент просто для того, щоб сидіти і писати код, потрібно мати вищу або навіть середню спеціальну освіту. У мене були знайомі художники, які стали програмістами. Вони займалися графікою, живописом, а потім вирішили, що їм це більше не цікаво і стали програмістами. Тобто вони пройшли піврічні курси і в підсумку працюють програмістами в досить немаленьких компаніях. Але тут питання в іншому: які завдання можуть вирішувати ці люди? Просто сидіти і писати код ... з такими навичками і рівнем підготовки вони не зможуть в нашій країні претендувати на зарплату понад $ 2000..

Взагалі, білоруський ринок спочатку розвивався як аутсорсинговий для Заходу. Тобто там є хлопці, які отримують великі гроші, віддають замовлення білорусам, а останні просто сидять і кодят. Вся експертиза там, в Білорусі програмісти просто виконують механічні дії. Зараз цей вектор вже трошки зміщується, навіть екпертиза багато в чому йде в Білорусь. Тут є найсучасніші «речі» - нейронні мережі, штучний інтелект. У нас багато стартапів, які націлені саме на це. І ось там всі хлопці мають мінімум вищу інженерну освіту. Адже ці знання їм дійсно необхідні: статистика, матаналіз і так далі, з теорією ймовірності їм потрібно бути хоча б знайомими. І це теж програмісти.

Але з іншого боку, є умовний товариш, який вдома «на колінах» пише сайти (не важливо якої вони якості), однак він теж себе вважає програмістом. Хоча подивився три видеоурока, навчився ставити CMS-ку і додавати на неї картинки. В результаті у нього виходить сайт. І він теж програміст.

Терміни підготовки тут дуже складно оцінити. А ось якщо оцінювати професію за термінами входження в неї, то найкоротший шлях у веб-розробників (навіть якщо не брати до уваги тих, хто за пару днів освоює технологію по відеоуроку), саме у тих, хто працює з Інтернетом на PHP. Тому що ця мова сам по собі простий, у нього велике співтовариство розробників, по ньому є сила-силенна книг, відеоуроків, курсів і багато іншого. Самою времязатратной областю програмування буде, я думаю, якраз-таки сфера штучного інтелекту і нейронних мереж, тому що там крім хороших знань в програмуванні потрібні і глибокі знання в математиці.

У будь-якому випадку, я вважаю, що якщо є бажання, людина зможе стати хорошим програмістом. Знову згадаю знайомого художника. Навіть маючи «ліричний» освіту, людина зможе осягнути професію. Можливо, йому буде складніше в силу відсутності технічної бази, спеціалізованих знань. Але далі я проблеми не бачу.

«Не всі люди, які закінчили вищий навчальний заклад за програмістських спеціальностей, в результаті стають програмістами»

Олексій, фронтенд-розробник:

В першу чергу, все залежить від базових знань в Computer Science. Це архітектура ЕОМ, знання того, як виробляються обчислення тощо. У другу - від базового розуміння основ програмування, адже наявність цих знань може сильно скоротити шлях становлення програміста.
Кількість витрачається часу також сильно залежить і від предметної області, в якій ти хочеш стати програмістом. Оскільки можуть знадобитися додаткові знання в цій самій предметної області: біологія, фізика + математика, штучний інтелект, блокчейн, комп'ютерна графіка і так далі.

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

Якість знань, звичайно, теж безпосередньо залежить від кількості часу, який людина вкладає гроші в навчання. Хтось може приділяти програмування по 2 години раз в два дні, а хтось може по 12 годин на день сидіти. І ось все це разом може становити дивно різні терміни навчання.

У підсумку все зводиться до того, що терміни - це щось, складно оцінюється. Можна, припустимо, сказати, що на якійсь мові програмування стати Junior Developer можна за 1 рік. Тільки як про це коректно судити? Адже цього джуна, наприклад, взяли на якусь одну роботу, а в 20 інших місць, де потрібен джун, не взяли. Так що статистично він ринку був не дуже потрібен.

Крім того, вміння програмувати - не єдине вміння, яке потрібно від програміста. Тому що завжди є всякі суміжні «речі»: бази даних, верстка, системи черг, якась анімація, системи контролю версій, системи розгортання, хмарні технології і так далі. Тобто це як би не зовсім програмування, але при цьому джава-бекенда розробник без знання баз даних нікому і даром не потрібний.

Загалом, дуже складно оцінити скільки часу потрібно, щоб стати програмістом. Головне, пам'ятати сакраментальну річ: не всі люди, які закінчили вищий навчальний заклад за програмістських спеціальностей, в результаті стають програмістами.

Так скільки ж часу потрібно, щоб стати програмістом - один день або, може бути, ціле життя?
Є ті, хто грають 3-4 акорду до 5 лада і називають себе гітаристами, а є ті, хто в змозі ідеально виконати всю дискографію Хендрікса, але на питання «ти вмієш грати?
Чи можна отримати ці знання не витрачаючи 4 роки?
Але тут питання в іншому: які завдання можуть вирішувати ці люди?
Тільки як про це коректно судити?