JavaRush /Java Blog /Random-TK /IT ulgamynda kim. PM-ler, frontend we arkadaky işläp düzü...

IT ulgamynda kim. PM-ler, frontend we arkadaky işläp düzüjiler we QA näme edýär?

Toparda çap edildi
Heý! Biziň hemmämiz bu ýere seretdik, sebäbi IT ulgamynda işlemek isleýärdik. Youöne ilkinji IT hünäri bilen gyzyklanmagyň ýerine, IT kompaniýasynda bolup biljek ugurlaryň sanawyna azajyk göz aýlamaly? Bu meniň gysgaça synymyň ikinji bölümi. Birinjisinde , Recruiter, HR, System admin, DBA, DevOps ýaly hünärlere göz aýladyk. Bu gün islendik toparyň “oňurgasy” we şoňa laýyklykda taslama bolan hünärlere serederis. Кто есть кто в IT. Чем занимаются PM-ы, frontend- и backend-девелоперы и QA - 1Bir ýerde bir zady bulaşdyrsam, meni gaty käýinmäň, teswirlerde düzediň: Men hemme zady Java döredijiniň nukdaýnazaryndan seredýärin we ähli hünärleriň nuanslaryny bilmän bilerin.

6. PM - Taslamanyň ýolbaşçysy

Taslamanyň ýolbaşçysynyň işi , tehniki taslamalary başarnykly meýilleşdirmek, guramak, dolandyrmak we işleriň mümkin boldugyça aňsat we netijeli ýerine ýetirilmegini üpjün etmek üçin toparyň agzalarynyň arasyndaky aragatnaşygy gowulandyrmakdyr. Bu hünärmenler müşderileriň zerurlyklaryny we yzarlaýan maksatlaryny bilmelidirler we taslamany logiki, oňyn netijä getirmek üçin işgärleriň hereketlerini mümkin boldugyça utgaşdyrmalydyrlar. Oňyn, sebäbi birnäçe sebäplere görä taslamalar elmydama üstünlikli tamamlanyp bilmeýär: maliýeleşdirmegi togtatmak, müşderiniň işinden nägilelik we ş.m. ... Premýer-ministriňКто есть кто в IT. Чем занимаются PM-ы, frontend- и backend-девелоперы и QA - 2 esasy wezipesi, çözmek üçin işgärler toparyny utgaşdyrmakdyr tehniki meseleler, sebäbi işläp düzüjiler elmydama aşa ýakyn adamlar däl we hemişe biri-biri bilen başarnykly aragatnaşyk gurup bilmeýärler we bu, öz gezeginde, diňe taslama garşy oýnap biler. Garaz, ýa-da, meselem, dörediji bir zada ýapyşdy: uzak wagtlap oturyp biler we käbir meseläni nädip çözmelidigini bilmez. Biziň hemmämiziň bir zady bilmeýändigimizi ýa-da edip bilmejekdigimizi boýun almak islemeýäris, işläp düzüjiler hasam beter. Ine, premýer-ministr kömege gelýär , size goşmaça maglumat üçin ýüz tutup biljek ýa-da şuňa meňzeş bir zat bilen ýüzbe-ýüz bolan adamy tapmaga kömek eder. Premýer-ministriň jogapkärçiligi şulary öz içine alýar:
  • umumy taslama maksatlaryny kesgitlemek;
  • bu maksatlara ýetmek üçin meýilnamalary düzmek;
  • taslama möhletlerini we häzirki ýagdaý hasabatlaryny ýöretmek;
  • taslama çeşmelerini dolandyrmak (işgärler we tehniki enjamlar);
  • taslama toparynyň agzalarynyň arasyndaky özara gatnaşyklary utgaşdyrmak;
  • taslamanyň netijeliligini yzarlamak we meýilleşdirilen tertibe boýun bolmak;
  • taslamalar üçin töwekgelçiligi bahalandyrmak;
  • maksatlary, häzirki ösüşi, taslamanyň oňyn we negatiw taraplaryny ara alyp maslahatlaşmak üçin dürli ýygnaklary guramak.
