Что делает хорошего разработчика полного стека

Благодаря современным достижениям в области технологий, например, с помощью javascript, все больше и больше разработчиков могут применять принципы, с которыми они знакомы, во всем остальном стеке. В одном только списке Angel насчитывается более 5400 стартапов, которые в настоящее время ищут полнофункциональных инженеров. Каждому стартапу нужны хорошие разработчики полного цикла, и если вы серьезно относитесь к развитию своего стартапа, вы захотите прочитать дальше, чтобы узнать, что представляет собой рок-звезда!

На высшем уровне настоящий разработчик полного стека - это тот, кто может создать и развернуть приложение целиком. Этот человек должен уметь работать с интерфейсом, серверной частью, базами данных, системами, облаком, а также уметь тестировать свою работу. Есть те, кто строит все программы карьерного роста на одном языке, обычно это небольшие компоненты большого пирога в таких крупных компаниях, как Facebook, Google и Yahoo. Разработчики полного стека, скорее, не зависят от языка. Они не разборчивы в работе с Java, Rails или Go, их основное внимание уделяется решению проблем и построению надежных решений.

Программисты, не зависящие от языка, на протяжении всей своей карьеры знакомятся с новыми технологиями, поэтому они могут программировать с учетом различных точек зрения. Вы спросите, почему это хорошо для стартапа на ранней стадии? Целеустремленный разработчик будет применять в ваших проектах только те технологии, с которыми он знаком. То, что что-то сработало для кого-то, не означает, что это сработает и для вас. Хороший разработчик полного стека может решить проблему и, исходя из опыта, использовать правильные технологии, оптимальные для удовлетворения потребностей конечного пользователя. Правильные технические решения на раннем этапе сэкономят вам тысячи долларов и, надеюсь, приведут к увеличению прибыли в долгосрочной перспективе.

Если вы развиваете стартап, вам понадобится один (или 10) из этих людей в вашей команде. Если у вас ограниченный бюджет, сначала наймите старшего разработчика полного цикла, а затем создайте вокруг него подрядчиков или младших специалистов в тех областях, в которых вам нужна помощь. Ниже вы найдете контрольный список квалификаций, на которые следует обратить внимание при следующем найме полнофункционального разработчика:

  • Диплом по информатике или окончил авторитетный учебный курс по программированию
  • Фундаментальные принципы программирования и дизайна
  • Сильный с несколькими языками бэкэнд (например, Rails, Java, Python) и как минимум 1 современной технологией. (например, Go, Elixir, Scala, Node)
  • Понимание возможностей javascript и умение применять его во всем приложении. Хороший разработчик полного стека должен свободно владеть хотя бы одним современным фреймворком (например, React, Angular, backbone) и понимать последние итерации javascripts (es6 / es7 и выше).

  • Внимательное отношение к дизайну - UI / UX
  • Понимает данные и способы их хранения (например, MySQL, mongoDB), также знаком с большими данными (например, Hadoop, Spark, Cassandra)
  • Выполнял развертывание в AWS в прошлом и понимает, как автоматизировать работу с помощью AWS, Jenkins, Docker.
  • Знаком с созданием отзывчивой работы, которая применима на нескольких мобильных платформах. Создавали ли они собственные приложения на Swift или гибридные приложения с ionic или React Native.
  • Удобно часто тестировать свою работу, используя такие инструменты, как селен

Невозможно быть экспертом во всем, но важно быть Знающим обо всем. Хороший full-stack разработчик должен понимать все, что упомянуто выше. При поиске и собеседовании с разработчиками обязательно погрузитесь во все упомянутые темы и убедитесь, что просматривали их историю изучения новых языков. Хорошее место для начала - просмотр их кода на личных веб-сайтах или в учетных записях Github. Если им нечего показать, это ваш первый красный флаг.

"Удачи!"