Как стать разработчиком полного цикла? Это одна из самых горячих тем для разработчиков, дискуссии никогда не прекращались. В LinkedIn и Facebook многие люди назвали свою должность разработчика полного цикла. К тому же, похоже, тема Full Stack уже стала новым трендом работы. В статье на Medium говорится, что дизайнер полного стека получает как похвалу, так и порицание. Некоторые люди думают, что полный набор - это просто титул, и ему следует сосредоточиться на реальных личных способностях и технологиях.

По сути, я думаю, что обсуждение полного стека также является своего рода аргументом, относящимся к разностороннему специалисту в ИТ-индустрии, и дискуссией о глубине и широте навыков разработки.

Вы не можете съесть свой торт и съесть его. В то время как разработчики полного стека и дизайнеры полного стека, похоже, оспаривают эту возможность. Потому что их горизонтальное дерево навыков дает им возможность как есть, так и есть торт. Есть еще одна пословица: этот мастер на все руки, но ничего не мастер. Поэтому нужно думать о том, как стать настоящим разработчиком полного стека, а не пустым заголовком.

1. Что такое разработчик полного стека?

Проще говоря, разработчик полного цикла - это люди, которые овладевают различными навыками и используют эти навыки для самостоятельной разработки продукта. Самый популярный ответ на Quora объясняет, что такое full-stack разработчик:

Разработчик полного стека - это инженер, который может выполнять всю работу с базами данных, серверами, системным проектированием и клиентами. В зависимости от проекта клиентам может потребоваться мобильный стек, веб-стек или собственный стек приложений.

Фактически, «полный стек» относится к набору ряда технологий, необходимых для завершения проекта. «Стек» относится к набору подмодулей. Эти программные субмодули или компоненты объединяются вместе для достижения установленной функции без необходимости в других модулях.

2. Почему полноправный разработчик обсуждался неоднозначно?

Как упоминалось выше, дискуссия о разработчиках полного стека на самом деле является дискуссией о глубине и широте навыков. В частности, на конференции OSCON инженер Facebook сказал, что они наняли только «разработчика полного цикла». Эта тема возникла в результате жарких дискуссий о сильных и слабых сторонах разработки полного стека.

Преимущества: Разработчики полного стека, участвующие в горизонтальном техническом задании, так что он / она может очень быстро создать дизайн прототипа продукта с его широким спектром методов. Благодаря полной штабелированности они имеют более широкий угол обзора и более активный образ мышления. Более того, они будут более чувствительны к методам и продуктам. Таким образом, у таких людей всегда может быть свое мнение о продукте или дизайне.

С другой стороны, он / она может помочь каждому в команде и значительно сократить время и технические затраты на командное общение, стыковку технологий. Многие из них становятся предпринимателями или техническими партнерами в начинающих компаниях.

Недостатки: именно из-за горизонтального развития технологий некоторые разработчики полного стека не могут быть экспертами в одном навыке. Большинство из них, которые называют себя «разработчиками полного стека», мало знают о множественных навыках. Что касается того, как сделать архитектуру более подходящей для модульной разработки, это вопрос.

3. Даже в этом случае люди все еще спрашивают, как стать разработчиком полного стека?

Квалифицированный разработчик полного стека должен обладать функциональными знаниями и возможностями для всех аспектов, связанных с построением приложения.

1) Языки программирования

Вам необходимо владеть несколькими языками программирования, такими как JAVA, PHP, C #, Python, Ruby, Perl и т. Д. Поскольку большинство ваших основных бизнес-процессов должны быть написаны на этих языках. Возможно, не все из них нужны. Но вы также должны владеть грамматикой языка и хорошо знать, как структурировать, проектировать, реализовывать и тестировать проект на основе одного или нескольких языков. Например, если вы выбираете JAVA, то вам необходимо освоить объектно-ориентированное проектирование и разработку, шаблоны проектирования, компоненты разработки на основе J2EE и так далее.

Где узнать: Git / GitHub - вы должны знать, как использовать Git для управления своим кодом и предоставления доступа к нему.

2) Используйте фреймворки разработки и сторонние библиотеки.

Популярные языки разработки обычно сопровождаются хорошей средой разработки, такой как JAVA Spring, MyBatis, Hibernate, Python Django, PHP thinkphp, yin, nodeJs express и так далее.

Где учиться: Courses.AngularClass.com, 15 бесплатных электронных книг по Python

3) Front-end технология

Фронтенд-технологии становятся все более и более важными в современных проектах и ​​разработке продуктов. Помимо функций продукта, пользовательский опыт также является одним из критериев проверки успешности продукта. Все это зависит от реализации интерфейсной технологии, поэтому вам необходимо освоить некоторые базовые интерфейсные технологии, такие как HTML5, CSS3, JavaScript, и дополнительно изучить интерфейсные фреймворки или сторонние библиотеки, такие как JQuery, МЕНЬШЕ, SASS, AngularJS или REACT.

Где узнать: Вы не знаете JS

4) База данных и кеш

Любому продукту или проекту нужна база данных для хранения данных. Как разработчику полного стека вам также необходимо иметь хотя бы одну или две базы данных и знать, как взаимодействовать с базой данных. В настоящее время популярными СУБД являются MySQL, MongoDB, Redis, Oracle, SQLServer и так далее. В качестве базы данных типа документа MongoDB более широко используется в интернет-продуктах. Что касается более крупных проектов, я также рекомендую использовать MySQL или коммерческий Oracle в качестве серверной базы данных. В то время как базы данных памяти, такие как Redis, можно использовать для кэширования, чтобы повысить производительность системы.

Где учиться: Серия руководств по MongoDB MERN, Учебник Redis

5) Базовые дизайнерские способности

Большинство статей или дискуссий о разработчиках полного стека редко связаны с требованиями к дизайну. Но я думаю, что навыки дизайна очень важны, также необходимы принципы и навыки базового дизайна прототипов, UI-дизайн, UX-дизайн.

Где узнать: Блог Mockplus

6) Самостоятельные требования также являются важным фактором, чтобы стать разработчиком полного стека:

  • Глобальное мышление
  • Хорошие коммуникативные навыки
  • Креативность
  • Любопытство
  • Навыки тайм-менеджмента

Заворачивать

Согласно 10 000 часов юриспруденции Гладуэлла, он потратит 10 лет на освоение внешнего, внутреннего и ориентированного на клиента информационного контента, чтобы стать разработчиком полного цикла. Следовательно, разработка полного стека ни в коем случае не может быть завершена в одночасье. Что вам нужно сделать, так это заложить техническую основу, укрепить основные навыки и продолжать учиться, чтобы решать новые задачи.