Gerekli başarnyklar:
  • Iňlis Upperokarky Aralyk we has ýokary, sebäbi premýer-ministr toparyň adyndan müşderi bilen aragatnaşyk saklaýar;
  • giň tehniki bilim, ýöne gaty çuň däl, kimiň näme edýändigini, işiň umuman nähili bolýandygyna düşünip bilersiňiz;
  • навыки управления проектами и участвующими в них командами;
  • сильнейшие коммуникационные навыки, так How работа PM в основном состоит из коммуникаций с членами команды, руководством;
  • развитые навыки ведения переписки. К примеру, часто нужно посылать письма на email заказчика от лица команды, компании, и письмо неправильно составленное or с ошибками никто не оценит;
  • аналитический склад ума, который будет полезен при решении проблем, возникающих во время работы над проектом;
  • навыки тайм-менеджмента, использование которых позволит держать проекты в рамках графика и бюджета (ведь время=деньги);
  • навыки планирования ресурсов и задач.
Согласно dou, по Киеву средняя зарплата начинающего PM — 700$. Диапазон зарплат по Киеву для данных специалистов — 1200-4500$: всё зависит от опыта специалиста и компании. В кого можно вырасти:
  • delivery manager (DM) — прямое продолжение PM-a, стоит сразу над группой PM-ов и координирует их проекты на более высоком уровне;
  • program manager — координирует несколько взаимосвязанных проектов, но я сам не сильно понимаю различие с DM-ом;
  • chief technical officer (CTO) — технический директор, несущий ответственность за разработку продуктов и улучшение их процессов создания;
  • chief executive officer (CEO) — главный исполнительный директор;
  • account manager (AM) — менеджер по работе с клиентами;
  • переучиться и перейти в другую специальность ))
Если люди вам интересны, вы любите с ними общаться и готовы принять на себя бремя ответственности за команду (а то и не одну) разработчиков, то это профессия явно для вас.

7. Frontend developer

Frontend developer — это разработчик, отвечающий за реализацию визуальной части applications, которую пользователи видят и с которой взаимодействуют в веб-приложении. Как правило эти специалисты сотрудничают с Backend-разработчиками, отвечающими за логическую (serverную) часть applications, которая продолжает визуальную часть applications, создаваемую Frontend разработчиками.Кто есть кто в IT. Чем занимаются PM-ы, frontend- и backend-девелоперы и QA - 3Frontend-разработчики, How и Backend-разработчики, — это костяк разработки любых проектов. Те, на ком проекты и держатся. Ведь Howой бы ни был бизнес, он держится на обычных, так сказать, работягах. Вот разработчики и выступают в роли таких работяг. Их, How правило, намного больше, чем представителей других специальностей, и они наиболее нужны в любом проекте. В обязанности Frontend Developer входит:
  • разработка нового функционала и улучшение старого;
  • рефакторинг codeа для улучшения производительности, которая иногда может сильно проседать; читаемости, чтобы другие разработчики быстрее могли вникать в code и его логику; расширяемости, чтобы в будущем было легче реализовать новый функционал благодаря переиспользованию частей старого;
  • ревью (обзор) codeа, отправляемого на server. Например, один разработчик написал code, другой его просматривает и может вернуть его первому с замечаниями по тому, что нужно поправить;
  • коммуникация с клиентами и членами команды — How Frontend, так и с Backend разработчиками;
  • техническая реализация графического UI/UX макета, составленного дизайнером;
  • отслеживание производительности applications;
  • починка багов (ошибок).
Frontend-разработчики — это программисты, изучившие верстку в HTML, CSS, JavaScript и взявшиеся за изучение определённого фреймворка, например, Angular-а or React. Далее рассмотрим конкретные навыки, которые необходимы для становления, Frontend-разработчиком, и в качестве примера возьмём Angular направление. Необходимые навыки:
  • уровень английского — Intermediate;
  • понимание всего процесса веб-разработки (дизайн, разработка и развертывание);
  • работы с Angular 5+;
  • знание JavaScript, TypeScript, RxJS, Sass, webpack;
  • навыки верстки (HTML, CSS);
  • навыки в работе с Git;
  • понимание паттернов проектирования;
  • хорошее знание Linux.
