- «Адлік часу пачынаецца яшчэ са школьнай лавы»
- «Праграмавання трэба вучыцца ўсё жыццё»
- «Без пастаяннага навучання твае навыкі хутка старэюць»
- «Нават мастак можа стаць праграмістам»
- «Не ўсе людзі, якія скончылі ВНУ па праграмісцкіх спецыяльнасцях, у выніку становяцца праграмістамі»
Праграміст - прафесія, якая патрабуе спецыяльных ведаў і навыкаў. Практычна ў любой прафесійнай вобласці трэба вучыцца і ўдасканальвацца, перш чым стаць спецыялістам, - піша KV.BY. Але ці так адрозніваюцца тэрміны падрыхтоўкі праграмістаў, як, скажам, хірургаў. Бо ёсць хірургі ў паліклініках, а значыць, у бальніцах - тыя, якія аперуюць. І часу, каб стаць аперуюць хірургам трэба ў разы больш.
Праграмісты таксама бываюць розныя: дыпламаваныя і самавукі, вэб-распрацоўшчыкі, распрацоўшчыкі пад Android і iOS, праграмісты 1С, інжынеры-праграмісты і гэтак далей. Дык колькі ж часу трэба, каб стаць праграмістам - адзін дзень ці, можа быць, цэлае жыццё?
«Адлік часу пачынаецца яшчэ са школьнай лавы»
Дзмітрый Ракавец, javа-распрацоўшчык:
Адназначна на гэтае пытанне адказаць нельга, так як час падрыхтоўкі праграміста залежыць ад некалькіх параметраў: стараннасці, здольнасцяў. Валодаючы імі ў належнай меры, за адзін год можна вывучыць мову праграмавання і неабходныя тэхналогіі. На выхадзе атрымаем пачаткоўца распрацоўніка.
Калі ж казаць пра праграмістаў (з вялікай літары П), які можа на сваіх плячах выцягнуць праект, то сюды можна дадаць яшчэ два параметры: захопленасць тым, чым чалавек займаецца, і база, закладзеная ў школе, універсітэце. Гэта значыць, у цэлым адлік часу пачынаецца яшчэ са школы.
Аднак варта звярнуць увагу, што гэтых ведаў усё ж такі недастаткова. Для таго, каб стаць паспяховым праграмістам, абавязкова трэба зноў практыкавацца, вывучаць нешта новае і тут жа прымяняць гэта на практыцы.
Калі ж падыходзіць да разгляду пытання з боку якасці працы, то тут, як у спорце - Лагарыфмічны рост паказчыкаў. Гэта значыць з кожным годам рост якасці выконваемай працы становіцца ўсё менш. Ну а рынак, само сабой, задае планку якасці, пасля якой кандыдат атрымае пэўны оффер.
Мой праграмісцкіх шлях пачаўся, на жаль, позна. Я з праграмаваннем сутыкнуўся толькі ва ўніверсітэце (з Паскалем). Гэта было звязана з тым, што школа, у якой я вучыўся, на жаль, не магла даць мне нават самых прымітыўных ведаў у гэтай галіне. Але з улікам таго, што я займаўся алімпіядных матэматыкай - адразу ж пачаў рабіць поспехі і ў праграмаванні. Не адразу, але ўсё-ткі вырашыў зрабіць крок насустрач прамысловай распрацоўцы. За месяцаў 6 вывучыў усё неабходнае для старту на курсах, і на дадзены момант працую javа-распрацоўшчыкам.
«Праграмавання трэба вучыцца ўсё жыццё»
Дзмітрый кажух, вядучы вэб-распрацоўшчык:
Усё залежыць ад абранай спецыялізацыі. Бо праграмаванні трэба вучыцца ўсё жыццё . Паколькі патрабуецца пастаяннае навучанне і перанавучанне ... Так як стала выходзяць абнаўлення, ствараюцца новыя бібліятэкі, з'яўляюцца новыя мовы праграмавання. Зразумелая справа, трэба вучыцца, каб не адставаць ад перадавых тэхналогій. Выйшла новая вэб-тэхналогія - вывучыў яе.
Акрамя таго, бібліятэкі складаюцца з мільёна розных функцый, і іх вывучэнне за кароткі прамежак часу проста не ўяўляецца магчымым фізічна.
Я, напрыклад, займаюся праграмаваннем прыкладна з 2009 года, можа, і крыху раней. Спачатку пачынаў з стварэння простых старонак на html і таблічнай вёрсткі. Потым паступова стаў вывучаць CSS, JavaScript і PHP. Затым пайшлі гатовыя CMS (Сістэмы кіравання кантэнтам), іх праграмаванне і праграмаванне модуляў для гэтых сістэм. Пасля гэтага я падрабязна разбіраўся ў розных PHP-фреймворках і гэтак далей. Зараз тэхналогій занадта шмат. Якія ўжываюцца і новых, запатрабаваных і забытых. Зразумелая справа, усё ведаць немагчыма. Але ўдасканальвацца і імкнецца да новых ведаў мы абавязаныя.
Тут яшчэ вельмі важна ўлічваць, што маецца на ўвазе пад словам «праграміст». Гэта прыкладна, як на музычным інструменце гуляць. Ёсць тыя, хто гуляюць 3-4 акорда да 5 лада і называюць сябе гітарыстамі, а ёсць тыя, хто ў стане ідэальна выканаць усю дыскаграфію Хендрыкса, але на пытанне «ты ўмееш граць?» Яны адкажуць: «ну, так, пагульваю чуть- ледзь »...
Так і з праграмаваннем. Напрыклад, я ў дадзены момант магу назваць сябе праграмістам. Але так, хутчэй за ўсё, павінны называць цябе калегі, вучні і іншыя датычныя людзі. Бо праграмістам зараз могуць назваць сябе нават школьнікі, якія праграмуюць на «дзіцячых» мовах.
«Без пастаяннага навучання твае навыкі хутка старэюць»
Аляксандр Сташкевіч, інжынер-праграміст:
Калі выраз «стаць праграмістам» маецца на ўвазе атрымаць працу, то перш за ўсё трэба асвоіць базавыя веды ў абраным кірунку.
Навучацца (не ў універсітэце на факультэце інфармацыйных тэхналогій) можна рознымі спосабамі:
- самаадукацыя;
- ментар;
- Курсы.
Калі казаць пра самастойным вывучэнні праграмавання з нуля , То вельмі многае залежыць ад зацікаўленасці чалавека ў навучанні. У інтэрнэце можна знайсці вельмі шмат матэрыялу, які дазволіць асвоіць базавыя веды ў абранай вобласці. Гэты перыяд вельмі моцна адрозніваецца па часе (ад 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 гады?
Але тут пытанне ў іншым: якія задачы могуць вырашаць гэтыя людзі?
Толькі як пра гэта карэктна судзіць?