Эй! Барлығымыз осында қарадық, өйткені IT саласында жұмыс істеуге қызығушылық таныттық. Бірақ сіз кезіктіретін бірінші IT мамандығына үңілудің орнына, IT-компаниядағы ықтимал салалардың тізіміне аздап назар аударған жөн шығар? Бұл менің қысқаша шолуымның екінші бөлімі. Біріншісінде біз Recruiter, HR, System admin, DBA, DevOps сияқты мамандықтарды қарастырдық. Бүгін біз кез келген команданың және сәйкесінше жобаның «тірегі» болып табылатын мамандықтарды қарастырамыз. Егер мен бір жерде бірдеңені шатастырып алсам, маған қатты ұрыспаңыз, керісінше түсініктемелерде түзетіңіз: мен бәрін Java әзірлеушісінің көзқарасымен қараймын және мен барлық мамандықтардың нюанстарын білмеуі мүмкін.
6. PM – жоба менеджері
Жоба менеджерінің міндеті - техникалық жобаларды сауатты жоспарлау, ұйымдастыру, басқару және жұмыстың біркелкі және мүмкіндігінше тиімді орындалуын қамтамасыз ету үшін топ мүшелері арасындағы байланысты жақсарту. Бұл мамандар клиенттердің қажеттіліктерін және олардың алға қойған мақсаттарын білуі керек және жобаны логикалық, оң қорытындыға келтіру үшін қызметкерлердің әрекеттерін мүмкіндігінше үйлестіру керек. Позитивті, өйткені бірқатар себептерге байланысты жобаларды әрқашан сәтті аяқтау мүмкін емес: қаржыландыруды тоқтату, тапсырыс берушінің жұмысына қанағаттанбау және т.б. техникалық мәселелер, өйткені әзірлеушілер әрқашан өте көпшіл адамдар емес және олар әрқашан бір-бірімен сауатты сөйлесе алады және бұл, өз кезегінде, тек жобаға қарсы ойнай алады. Жақсы, немесе, мысалы, әзірлеуші бір нәрсеге кептеліп қалды: ол ұзақ уақыт отыруы мүмкін және қандай да бір мәселені қалай шешу керектігін білмеуі мүмкін. Біз бәріміз бірдеңе білмейтінімізді немесе істей алмайтынымызды мойындағымыз келмейді, ал әзірлеушілер одан да көп. Бұл жерде премьер-министр көмекке келеді , ол сізге қосымша ақпарат алу үшін жүгінуге болатын немесе ұқсас нәрсеге тап болған адамды табуға көмектеседі. Премьер-министрдің міндеттеріне мыналар кіреді:- жобаның жалпы мақсаттарын белгілеу;
- осы мақсаттарға жету үшін жоспарларды әзірлеу;
- жобаның орындалу мерзімі мен ағымдағы жай-күйі туралы есептерді жүргізу;
- жоба ресурстарын басқару (қызметкерлер мен техникалық жабдықтар);
- жоба тобы мүшелерінің өзара әрекеттесуін үйлестіруді жақсарту;
- жобаның тиімділігін және жоспарланған кестенің сақталуын қадағалау;
- жобалар бойынша тәуекелдерді бағалауды жүргізу;
- мақсаттарды, ағымдағы жетістіктерді, жобаның оң және теріс аспектілерін талқылау үшін әртүрлі кездесулер ұйымдастыру.
- Ағылшынша Upper Intermediate және одан жоғары, өйткені PM тапсырыс берушімен команда атынан байланысады;
- кең техникалық білім, бірақ онша терең емес, сондықтан сіз тым тереңдемей, кім не істейтінін, жалпы жұмыс қалай жүретінін түсінуге болады;
- жобаларды және оларға қатысатын командаларды басқару дағдылары;
- күшті коммуникативті дағдылар, өйткені премьер-министрдің жұмысы негізінен команда мүшелерімен және басшылықпен қарым-қатынастан тұрады;
- хат алмасу дағдылары дамыды. Мысалы, сізге команда немесе компания атынан тапсырыс берушінің электрондық поштасына жиі хаттар жіберу қажет және қате немесе қате жазылған хатты ешкім бағаламайды;
- жобада жұмыс істеу кезінде туындайтын мәселелерді шешуде пайдалы болатын аналитикалық ақыл;
- уақытты басқару дағдылары, оларды пайдалану жобаларды кесте мен бюджет шегінде ұстауға мүмкіндік береді (ақыр соңында уақыт = ақша);
- ресурстар мен тапсырмаларды жоспарлау дағдылары.
- жеткізу менеджері ( DM ) PM -a-ның тікелей жалғасы болып табылады , PM тобынан бірден жоғары тұрады және олардың жобаларын жоғары деңгейде үйлестіреді;
- бағдарлама менеджері - бір-бірімен байланысты бірнеше жобаларды үйлестіреді, бірақ мен DM арасындағы айырмашылықты түсінбеймін;
- бас техникалық қызметкер ( CTO ) – өнімді әзірлеуге және оларды жасау процестерін жақсартуға жауапты техникалық директор;
- бас атқарушы директор ( CEO ) - бас атқарушы директор;
- шот менеджері ( AM ) - тұтынушыларға қызмет көрсету менеджері;
- қайта даярлап, басқа мамандыққа ауысыңыз))
7. Frontend әзірлеушісі
Frontend әзірлеушісі – пайдаланушылар веб-бағдарламада көретін және өзара әрекеттесетін қолданбаның көрнекі бөлігін іске асыруға жауапты әзірлеуші. Әдетте, бұл мамандар Frontend әзірлеушілері жасаған қолданбаның көрнекі бөлігін жалғастыратын қолданбаның логикалық (server) бөлігіне жауап беретін Backend әзірлеушілерімен ынтымақтасады . Frontend әзірлеушілері, бэкенд әзірлеушілері сияқты, кез келген жобаның дамуының негізі болып табылады. Жобаларды қолдайтындар. Өйткені, қай кәсіп болса да, қарапайым, былайша айтқанда, еңбекқорлардың арқасы. Сондықтан әзірлеушілер осындай еңбекқор жұмысшылар ретінде әрекет етеді. Әдетте, олардың саны басқа мамандықтардың өкілдеріне қарағанда әлдеқайда көп және олар кез келген жобада ең қажет. Frontend әзірлеушісінің міндеттеріне мыналар кіреді:- жаңа функцияларды дамыту және ескілерін жетілдіру;
- өнімділікті жақсарту үшін рефакторинг codeы, бұл кейде қатты зардап шегуі мүмкін; басқа әзірлеушілер codeты және оның логикасын тез түсінуі үшін оқылатындығы; болашақта ескінің бөліктерін қайта пайдалану арқылы жаңа функционалдылықты енгізу оңайырақ болатындай кеңейту мүмкіндігі;
- serverге жіберілген codeты қарау (қарау). Мысалы, бір әзірлеуші codeты жазды, екіншісі оны қарайды және оны түзету қажет түсініктемелермен біріншіге қайтара алады;
- клиенттермен және команда мүшелерімен байланыс - Frontend және Backend әзірлеушілері;
- дизайнер құрастырған графикалық UI/UX макетін техникалық жүзеге асыру;
- қолданбаның өнімділігін қадағалау;
- қателерді (қателерді) түзету.
- Ағылшын деңгейі – Орташа ;
- Барлық веб-әзірлеу процесін түсіну (дизайн, әзірлеу және орналастыру);
- Angular 5+ бағдарламасымен жұмыс істеу ;
- JavaScript , TypeScript , RxJS , Sass , веб-пакетті білу ;
- макет дағдылары ( HTML , CSS );
- Git- пен жұмыс істеу дағдылары ;
- дизайн үлгілерін түсіну;
- Linux-ті жақсы білу .
- техникалық жетекші – осы саладағы техникалық маман (гуру);
- топ жетекшісі – дамыту тобының жетекшісі (дала командирі). Осы жерден сіз басқарушылық бағытқа өсе аласыз, мысалы, CTO ;
- толық стекті әзірлеуші - server және алдыңғы бөліктердің екеуіне де иелік ететін әзірлеуші , яғни сізге бэкендті үйрену керек ;
- шешім архитекторы – өнімнің ішкі құрылғысы мен сыртқы интерфейстерінің архитектурасы туралы шешім қабылдайтын маман;
- техникалық кеңесші – кейбір технология бойынша техникалық кеңесші;
- қайта даярлау және басқа мамандыққа ауысу.
8. Backend әзірлеушісі
Backend әзірлеушілері – қолданбаның визуалды (интерфейс) бөлігімен (мысалы, REST API арқылы) қосылатын қолданбаның бизнес логикасына жауапты server бөлігін жасаңыз және жетілдіріңіз . Бағдарламаның serverлік бөлігінің ( Backend ) + қолданбаның көрнекі бөлігінің ( Frontend ) тіркесімі соңғы пайдаланушы әрекеттесетін веб-қосымшаны құрайды. Backend әзірлеушілері бүкіл serverді жасауға, қолдауға, сынауға және жөндеуге жауапты. Бұл әдетте негізгі қолданба логикасын, дерекқорлармен өзара әрекеттесуді, әртүрлі API интерфейстерімен әрекеттесуді және басқа ішкі процестерді қамтиды. Бұл профильдегі маман өз тілінің синтаксисін және негізгі фреймворктарды білумен қатар, мәліметтер базасы туралы жалпы білімге ие болуы керек, атап айтқанда реляциялық , оның codeы үшін бірлік және интеграциялық сынақтарды жаза білуі, қосымша құрастырушыны білуі керек. - Maven немесе Gradle , Git - ohm қолдана білу Backend әзірлеушісінің міндеттеріне мыналар кіреді:- жаңа функцияларды әзірлеу;
- codeты рефакторинг;
- басқа Backend әзірлеушілерінің codeын қарау;
- жаңа server әзірлеушілеріне көмектесу үшін құжаттарды жазу ,
- жобаға келгендер қосымшаның логикасын тез түсінеді;
- қателерді түзету;
- жазу тестілері (бірлік, интеграциялық тестілеу);
- басқа топ мүшелерімен қарым-қатынас.
- Ағылшын деңгейі – Орташа ;
- Java Core – Java тілінің синтаксисін және негізгі технологиялар кешенін білу ;
- бүкіл веб-әзірлеу процесін түсіну;
- SQL тілін білу ;
- PostgreSQL немесе MySQL сияқты реляциялық деректер қорын білу ;
- JDBC , Hibernate арқылы деректер қорымен әрекеттесу дағдылары ;
- негізгі Spring Frameworks (Spring Core, Spring Data, Spring Web) туралы білім ;
- Гит , Мэвен туралы білім ;
- Бірлік және интеграциялық тестілеу дағдылары, мысалы, JUnit және Mockito пайдалану .
- техникалық жетекші ;
- топ жетекшісі ;
- толық стек әзірлеушісі - сізге фронтенді үйрену керек ;
- шешім сәулетшісі ;
- техникалық кеңесші ;
- қайта даярлау және басқа мамандыққа ауысу.
9.QA нұсқаулығы
Сапаны қолмен қамтамасыз ету - бұл өнімнің сапасын қамтамасыз ету үшін жұмыс істейтін маман, оның мақсаты қолданбаларды әзірлеу процесінің өзін жақсарту, құжаттаманы талдау және оның негізінде өнімнің жұмысындағы қателер мен дәлсіздіктерді анықтау. Әдетте, QA нұсқаулығында қарастырылатын сапаны қамтамасыз ету мыналардан тұрады:- тәуекелдерді бағалауды жүргізу;
- техникалық шарттар мен талаптарды талдау;
- өнім сапасын жақсарту бойынша идеяларды қалыптастыру;
- сынақ жоспарларын құру;
- алынған сынақ нәтижелерін талдау және құжаттау.
- талаптарды, техникалық шарттарды және басқа құжаттарды зерделеу;
- жүйені және оның техникалық сипаттамаларын спецификацияға (талаптар тізімі) сәйкестігін қарау және тексеру;
- тиімді тестілеу стратегиялары мен жоспарларын әзірлеу;
- тест сценарийлерін (тест жағдайларын) жазу, олардың негізінде QA Automation автоматтандырылған сынақтарды жасайды;
- тест тапсырмаларын қолмен орындау, нәтижелерді талдау;
- тестілеу кезінде сәтсіздіктер немесе сәйкессіздіктер туындаған жағдайда, сізге есеп беру, тапсырмаларды жасау (қателерді жасау) және оларды жақсарту үшін әзірлеушілерге жіберу керек;
- өнімнің регрессиялық сынағы;
- тестілеу кезеңдерін құжаттау;
- функционалдық сәйкессіздіктер мен қателер туралы әзірлеу топтарымен байланыс.
- Ағылшын деңгейі – Орташа ;
- қолдану сапасын қамтамасыз ету әдістемелері мен тәжірибелерін жақсы түсіну;
- регрессиялық тестілеуді білу;
- қателерді құжаттау мүмкіндігі;
- бағдарламалық қамтамасыз ету талаптарын егжей-тегжейлі қарастыру дағдылары;
- негізгі техникалық бағыттылық;
- JSON , XML түсіну ;
- SQL негізгі білімі ;
- сынақ құжаттамасын ұйымдастыру құралдарымен жұмыс істеу дағдылары, мысалы - Testrail ;
- егжей-тегжейге назар аудару;
- сыни ойлау.
- QA жетекші – командадағы QA көшбасшысы ;
- қайта оқытыңыз және басқа мамандыққа ауысыңыз, мысалы, фронтенд немесе бэкэнд әзірлеушісі болыңыз .
10. QA автоматтандыру
QA Automation - жеке өзі немесе QA нұсқаулығы бойынша жазылған сценарийлер негізінде сынақтар жасау үшін әртүрлі бағдарламалық құралдарды пайдаланатын өнім сапасының маманы . QA автоматтандыру - бұл QA нұсқаулығынан кейінгі келесі деңгей сияқты . Егер QA нұсқаулығы барлығын қолмен жасаса, QA Automation қолданба функциясының дұрыс жұмысын тексеретін сынақтарды жазу үшін қандай да бір бағдарламалау тілін пайдаланады. Бұл сынақтар әдетте белгілі бір жағдайларда автоматты түрде іске қосылады: қолданба құрастырылғанда немесе күн сайын белгілі бір уақытта және т.б. Әдетте, AQA жауапкершілігіне мыналар кіреді :- талаптарды, техникалық шарттарды және басқа құжаттарды зерделеу;
- сынақ жағдайлары мен сценарийлерді орындау үшін сынақ орталарын құру және орнату;
- сапаны қамтамасыз етудің белгіленген стандарттары мен әдістемелеріне сәйкес Selenium көмегімен сынақ жағдайларын (сынақ жоспарларын) автоматтандыруды жобалау, құру және орындау ;
- қолданбаны қолмен тестілеуді зерделеу және автоматтандыру мүмкіндігі бойынша ұсыныстар енгізу;
- автоматтандырудың заманауи сынақ жағдайларын жүргізу;
- құжаттаманы жазу;
- тестілеуді қамтудың қажетті деңгейін сақтау;
- қажет болса, қолмен тестілеуге көмектесіңіз. Сынақтарды басқару құралдары арқылы әзірленіп жатқан өнімдерге арналған сынақ жағдайлары мен сценарийлерін қолмен орындай алады;
- әзірлеуге қатысу, атап айтқанда сапаны бақылау процесін әкімшілендіру;
- функционалдық сәйкессіздіктер мен қателер туралы әзірлеу топтарымен байланыс.
- Ағылшын деңгейі – Орташа ;
- сапаны қамтамасыз ету әдістемелері мен тәжірибелерін жақсы түсіну;
- бір тілдің синтаксисін жақсы білу (мысалы, Java немесе JavaScript ), өйткені тесттер бір нәрседе жазылуы керек;
- Selenium көмегімен автоматтандырылған тесттер жазу ;
- CI/CD -мен танысу ;
- Git- пен жұмыс істей білу ;
- егжей-тегжейге назар аудару;
- сыни ойлау.
- QA жетекші ;
- қайта даярлау және басқа мамандыққа ауысу.
GO TO FULL VERSION