Как Да Стана Програмист – Анализ на Всички Начини


Днес е повече от достъпно да станеш програмист започвайки от нулата. Това обаче не е толкова лесно, когато не знаеш кой е най-добрият начин да го направиш. Съществуват много възможности и начини да се научиш да програмираш, като всеки си има своите предимства и недостатъци, и това е едно от първите препятствия за всеки желаещ да тръгне по този път. 

Добрата новина е, че за да станеш добър програмист не е задължително да записваш университет, както е нормата за доста други професии – едни от най-успешните програмисти са се научили да програмират сами. Това следва да ни даде знак относно качествата на хората, желаещи да станат програмисти. За да си добър, трябва да имаш изключително силна мотивация да се развиваш и да учиш нови неща.

Защо за фирмите формалното образование не е важен критерий при избора на програмист? 

Дигиталната сфера е изключително динамична и постоянно изменяща се. Тук са важни реалните умения, опит и портфолио на кандидата за работа, както и неговите личностни качества – мотивация, желание за учене, чиста и ясна комуникация. 

Освен стандартно интервю с HR представител на фирмата, всеки кандидат за позиция като програмист задължително преминава през тестове, задачи и дори техническо интервю. Позицията се предлага само на успелите по всички параграфи. Тук дипломата и сертификатите имат ниска тежест (а понякога даже нямат никаква) и такива документи могат да са предимство за да изпъкнеш пред другите кандидати или ако позицията е за начинаещи и стажанти.

Та, нека да разгледаме в дълбочина различните начини как да станеш програмист заедно с техните плюсове и минуси.

Университет

От малки сме свикнали да чуваме, че без образование не можеш да се развиваш. Университетите са естественото продължение на училищата и се явяват местата в които младите хора за първи път се сблъскват с реалността… Или по-скоро отлагат този сблъсък с още четири години. 


Предимства: 

  • Социалната среда, изграждането на приятелства и умения за общуване. Тук се създават едни от най-дълготрайните ни приятелства и връзки, които след това могат да са ни от помощ през целия живот. Често се случва да си намериш работа чрез препоръка на твой бивш съученик или да сформираш екип от колеги за работа по собствен проект.
  • Груповите проекти, които понякога се прокрадват в програмата на университетите, развиват уменията ни за работата в екип и правят комуникацията ни по-ефективна.
  • Каквото и да си говорим, университетът е мястото, където можем да придобием една добра обща картина за компютърните науки като цяло. Програмите са широки и включват за всекиго по нещо, което пък помага за по-нататъшната ни ориентация. 
  • В края на периода студентите получават дипломи, ако успешно са преминали през курса на обучение.

Недостатъци

  • Широката програма включва много часове и упражения, които са ненужни за всеки, който вече се е ориентирал какво иска да прави.
  • Често липсва актуална и адекватна за нуждите на бизнеса програма за обучение. Това е препятствие не само за университетите в България, но също така и за престижните образователни институции по света, защото одобряването на програма е дълга процедура. Тя преминава както през структурите и ръководствата на университетите, така и през държавните образователни институции, учебните издателства и други свързани звена. Доста често във времето в което една програма е вече готова, тя загубва своята актуалност поради динамикта на ИТ сектора.
  • Често самите преподаватели, като хора извън бизнеса, не са “на ти” с последните тенденции в света на технологиите. Те не са подготвени да дадат адекватни примери и добри практики за употребата да дадена технология в бизнеса. Това е свързано и с предаването на soft skills (меки умения), които са  основна част от културите на ИТ компаниите и ако не са задължителни, то са високо ценени и широко търсени. За жалост университетските програми рядко включват обучения с такава насоченост.
  • Университетите не помагат на бъдещите програмисти с изграждането на успешно портфолио. Стандартните курсови проекти, които всеки от нас е правил в университета не се зачитат от работодателите и те няма как да добият представа за уменията на кандидат-програмиста.

Самоподготовка

В днешно време информацията е изключително достъпна и ликвидна. Научаването на нови неща се случва с няколко клика, а пазарът бива все повече насищан с онлайн курсове, като някои са дори безплатни. Но и с всички тези ползи, да се научиш да програмираш сам има и своите недостатъци.

 
Предимства

  • Обучението е евтино или безплатно, намиращо се само на няколко клика разстояние. Има много безплатни материали с добро качество, макар че по-качествените обикновенно са платени, но все пак са на сравнително достъпни цени от няколко десетки до стотин долара за курс.
  • След като закупиш курса имаш пълната свобода да определяш удобно за теб време и място за учене. Няма срокове, няма изпити и курсови проекти – всичко е под твой контрол.
  • Понеже повечето курсове са изградени от упражнения, те ти дават възможност да започнеш да изграждаш своето портфолио докато учиш.