Согласно dou, по Киеву средняя зарплата начинающего специалиста данного профиля — 500$. Общая же медиана по Киеву для данных специалистов 1800-2700$. Ну а наибольшие показатели и вовсе могут достигать чуть ли не 5000$. Но вы должны понимать, что это единичные случаи, и у специалистов, имеющих высочайшую квалификацию. Если вы любите работать с технической частью, но так, чтобы она не сводила с ума своей сложностью, и при этом иметь профессию в популярном направлении, эта специальность может вас заинтересовать. В кого можно вырасти:
  • tech lead — технического специалиста (гуру) в данной области;
  • team lead — руководителя команды разработки (полевого командира). Отсюда можно расти в менеджерское направление, например, в CTO;
  • full-stack developer — разработчик, владеющий и backend-, и frontend-частью, то есть нужно подучить backend;
  • solution architect — специалист, который принимает решения насчёт архитектуры внутреннего устройства и внешних интерфейсов продукта;
  • tech consultant — технический консультант в Howой-то технологии;
  • переучиться и перейти в другую специальность.

8. Backend developer

Backend developer-ы — создают и улучшают serverную часть, отвечающую за бизнес логику applications, которая соединяется с визуальной (интерфейсной) частью applications (например, через REST API). Комбинация serverной части applications (Backend) + визуальная часть applications (Frontend) и образуют веб-приложение, с которым и взаимодействует конечный пользователь.Кто есть кто в IT. Чем занимаются PM-ы, frontend- и backend-девелоперы и QA - 4Backend-разработчики несут ответственность за создание, поддержку, тестирование и отладку всей serverной части. Как правило, это включает в себя базовую логику applications, взаимодействие с базами данных, взаимодействие с различными API и другие внутренние процессы. Специалист данного профиля, помимо знания синтаксиса своего языка и основных фреймворков, должен иметь общие знания по базам данных, в частности, реляционным, уметь писать модульные и интеграционные тесты на свой code, иметь знания по сборщику applications — Maven or Gradle, уметь пользоваться Git-ом. В обязанности Backend developer входит:
  • разработка нового функционала;
  • рефакторинг codeа;
  • ревью codeа других Backend разработчиков;
  • написание documentации, с помощью которой новые backend-разработчики,
  • пришедшие на проект, будут быстрее вникать в логику applications;
  • починка багов;
  • написание тестов (модульное, интеграционное тестирование);
  • коммуникация с остальными членами команды.
Как и у Frontend, у Backend-разработчиков есть различные направления, а именно — конкретный язык разработки. Но мы, понятное дело, в качестве примера возьмем язык разработки Java. Итак, Howовы же необходимые навыки для Java-разработчика:
  • уровень английского — Intermediate;
  • знание Java Core — синтаксиса языка Java и набора базовых технологий;
  • понимание всего процесса веб-разработки;
  • знание языка SQL;
  • знание реляционных баз данных, например PostgreSQL or MySQL;
  • навыки взаимодействия с базой данных через JDBC, Hibernate;
  • знание базовых фреймворков Spring (Spring Core, Spring Data, Spring Web);
  • знание Git, Maven;
  • навыки в модульном и интеграционном тестировании, например, с помощью JUnit и Mockito.
Для Frontend и Backend разработчиков, я ничего не говорил про высокие коммуникативные навыки. Везде вот пишут, что важны высокие коммуникативные навыки для данных специалистов, но это не совсем так. Да, важно адекватно общаться, но это важно в любом направлении и в любой другой профессии. Но если сравнивать с PM-ом or рекрутером, у которых вся работа и состоит из общения, то для разработчика иметь сверхразвитые soft скиллы (навыки коммуникации) не так критично важно. Ведь они целыми днями работают именно в codeе и, к примеру, раз в день участвуют в Howих-то собраниях типа ежедневного митинга, на которых говорят буквально пару предложений: что делали, что делают, что будут делать. Ну и иногда созваниваются со своими коллегами для обсуждения некоторых технических моментов. Поэтому данная профессия отлично подходит для интровертов — людей, которые любят уединенность. Вы можете получить свою задачу и работать над ней, не тратя куча часов на непонятные созвоны и обсуждения. Также я написал что необходимый уровень английского языка — Intermediate, так How с одной стороны, нет огромного количества коммуникаций с заказчиком, но при этом нужно уметь читать/писать на английском (documentация, Jira) и, возможно, коммуницировать с разработчиками со стороны заказчика. Заказчики могут смотреть на кривоватый английский со стороны разработчиков немного сквозь пальцы: главное, чтобы они были сильны непосредственно в разработке. Возможности для роста у Backend такие же, How и у Frontend-разработчиков:
  • tech lead;
  • team lead;
  • full-stack developer — нужно подучить frontend;
  • solution architect;
  • tech consultant;
  • переучиться и перейти в другую специальность.
