Този сайт използва бисквитки (cookies). Ако желаете можете да научите повече тук. Разбрах
Регистрация

Професия: Front-end разработчик

За професията разказва Валя Стоянова, старши софтуерен инженер в SoftServe
Share Tweet Share
Снимка

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

[Капитал] Фотограф: Надежда Чипева

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

Затова централна роля в изграждането на един уеб сайт, приложение или какъвто и да било софтуерен продукт имат т.нар. Front-end разработчици. Най-общо тяхната задача е да се грижат за потребителския интерфейс и архитектурата, която стои в основата на визуализацията, използвана от крайния потребител, уточняват от Асоциацията на софтуерните инженери. С други думи, всичко, което посетителите на сайта виждат, кликат, свалят и качват, за да въвеждат или извличат информация от него, е работа на Front-end разработчиците. Те са мостът, който свързва UX дизайнерите и Вack-end програмистите, което означава, че трябва да са еднакво креативни и технологично подготвени.

За тази цел от Front-end хората се очаква да владеят езици за програмиране като HTML, CSS и Javascript и библиотеки като AngularJS, Bootstrap, Foundation, Backbone и пр. Това са и основните инструменти, с които те боравят в ежедневната си работа, за да накарат дизайнът да оживее. Завършването на висше образование по софтуерно инженерство и компютърни науки е първата стъпка към професията. Но бъдещите специалисти трябва непрекъснато да се самообучават, понеже непрестанно се появяват нови технологии. А за придобиването на още по-практически умения от полза могат да бъдат и работодателските академии, които много български IT компании започнаха да организират, за да намират и подготвят бъдещите си кадри.

Повече за професията разказва
Валя Стоянова, старши софтуерен инженер в SoftServe
Валя Стоянова започва кариерата си в IT индустрията като младши разработчик на софтуер през 2011 г., за да допълни с практически опит теоретичните знания, които получава, докато следва "Софтуерно инженерство" във Факултета по математика и информатика към Софийския университет "Св. Климент Охридски". С времето продължава да развива техническия си опит и умения, като участва в различни проекти - финансови услуги, проекти в областта на телекомуникациите, социални мрежи, здравеопазване. От средата на 2015 г. е част от екипа на софтуерната компания SoftServe, а към момента води и екип от Front-end специалисти.

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

Понякога хората не правят разлика между UX дизайн (от англ. User Experience, т.е. потребителско преживяване) и Front-end разработка. Като цяло UX дизайнерите задават общата схема на това как трябва да изглежда един сайт, т.е. мислят как би било най-удобно на потребителя да го използва. По-образно казано, UX дизайнерът играе ролята на архитекта, докато Front-end разработчикът е строителният инженер.

Моето образование
Завършила съм софтуерно инженерство във Факултета по математика и информатика към Софийския университет "Св. Климент Охридски". Университетът поставя определена част от основите, които е необходимо да имаш, за да упражняваш тази професия, но е добре да се занимаваш и самостоятелно, да четеш допълнителни материали, да посещаваш обучения и тренинги.

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

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

Моят път дотук
Не помня някой конкретно да ме е насочвал към това поприще, беше ми доста интересно още от тийнейджърските ми години. Тогава обаче не се интересувах толкова от програмиране, колкото от интернет услуги, т.е. от неща, свързани с компютрите и компютърните технологии като цяло. Впоследствие, след като записах висше, в самото начало имаше период, в който все още не бях съвсем сигурна в коя точно сфера на информационните технологии искам да специализирам. С времето, след като разбрах повече за материята и в какво всъщност се състои работата на Front-end разработката, ми ставаше все по-интересно и продължих да се обучавам и самообучавам в тази насока.

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

Обикновено Front-end разработчиците работят с Вack-end програмистите. Освен това има бизнес анализатори, които се грижат за нуждите на бизнеса, комуникират с клиента и превеждат желанията му на техничарите. Също така ключова роля играе и продуктовият мениджър, чиято задача е да следи всичко в продукта да е изпълнено в срокове и в рамките на отделения бюджет, организира екипа, стикова действията на различните специалисти, така че да се стигне до краен продукт. В екипите задължително работят и специалисти по качествен контрол (QA), които тестват съответния софтуер дали отговаря на всички изисквания, преди да бъде предаден на клиента и да бъде използван от потребителите.

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

