Кога нешто почнуваш од нула, со сигурност може да се каже дека не е лесно. Всушност, секој почеток е тежок, но она што е најважно е желбата за успех и посветеноста да се истера до крајната цел. Па, така, можеме да кажеме и дека не е лесно да се стане програмер. Повеќето луѓе, кога почнуваат да размислуваат за оваа кариера, она што најчесто ги плаши е прилично долгата листа на работи кои мора да се научат за да бидат успешни. Без разлика дали размислуваш за full-stack, front-end или back-end програмирање, листата на програмски јазици и апликации кои треба да се совладаат не е мала и на прв поглед може да изгледа застрашувачки.
Но, не се сите патеки за започнување кариера на програмер исти и подеднакво тешки. Убавината во оваа работа е што кариерата во tech индустријата може да ја започнеш со различен сет на вештини и да се надградуваш со тек на времето. Можеш да учиш нови јазици и технологии и континуирано да ја развиваш кариерата во која насока сакаш. Постојат неколку патеки по кои можеш да започнеш кариера на програмер, а овој, не баш краток водич, е тука да ти помогне да ја одбереш најдобрата опција за тебе и да го надминеш иницијалниот страв од непознато.
Видови на програмери:
1. Front-end програмер
Front-end дел на еден веб сајт е сѐ она што го гледаш на страницата и со што имаш директна интеракција. Копчињата, менијата, графичките елементи, форми и слично се дел од работите кои ги прави еден front-end програмер. Front-end е делот од сајтот или апликацијата кој работи во нашиот прелистувач или на некој од нашите уреди.
Најчесто го мешаат со веб дизајн, што многу од програмерите знае да ги нервира. Дизајнот е важен дел од работата на еден front-end програмер, но сепак поголем дел од времето и работата се сведува на пишувње код за да се доведат сите елементи на страницата во совршен ред и функционалност, за целото искуство да биде пријатно за крајниот корисник.
Програмерот се грижи сајтот или апликацијата да изгледаат скоро идентично на различни уреди и платформи. Исто така, се грижи делот кој се извршува на нашиот уред да ги користи расположливите ресурси оптимално. Ова е професија за луѓе кои се креативни по природа, но сакаат прецизност и функционалност и имаат трпение истите работи да ги средуваат одново.
Листата на работи кои треба да ги знае еден front-end програмер најчесто вклучува:
HTML и CSS:
Ова се основите на секоја веб страница и без нив сите би биле само црн текст на бела позадина. Добра работа е што се лесни за учење и потребен е само голем фокус и добар ментор за да стекнеш солидно познавање.
JavaScript:
JavaScript на сајтот му додава функционалности, а со негова помош можеш да создадеш и доста основни веб апликации. Ова е исто така и еден од најпопуларните програмски јазици, па неговото познавање секако може да ти помогне во понатамошна кариера, без разлика во која насока сакаш да ја развиеш.
Frameworks:
Скоро сите програмски јазици имаат вакви frameworks и денес е невозможно да се замисли кодирање без користење на еден од нив. Секој framework има свои предности и недостатоци, но она што е важно при одбирање на еден framework е да се провери дали функциите кои ги содржи одговараат на проектот на кој ќе работиш.
- Bootstrap е еден од најпопуларните front-end frameworks. Бидејќи најголем дел од кодирањето во HTML/CSS подразбира повторно креирање и стилизирање на исти елементи (копчиња, форми и слично) од проект до проект, овој framework веќе ги има дефинирано за тебе, што многу ја олеснува работата. Истото важи и за JavaScript frameworks, како на пример Angular, React или Vue.
RESTful API:
Representational State Transfer на прв поглед може да делува страшно, но всушност се работи за релативно едноставна архитектура за комуникација на сервиси преку веб. RESTful API сервисите се всушност сетови на практики кои треба да се почитуваат за различни веб сервиси да можат непречено да комуницираат меѓусебно.
Оваа листа секако не завршува тука, но другите работи се учат преку пракса и континуирано учење. Затоа, програмата на Brainster Next College (Бреинстер Некст колеџ) – првиот практичен ИТ факултет, е креирана според реалните потреби на индустријата и се заснова на учење преку предизвици и реални проекти. Секој пролетен семестар, студентите ќе работат на реални проекти во директна соработка со компании и поддршка од академски ментори со цел квалитетно совладување на сите потребни вештини, како преку теоретска настава, така и преку практична.
2. Back-end програмер
Back-end девелоперот всушност цело време решава проблеми, односно смислува нови начини како одредени работи на сајтот или апликацијата да функционираат подобро и поефикасно. Back-end е дел од сајтот или апликација кој не го гледаш и со кој немаш директна интеракција. Тој работи на серверот и всушност е она што го прави сајтот или апликацијата да функционираат добро. Back-end делот подразбира работи кои се случуваат во позадина, како на пример логирање на одредена страница, ставање продукти во кошничка и купување, комуникација со chatbot и слично.
Листата на работи кои треба да ги знае еден back-end програмер може да вклучува:
Server-side програмски јазици:
Добро познавање на барем еден ваков програмски јазик како PHP, Python, .Net и слично, е секако задолжително за секој back-end програмер.
На пример, PHP и Python се два open source програмски јазици и двата со големи заедници фокусирани на нивен континуиран развој и подобрување. PHP постои од 1994 година и е еден од програмските јазици со најголема заедница која континуирано работи на негово подобрување. Според перформансите и стабилноста единствена моментална конкуренција му е Python. Како понов јазик, Python ја има предноста што се полесна синтакса и неколку библиотеки исклучиво наменети за AI и machine learning.
Бази на податоци и сервери:
Ова подразбира познавање на различни технологии на управување со бази на податоци како MySQL, SQLServer, Oracle. Познавање на механизми за кеширање како Redis или Varnish. Бидејќи се работи за работи кои се извршуваат на сервер, логично и очекувано е познавање на Apache, Microsoft IIS или Nginx сервери.
Листата не е дефинитивна и не е конечна, но сепак дава идеја со каква основа треба да почне еден back-end програмер. Сите овие server-side програмски јазици како PHP и Python се дел од првата студиска година по програмата Софтверско инженерство и иновации на Brainster Next College.
3. Full-stack програмер
Full-stack програмерот може да работи и на front-end и на back-end делот од продуктот, и ова е патека за оние кои сакаат да ги контролираат сите фактори во еден проект. Не постои баш јасна дефиниција за тоа што точно треба да знае еден full-stack програмер. Дури и во разговор со програмери (back-end, front-end и full-stack) ќе добиете доста различни мислења и информации. Но, она што е важно да знае секој што сака да стане програмер од овој ранг, е дека не е неопходно да ги владее сите технологии целосно, но треба да ги разбира процесите на клиентската и серверската страна и да ја разбира нивната меѓусебна интеракција.
Листата на работи кои треба да ги познава еден Full-stack програмер е малку подолга и може да вклучува:
Front-end:
Треба одлично да познава HTML5/CSS3 и JavaScript, a пожелно е и да има познавање на jQuery, Angular или React. Исто така, неопходно e познавање на основните принципи на UI/UX дизајн.
Back-end:
Мора одлично да владее со еден server-side програмски јазик како PHP, .Net, Python, Ruby, Java, а исто така и да има познавање на API технологии како REST или SOAP.
Бази на податоци и сервери:
Познавање на различни технологии на управување со бази на податоци е исто така важно за еден full stack програмер. MySQL, SQLServer, Oracle се едни од најупотребуваните во моментов. Познавање на механизми за кеширање како Redis или Varnish даваат дополнителна тежина во CV-то.
За жал, или за среќна за оние коишто сакаат да бидат најкомпетитивни во оваа сфера, листата не завршува тука, и може да содржи уште многу дополнителни работи и вештини од типот на креирање тестови за проверка на квалитет на продуктот, правење документација, познавање на алгоритми и структури на податоци. Но, голем дел од долгата листа на потребни вештини за еден full-stack програмер се изучуваат на 3-годишната додипломска студиска програма на Brainster Next College. Така што, без разлика дали ќе се одлучиш за front-end, back-end или пак full-stack програмирање, ќе имаш можност да се стекнеш со знаење и вештини за сите сфери на програмирањето, а понатаму да се насочиш целосно кон насоката којашто тебе најдобро ти прилега.
Уписот на првиот акредитиран ИТ факултет во земјава, Brainster Next е во тек. Отворена е и можноста за уникатниот модел на плаќање „Студирај сега плаќај по вработување“, а првиот чекор е регистрација и решавање на компетитивниот тест.
Првата група е веќе пополнета. Интересот е голем и бројот на места – ограничен, затоа резервирај го твоето навреме!