Зарплаты у Backend-разработчиков весьма приятные. Например, начинающий Java Developer в среднем по Киеву может получать около 600$. Средняя зарплата по Киеву для данных специалистов варьируется в пределах 1950-2850$. Ну а для сильных разработчиков Senior уровня зарплата может достигать 5000$ и выше. Но вы должны понимать, что этого можно добиться с колоссальным опытом за плечами и высочайшим уровнем навыков. Мне в школе всегда хорошо давалась математика и физика, ведь там давали кирпичики в виде формул, и для решения Howих-то задач нужно было выстраивать из этих кирпичиков логическую структуру. Поэтому мне и нравится разработка — тот же принцип, только логических кирпичиков гораздо больше, да и структуры нужно строить посложнее. Если вы не ищете легких путей и вам хочется настоящих вызовов, то смело выбирайте это направление.

9.QA Manual

Manual Quality Assurance — это специалист, работающий над обеспечением качества продукта, цель которого — улучшение самого процесса разработки applications, анализ documentации и на ее основании — выявление ошибок и неточностей в работе продукта.Кто есть кто в IT. Чем занимаются PM-ы, frontend- и backend-девелоперы и QA - 5Как правило, обеспечение качества, которым занимается QA Manual, состоит из:
  • проведения оценки рисков;
  • анализа спецификаций и требований;
  • генерации идей по улучшению качества продукта;
  • составления планировок тестирования;
  • анализа и documentации полученных результатов тестирования.
На данный момент тестирование идет бок о бок с разработкой программного обеспечения и занимает важную роль в создании любого качественного IT продукта. И верно, ведь помимо правильно написанного функционала, нам нужно быть уверенными, что он правильно отрабатывает и не содержит 100500+ багов. Тут на помощь и приходит тестирование, которое служит неким контролем качества, чтобы его пройти мог только продукт, максимально отлаженный и отшлифованный. В обязанности QA Manual входит:
  • изучение требований, спецификации и прочей documentации;
  • просмотр и проверка системы и её технических характеристик на соответствие спецификации (перечню требований);
  • разработка эффективных стратегий и планов тестирования;
  • написание сценариев тестирования (тест кейсов), по которым QA Automation создают автоматизационные тесты;
  • ручное выполнение тестовых примеров, анализ результатов;
  • в случае неудач or несоответствий при тестировании нужно составлять отчёт, заводить задания (заводить баги) и отправлять разработчикам на доработку;
  • регрессионное тестирование продукта;
  • documentирования этапов тестирования;
  • коммуникация с командами разработчиков о несоответствиях функционала и багах.
Необходимые навыки для становления QA Manual:
  • уровень английского — Intermediate;
  • хорошее понимание методологий и практик обеспечения качества applications;
  • знание регрессионного тестирования;
  • умение documentировать ошибки;
  • навыки подробного рассмотрения требований к ПО;
  • базовое ориентирование в технической части;
  • понимание JSON, XML;
  • базовые знания SQL;
  • навыки в работе с инструментами организации тестовой documentации, например — Testrail;
  • внимание к деталям;
  • критичный склад ума.
Прямая возможность для роста такого специалиста — QA Automation. Для этого нужно будет немного подучиться. Также можно вырасти в:
  • QA lead — предводителя QA в команде;
  • переучится и перейти в другую специальность, например, стать frontend- or backend developer-ом.
По Киеву зарплата QA Manual новичка в среднем составляет 400$. Ну а в среднем salaries для данных специалистов находятся в пределах 1250-1650$. У самых матерых специалистов Senior уровня salaries могут достигать 3000$ и выше. Это один из наиболее легкий путей “войти в айти”: можно начать с этой специальности, а потом перейти на что-то посложнее or же достигать вершин мастерства в данном направлении.

10. QA Automation