Някои Front-end разработчици специализират в определена технология, други предпочитат да имат по-широки познания. Според мен е въпрос на лично предпочитание за развитие. Можеш да бъдеш много тесен специалист и да се развиваш в платформи като AngularJS например, която се поддържа от Google. Но ако искаш да разшириш кръгозора си, да знаеш повече неща, можеш да разнообразяваш и да учиш различни технологии, свързани с Front-end разработката.

Така или иначе основните принципи и практики на програмиране са еднакви за всеки тип технология, независимо дали се занимаваме с Front-end или с Вack-end разработка (т.е. тази, която е свързана със сървърната част или поддържането на Front-end услугите). Затова според мен най-важното е човек да постави много стабилни основи и след това може спокойно да използва една или повече по-специфични технологии.

Моите предизвикателства
Едно от най-големите предизвикателства в тази професия е нуждата непрекъснато да подобряваш уменията си, понякога трябва да решаваш тежки логически и технически проблеми, които може да отнемат доста време и да бъдат доста стресови. Нужно е търпение, логическо мислене и постоянство.

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

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

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

Моите източници на информация
Точно в момента използвам богатата библиотека на SoftServe и участвам във вътрешнофирмените обучения. Изключително полезни са видеотуториълите в YouTube. В интернет могат да се намерят и много безплатни книги, статии и сайтове, от които да се получи необходимата информация. Например www.w3schools.com е едновременно справочник и портал за обучение, където могат да се тестват и примери за затвърждаване на материала. Що се отнася до книгите, поредиците O’reilly са доста добри - те варират както според нивото, така и в зависимост от различни технологии.

Поредиците You Don’t Know JS на Кайл Симпсън също са доста добри, като помагат да се затвърдят основни знания и добавят повече яснота. Има и документации на всички основни софтуерни фреймуъркове, с които се работи, в зависимост от това с коя точно технология иска да се занимава човек - за Angular JS и за ReactJS. Тъй като материалите са твърде много, важно е да се нацели балансът между точността на източника и това да е на възможно най-разбираем за теб език. Затова всеки си намира и преценява източниците индивидуално.

Моите планове за развитие
Планирам да продължа да се занимавам с това, с което се занимавам – в каква роля и каква дейност точно не знам. Дали ще сменя малко технологията, дали ще сменя баланса между работа с клиенти и чисто технологични решения, предстои да видим, но със сигурност ще продължа в същата насока.

Моят съвет към младите хора
Препоръката ми е да отделят много време да се подготвят и да инвестират в образованието си, защото така инвестират в бъдещето си. Когато отделиш малко усилия и време и получиш тази основа, за която споменах, става все по-лесно с времето да бъдеш компетентен в различни технологични направления. Не се отказвайте и проявявайте повече хъс и мотивация. И най-вече бъдете готови да жертвате много от личното си време.
Търсени умения
- технически познания в три основни езика: HTML, CSS и Javascript програмиране
- умения за прилагане на библиотеките Bootstrap, Foundation, Backbone, AngularJS, EmberJS, jQuery и LESS
- опит с Ajax – широко разпространена техника за използване на Javascript
- комуникационни и презентационни умения
- аналитично и логическо мислене
- решаване на сложни проблеми

*Статията е част от специалното издание на "Кариери" - "Моята кариера 2017: Непознатите IT & инженерни професии".


Share Tweet Share
още от тази рубрика:

Реклама

Реклама

© 2003-2017 Икономедиа АД съгласно Общи условия за ползване ново. Политика за бисквитките ново . Поставянето на връзки към материали в сайтовете на Икономедиа е свободно. Уеб разработка и дизайн на Икономедиа. Сайтът използва графични елементи от famfamfam + DryIcons. Някои снимки © 2017 Associated Press и Reuters. Всички права запазени.
Действителни собственици на настоящото издание са Иво Георгиев Прокопиев и Теодор Иванов Захов.
mobile Към мобилната версия на сайта

Бизнес: КапиталКариериБизнесРегалГрадът.bgОдитFoton.bg

Новини: ДневникЕвропа

IT: IDG.BGComputerworldPC WorldCIONetworkworld

Развлечение: БакхусLIGHT

На английски: KQuarterly