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

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

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

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

  • Степень в области компьютерных наук или окончание авторитетного учебного курса по программированию.
  • Основные принципы программирования и дизайна
  • Сильный с несколькими языками бэкенда (например, Rails, Java, Python) и как минимум 1 современной технологией. (например, Go, Elixir, Scala, Node)
  • Понимание возможностей javascript и умение применять его во всем приложении. Хороший разработчик полного стека должен свободно владеть хотя бы одним современным фреймворком (например, React, Angular, backbone) и разбираться в последних итерациях javascript (es6/es7 и выше).
  • Острый взгляд на дизайн — UI/UX
  • Понимает данные и способы их хранения (например, MySQL, mongoDB), также знаком с большими данными (например, Hadoop, Spark, Cassandra)
  • В прошлом выполнял развертывание в AWS и понимает, как автоматизировать работу с AWS, Jenkins, Docker.
  • Знаком с созданием адаптивной работы, применимой на нескольких мобильных платформах. Независимо от того, создавали ли они нативные приложения с помощью Swift или гибридные приложения с помощью ionic или React Native.
  • Удобно часто тестировать свою работу, используя такие инструменты, как селен

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