Қазір сайттарды аша қалсаңыз, көз тартатын дизайн, жан-жақты ойластырылған әрі түсінікті интерфейстен тұрады. Мәтіннің де оқылымды болып, батырмалардың да басқан сәтті бірден керек бетті ашып бере салуына жауап беретін маман «фронтендер» деп аталады. Оны тігіншіге ұқсатуға болады. Мәселен дизайнер эскизін сызып берген соң, тігінші іске кіріседі. Киімнің денеге қонымды тұруына, еш жерді қыспай, дене бітімге құйып қойғанда жараса кетуі үшін барын салады. Сайтта да солай: фронтендер дизайнердің макетті алады да, содан жинақы, түсінікті өнім жасайды. Әлдебір элементтердің контентті жауып қалмауын, скрипттердің дұрыс істеп тұруын, батырмалардың басылуын — бәрін осы маман реттейді. Сайттың функционалы мен кодын визуал көрініспен біріктіріп, қолданушыға қолайлы, дұрыс жұмыс істейтін өнім ұсынады. Олай болса, IT-мамандықтарға шолуымыздың бүгінгі тақырыбы Frontend developer жайлы болады.
Біз әдетте сайттың не қолданбаның техникалық жағын бағдарламалаушымен байланыстырамыз да, ал визуал бөлігіне дизайнер жауапты деп ойлаймыз. Бірақ осы екі ортада аса маңызды маман — фронтендер бар екенін ұмытпауымыз керек. Ол сайт пен апликейшннің сырт көрінісіне толықтай жауап береді. Оның ішінде, меню, интернет-дүкен болса оның ішіндегі тауарлардың карточкалары, батырмалары, кері байланыс формалары және т.б. бар.
Frontend developer немен айналысады?
Фронтендер бэкенд-бағдарламалаушы мен дизайнермен бірлесіп жұмыс істейді. Бэкендер сайт не қолданбаны техникалық қаңқасын істейді. Яғни ішкі архитектурасын, жүйесін реттейді, деректерді өңдеп, сақтайды. Ал дизайнер болса, түстер, қаріптер, белгішелерді таңдап, экранда элементтердің орналасуын ойластырады. Осылайша сайттың макетін жасайды. Осыдан соң іске фронтендер кіріседі. Ол сайттың техникалық түрін дизайнер ұсынып отырған визуал формада жүзеге асырады.
Ол қалай? Фронтендер макет-дизайнға жан бітіреді. Сервисті беттейді, мәтін қосады, сурет, батырма, чаттар, терезелер қояды. Беттердің интерактивін баптайды. Басылған батырмалардың дұрыс беттерге бағытталуын, ішкі сілтемелердің қалыпты жұмыс істеуін реттейді. Сервистің әр түрлі құрылғыда қалай жұмыс істеп, қалай көрінетініне де жауапты. Мысалы сайттың мобайл нұсқасы мен дескстоптағысын да фронтенд-бағдарламалаушы істейді.
Сайт не қолданба істеп шығу оңай жұмыс емес. Ол бірнеше кезеңнен тұрады. Фронтендер бірнеше адаммен бірлесіп, байланыса отырып жұмыс істеуі керек. Сондықтан оның бойында болуы керек белгілі бір скилз тізімі қалыптасқан.
Hard skills тізімі
- Ең алдымен HTML және CSS білуі керек. Бұл — ең негізгісі. Өйткені HTML беттің құрылымын жасауға мүмкіндік берсе, CSS — стиль қалыптастырады. Атап айтқанда, тақырыптың қалай көрінетінін, жазулардың түрін, кестелер мен графиканың көрінісін реттейді.
- JavaScript білуі керек. Беттерге интерактив қосып, оларды өзара қосу үшін осы тіл қолданылады.
- Git-тің басқару жүйелерін қолдана білуі керек. Сонымен бірге GitHub сервисін білгені маңызды. Сонда кодтың барлық нұсқасы бір жерде сақталады да, команда болып жұмыс істегенде оңай болады.
- JavaScript-пен жұмыс істеуге керек фреймуорктарды меңгеріп алуы қажет. Оның ішінде Vue.js, React.js маңызды.
- Сайттар мен сервистердің юзабилитиін жақсы түсініп, кроссплатформалық беттеу принциптерін білуі қажет. Сонда қолданушыға ыңғайлы интерфейстер жасай алады.
- Дизайнерді күтпей-ақ, әлдебір элементтерді тез арада сала алуы үшін Figma немесе Photoshop-ты кемінде базалық деңгейде білгені жөн.
- Бэкендермен тіл табысып, не керегін жақсы түсіну үшін уеб-бағдарламалаудың кезеңдері мен спецификасын білуі керек.
Soft skills тізімі
- Командамен жұмыс істей алуы аса маңызды. Бәрін өзіне ала бермей, сөйте тұра жауапкершілікті басқаға ысыра салмай, ортақ тіл табыса алғаны қажет.
- Техникалық құжаттамаларды оқып, өзі білігін арттыруы үшін, халықаралық нарықта жұмыс істеу үшін ағылшын тілінің маңызды екені айтпаса да түсінікті.
- Үздіксіз оқуға, дамуға дайын болғаны қажет. Әсіресе, енді бастаған мамандарға керек машық. Себебі әр компанияның фронтенд-бағдарламалаушыға қоятын талабы әр түрлі болады. Бірі графикалық редакторларды білуді талап етсе, енді бірі көбірек бэкендке не фреймуоркке енгені жақсы деуі мүмкін.
- Қайтпас қайсар, табанды болғаны жақсы. Олай дейтініміз көңілден шығатын жұмысқа орналасқанға дейін сіз 100 жерге түйіндеме жіберіп, ешқайсысына қабылданбауыңыз мүмкін. Бастысы, мойымай, алға жылжи беру.
Frontend-бағдарламалаушы қанша табыс табады?
LinkedIn жүргізген зерттеулерге сүйенсек, жыл өткен сайын JavaScript бағдарламалаушыларға сұраныс өсіп келе жатыр екен. Жалпы алғанда кейінгі жылдары білікті фронтендер іздегендер қатары азаймай, қайта көбейіп келеді. Өйткені сайт не қолданба жасау барлық салаға дерлік қажет дүниеге айналып жатыр. Кәсіпкерлер ғана емес, қолданушылар да қазір сайттар мен апптарға тәуелді болып алды. Glassdoor мәліметтері бойынша Америкадағы Frontend-маманның орташа жалақысы 88 558 доллар (2022 жылғы мамырдағы көрсеткіш) екен. Ал Германияда бұл мамандарға 69 мың долларға жуық қаражат төленеді. Қазақстандағы ахуалға қарасақ, бізде де сұраныс жоғары. Қазір өзекті болып тұрған хабарландыруларды шолып шықтық. Еңбек өтілі 3-6 жыл аралығындағы мамандарға жұмыс берушілер ең аз дегенде 300 мың теңгеден бастап, білігіне байланысты 1 миллион теңгеге дейін жалақы ұсынуға дайын. Ал қолда бар статистика бойынша, 2022 жылы Senior және Middle фронтендерлердің медианалық жалақысы 1 138 000 теңге және 1 004 000 теңге болған. Ал бұл салаға енді келген Junior-лар 438 мың теңге айлық алады екен. Фронтендерге деген сұраныс жоғары болғанымен қатар, жұмысты онлайн істей беруге болатыны да бұл мамандықта мүмкіндік мол екенін көрсетеді. Түрлі сала мен позицияда өсуге болады.
Әр деңгейдегі маманға талап әр түрлі
Өзге бағдарламалаушылар секілді фронтендерлер де кәсіп жолын қарапайым маманнан бастайды. Ол көбіне беттеуші не джуниор болады. Кейін біртіндеп мидл деңгейге өсіп, соңында бағдарламалаушылар командасын басқаратын жетекші — тимлидке дейін көтеріледі. Әлбетте, позиция жоғарылаған сайын жалақысы да өседі. Дегенмен ол үшін білім мен білік те сәйкес келуі керек.
Junior маманнан сұралатыны:
- HTML;
- WordPress сынды CMS немесе кемінде бір графикалық редактормен жұмыс істей алуы керек;
- CSS, CSS-фреймуорктар мен CSS препроцессорларымен жұмыс істей білуі қажет;
- JavaScript тілін базалық деңгейде меңгерген болуға тиіс;
- Кем дегенде JS-тің бір фреймуоркымен жұмыс істей алуы керек. Айталық, ReactJS;
- Git-пен қалай жұмыс істеу керегін білгені жөн.
Middle маманнан сұралатыны:
- Объектіге бағытталған бағдарламалау негіздерін түсініп, деректердің паттерні мен құрылымын білуі керек;
- JavaScript-пен мықты жұмыс істей білуі міндеттеледі;
- Практикалық тәжірибе;
- React, Angular, Vuе білуге тиіс;
- Webpack, State managers, SSR, FrontOps технологияларын түсінуі қажет;
- Жұмыс барысында Agile-, Scrum-дарды пайдалана білгені жөн;
- Git-пен жұмыс істеген тәжірибесі болғаны міндетті;
- Ағылшын тілін кем дегенде Upper-Intermediate деңгейін білуі керек.
Senior маманнан сұралатыны:
- Код жазу қабілеті жоғары болуы керек. Кеңейтілген, таза кодты JavaScript + TypeScript-те жаза білуі қажет;
- Жоба архитектурасын құрастыра алуы керек;
- SOLID, DRY, DIE және басқа да принциптерді жұмыс барысында қолдануы сұралады;
- HTTP, WS білуі қажет;
- Тест-фреймуорктермен жұмыс істей алуы сұралады;
- Docker, Kubernetes білуі керек;
- Бэкенд-бағдарламалау жұмысының барысын жақсы түсінуі шарт;
- Тапсырма бере алып, жаңадан келген мамандарға ментор бола білуі керек.
Фронтенд-мамандар қай жерде жұмыс істейді?
Айтқандай, қазір компаниялардың барлығына дерлік сайт қажет. Оның ыңғайлы, әдемі болғаны тіпті маңызды. Бұл дегеніміз фронтендерге сұраныстың арта беретінін білдіреді. Ал енді осы ретте екі түрлі бағыт бар. Бір компаниялар тапсырысқа софт жазып береді, енді бірі өз керегіне қарай софт жазады. Мысалы тапсырыс орындап жұмыс істейтін компанияны алып қарайық. Бұл жерде қандай артықшылық бар? Біріншіден, сіз түрлі жобаны жасап көресіз. Сол арқылы тәжірибе жинап, тапсырмаларға шығармашылық тұрғыдан қарап үйренесіз. Одан қала берді небір құралды меңгере отырып, білігіңізді арттырасыз. Кемшілігі сол — дедлайн өте қатаң. Демек, бұл жұмыста күйзеліс көп болуы мүмкін. Жаңа нәрсені тез үйреніп кетпейтін болсаңыз, онда жаңа технологиялар, құралдарды әр жоба сайын меңгеруге тура келеді. Болмысы интроверт адамдарға да қиын. Себебі тапсырыс берушілермен үнемі байланысты болуды талап етеді.
Софтты өзі жазатын жерге қатысты не айтуға болады? Мұндағы артықшылық — тыныш грфик және белгілі бір технологияны тереңірек меңгеруге болатыны. Тапсырыс берушілер өзіне не керегін жақсы біледі. Сондықтан түсіндіруге уақыт құртпайсыз. Кемшіліктерінің ішінде тәжірибеңіз өте терең болса да, шектеулі болып қалады. Ал тапсырманың дені бір-біріне ұқсас келеді. Бұл жерде басқаша қарап көру деген дүние бола бермейді. Егер бұл бағыт сізге ұнамаса, онда жұмыс ауыстыруға тура келуі мүмкін. Болмаса, амал жоқ көнесіз. Сондықтан джуниор мамандарға алдымен тапсырысқа софт жазатын компанияларға кіріп көрген дұрыс. Сонда түрлі технологияны байқап көріп, өзіңізге қызық бағытты тауып аласыз. Нақты бір байламға келген соң барып, фронтенд ішіндегі бір салаға тоқталасыз. Жұмыс іздегенде де нақты не керегін біліп тұрасыз.
Фронтендердің бір күні
Бұл маманның бір күнде орындауы керек тапсырмалары тізімі әр түрлі болады.
- Бүгінгі тапсырмалар тізімін жасап, басымдығына қарай бөліп қою;
- Frontend Developer UI/UX-дизайнерлермен, Project-менеджерлермен, басқа бағдарламалаушылармен байланыста болады;
- Интерфейсті, оның жекелеген компоненттерін жасау;
- Кері байланыс алып, кем-кетіктерді түзеу;
- Жаңарту, сынақ өткізу, оңтайландыру, интерфейсті қолдау секілді жұмыстар.