Недостатъци

  • Самоподготовката изисква да имаш добре развити качества за търсене и справяне с проблеми. Тя е подходяща за хора, които вече са се сблъсквали с някаква форма на програмиране и имат основата да преценят ситуацията. Самоподготовката е също така супер инструмент за вече учещите, които желят да подобрят и задълбочат знанията си, но е недостатъчна за напълно начинаещите.
  • Липсата на преподавател (Ментор) може да е сериозен удар за мотивацията. Няма кой да ти даде насока относно какво и как да учиш, както и няма кого да попиташ при затруднения. Това кара много хора да си мислят, че не могат да се справят, че програмирането не е за тях, като в крайна сметка се отказват. 
  • При самоподготовката липсва единно виждане за крайния резултат. Налага се да учиш нещата от различни източници и с различно качество, което прави обучението ти несъгласувано и хаотично. Това не се харесва особено на работодателите, които предпочитат да наберат хора със стабилна основа, които в последствие да обучат.  
  • Често безплатните курсове не са достатъчно задълбочени и детайлни (за разлика от платените), и разясняването на детайлите лежи изцяло на твоите плещи.
  • Ученето трябва да бъде систематично и с подходящо темпо, което липсва при самообучението. Въпреки че е удобно да гледаш безплатни или платени видеа съобразно твоето време и желание, това изисква висока дисциплина, която много хора нямат. Ако пък се учи вкупом, в продължение на 6-8 часа на ден, тогава материалът не се усвоява добре. Когато се правят по-големи прекъсвания между сесиите учене, картинката става още по-обърката. Ако учиш една седмица усилено а следващите две почиваш, ти най-вероятно няма да успееш да изградиш стабилни познания относно материята.
  • В резултат на гореизброените, този тип обучение се случва много по-трудно и отнема повече време от записването на курс. Затова и само изключително успешни хора или такива, които са вече напреднали успяват да се самообучават.
  • В края на обучението не получаваш сертификат за завършване, който може да е в твоя полза, когато работодателите преминават през първоначалния оглед на CV-та и избират подходящите кандидати за интервю.

Курс

За жалост, за шест месеца не можеш да станеш изцяло завършен програмист и никой курс не може да ти предложи това. Същото важи и за четиригодишното обучение в университета. Това което ти дават курсовете са една стабилна първоначална основа, върху която можеш да надграждаш впоследствие. Как точно се надгражда ли? 

  • Като кандидатстваш за стаж в голяма компания;
  • Като развиеш по-детайлно портфолио от проекти;
  • Като започнеш работа като младши програмист.


Предимства

  • По-ниската цена на обучение спрямо предлаганата от университетите си има причина – курсът обхваща единствено 6 месеца релевантни за конкретната професия уроци.
  • Ускореното обучение, в случай че избереш iCademy за твоята академия, е съобразено като материал и продължителност с качественото усвояване на материята.
  • Ментори на курса са практикуващи програмисти с опит – ние също сме се преквалифицирали и започнали от нулата, което ни кара да разбираме трудностите и предизвикателтвата на програмирането, както и реалзирането в ИТ сектора. Затова ние можем да отговорим адекватно на твоите въпроси и да ти помогнем при затруднение. 
  • Ускорените курсове формират мотивираща среда от хора, желаещи да учат и да се реализират. Тук ще завържеш приятелства и контакти с другите курсисти, както и да набереш съмишленици за разработване на общ проект. 
  • Курсът използва подробна и актуална прграма, която е съобразена с нуждите на бизнеса във Варна днес. Погрижили сме се да включим добри практики и множество полезни примери, за да може обучението да е възможно най-пълноценно.
  • В iCademy залагаме доста на изграждането на меките умения, което е слаба страна на доста подобни курсове на пазара. Понеже вече сме изминали този път, ние вече знаем колко са важни тези умения и затова те заемат важно място в нашето обучение. 


Недостатъци

  • Интензивното темпо на обучение може да е проблем за някои хора, въпреки че лекциите ще бъдат записвани и ще можеш да ги гледаш отново. За успешно завършване се изискват постоянство и добра мотивация.
  • Въпреки че цената на курса се избива още с първата заплата като младши разработчик, ние съзнаваме, че за някои тя все пак може да се окаже пречка. Опитваме се да отговорим на подобно търсене, като пускаме промоции за ранно записване. Та ако желаеш да се възползваш от по-ниска цена, побързай да се запишеш днес!
  • За разлика от самообучението, присъственият ни курс ще те кара да си структурираш времето подобаващо. Заниманията са съобразени с графика на работещите и учещите, но могат да се окажат неудобни за почиващите.