Не е лесно да се стане програмер. Повеќето луѓе, кога почнуваат да размислуваат за оваа кариера, она што најчесто ги плаши е подолга листа на работи кои мора да се научат. Без разлика дали размислуваш за full stack, front-end или back-end, листата на програмски јазици и апликации кои треба да се совладаат не е мала и на прв поглед може да изгледа застрашувачки.
Но, не се сите патеки за започнување кариера на програмер исти и подеднакво тешки. Убава работа е што кариерата во tech индустријата може да ја започнеш со различен сет на вештини и да се надградуваш со тек на времето. Можеш да учиш нови јазици и технологии и континуирано да ја развиваш кариерата во која насока сакаш. Постојат неколку патеки по кои можеш да започнеш кариера на програмер, секоја во зависност од афинитетите и според можноста да издвоиш време за учење. Овој, не баш краток водич, е тука да ти помогне да ја одбереш најдобрата опција за тебе, да ти даде идеја колку време би ти било потребно да почнеш да работиш како програмер и да го надминеш иницијалниот страв од непознато.
Видови на програмери
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 сервисите се всушност сетови на практики кои треба да се почитуваат за различни веб сервиси да можат непречено да комуницираат меѓусебно.
Оваа листа секако не завршува тука, но другите работи се учат преку пракса и континуирано работење. Просечното време потребно да се стигне на ниво за да почнеш да работиш како front-end програмер е помеѓу 10 и 12 месеци. Во тек се уписите на Академијата за Front-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 програмер. Време потребно за стекнување на основно знаење за започнување кариера во ова поле е помеѓу 10 и 12 месеци, повторно во зависност од времето потребно добро да се научат основите на гореспомнатите работи. Во тек се уписите на Академијата за 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 програмер може да ти одземе помеѓу 12 и 18 месеци, во зависност од тоа колку брзо учиш. Но, затоа и наградата за вложениот труд во старт е поголема. Во тек се уписите на Академијата за full stack програмирање, целата програма можеш да ја пронајдеш тука.
Доколку сакаш да си дел од Coding заедницата и заедно со нас да градиш нови успешни приказни, дознај повеќе за Академијата за Full Stack програмирање и Академијата за Front-end програмирање.
На Академијата за Full Stack програмирање и Академијата за Front-end програмирање учиме преку работа на реални проекти за реални клиенти под менторство на докажани и искусни инструктори.
Закажи средба со нашиот student success manager за повеќе насоки и детали за програмата!