Существует условное разделение программистов на фронтенд- и бэкенд-специалистов. Ходят слухи, что есть еще некие фулстек-разработчики. Стас Гольденшлюгер из Alef Development рассказал, кого брать в команду и как организовать рабочий процесс.
По-простому: кто такие бэкенд-, фронтенд- и фулстек-разработчики
- Фронтенд-программист разрабатывает все, что пользователь видит на экране.
- Бэкенд-программист делает серверную часть — программу, к которой обращается конкретный сайт или мобильное приложение с разными просьбами. Например, «вытащи из базы данных список пользователей и пришли его мне».
- Фулстек-программист умеет делать и серверную часть, и многообразные виды фронтенда: сайты, приложения, ботов, программы для компьютеров, прошивки для электронных устройств. Иначе говоря, человек-оркестр.
Существуют ли фулстек-специалисты?
Фулстек-разработчик как супергерой: мифический персонаж, способный на все, и никто не знает, правда он или вымысел. По сути, это неизбежная конечная ступень развития любого человека, который увлекается программированием.
Такой специалист начинает программировать еще в детстве, к 15 годам имеет неплохой опыт на разных языках, получает высшее профильное образование, работает по 2-3 года в разных компаниях — в общем, «дозревает» около 20 лет.
Понятно, что он будет в чем-то разбираться лучше, а в чем-то хуже. Однако матерый программист в общих чертах представляет, как работает и декларативное программирование, и криптовалюты, и микропроцессоры, и машинное обучение, и эволюционные алгоритмы.
Крутая кузница фулстек-кадров — фриланс. Фрилансеры редко сидят годами над одним и тем же проектом — им сама жизнь подсовывает разноплановые задачи. Более того, когда работаешь в команде, можно передать задачу коллегам. Фрилансеры же чаще тянут проекты в одиночку. Некому помочь с бэкендом? Будь добр, сам научись.
Какие специалисты в команде не нужны
Программист, который говорит, что делает только фронтенд и только на этой конкретной платформе, — либо обладает крайне маленьким опытом, либо клинически нелюбознательный. И то, и другое плохо.
Проведу аналогию с музыкальной группой. Представьте, что вокалист просит ударника одновременно ударить по трем тарелкам. Тот, конечно, не справится, потому что у него всего две руки и две палочки. Или другая ситуация: соло-гитарист предлагает вокалисту повторить за ним трель, в которой три октавы меняются за одну секунду — тоже невозможно.
Так происходит и в IT-команде, где работают узкие специалисты с низкой квалификацией. Однако если программисты обладают перекрестными навыками, тогда им будет просто понять друг друга и договориться.
По-моим наблюдениям, не бывает хороших программистов, которые бы не любили программировать. У многих разработчиков профессия совпадает с хобби. Я знаю, что после рабочего дня мои ребята решают программерские головоломки, делают из своей квартиры «умный дом» или прогают другой личный проект.
Сериал «Теория большого взрыва» не то чтобы сильно преувеличивает. Если человек — гик, то это не только в рабочее время, это круглосуточно и на всю жизнь.
Как организовать рабочий процесс в IT-команде
У нас в компании несколько фулстек-разработчиков, но, как бы мне ни хотелось, собрать команду только из них почти невозможно: таких специалистов на рынке труда мало. Я склоняюсь к тому, чтобы брать в команду программистов с максимально широким кругозором и делить их по задачам на фронтенд- и бэкенд-разработчиков.
Источник : rb.ru
Поделиться