QA Automation — специалист, отвечающий за качество продукта, который использует в работе различные программные инструменты, чтобы создавать тесты по сценариям, написанным лично or QA Manual. QA Automation — это что-то вроде следующего уровня после QA Manual. Если QA Manual выполняет всё вручную, то QA Automation использует Howой-то язык программирования для написания тестов, проверяющих правильность работы функционала applications. Эти тесты, How правило, автоматически запускаются при определенных условиях: при сборке applications, or каждый день в Howое-то время и так далее.Кто есть кто в IT. Чем занимаются PM-ы, frontend- и backend-девелоперы и QA - 6Как правило, в обязанности AQA входит:
  • изучение требований, спецификации и прочей documentации;
  • создание и настройка тестовых сред для выполнения тестовых случаев и сценариев;
  • проектирование, создание и выполнение автоматизации тестовых сценариев (планов тестирования) с использованием Selenium в соответствии с определенными стандартами и методологиями обеспечения качества;
  • изучение ручного тестирования applications и внесение предложений по возможности автоматизации;
  • поддержание актуальных автоматизационных тестовых случаев;
  • написание documentации;
  • поддержание необходимого уровня тестового покрытия (test coverage);
  • при необходимости — помощь с ручным тестированием. Может выполнять вручную тестовые примеры и сценарии для разрабатываемых продуктов с помощью инструментов управления тестированием;
  • участие в разработке, а именно — в администрировании процесса контроля качества;
  • коммуникация с командами разработчиков о несоответствиях функционала и багах.
Основная “фишка” автоматизационного тестирования заключается в том, что автоматические тесты позволяют тестировать ПО гораздо быстрее, чаще и, соответственно, ускоряют доставку продукта. Во-первых, хорошо выполненная работа по автоматизации тестирования позволит запустить тесты быстро и предсказуемо. Это в свою очередь позволит избежать ситуаций, когда человек, выполняющий шаги вручную, может пропустить шаг or ввести meaning, не предназначенное для тестирования. Во-вторых, можно включить автоматизационные тесты в процесс сборки и запускать их каждый раз, когда сборка завершается. Это можно сделать с помощью инструмента CI. В-третьих, когда в приложении разработчиками изменяется некоторый функционал, то он может повлиять на совершенно другую часть системы и изменить и её поведение тоже. Но при запуске автоматизационных тестов изменения в поведении любой части системы сразу станет видно — это дополнительная страховка на тот случай, если мы починкой одного бага создадим новых три. Необходимые навыки:
  • уровень английского — Intermediate;
  • хорошее понимание методологий и практик обеспечения качества;
  • отличное знание синтаксиса одного языка (например, Java or JavaScript), ведь на чём-то нужно писать тесты;
  • написание автоматизационных тестов с помощью Selenium;
  • знакомство с CI/CD;
  • умение работать с Git;
  • внимание к деталям;
  • критичный склад ума.
Прямая возможность роста для AQA — развиться до разработчика того языка программирования, на котором вы уже пишете тесты. Также можно стать:
  • QA lead;
  • переучиться и перейти в другую специальность.
Средняя зарплата начинающего QA Automation по Киеву — 600$. Средние показатели для данного направления — 1700-2500$, а у специалистов уровня Senior salaries могут достигать 4000$ и выше. Если вы обладаете критическим складом ума, хотите писать code, но при этом не иметь “вызовов”, которые могут временами изрядно подпортить нервишки, а хотите более спокойную работу, вам стоит узнать об этой профессии поподробнее. Кто есть кто в IT. Чем занимаются PM-ы, frontend- и backend-девелоперы и QA - 7Во всех специальностях я указывал английский язык How необходимый навык. Но если у вас он не очень, не стоит расстраиваться. Это не приговор. Есть довольно много различных российских и украинских продуктовых компаний, которые набирают специалистов без обязательного знания английского, так How людям не нужно будет общаться с иностранными заказчиками (клиентами), а только внутри команды. Например, это может быть IT-отдел Howого-то банка or оператора связи. Так что найти работу можно и без языка, было бы желание. А сегодня у меня на этом всё…Кто есть кто в IT. Чем занимаются PM-ы, frontend- и backend-девелоперы и QA - 8
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION