Full Stack Веб-Разработчик

Довольно давно в различных источниках всплыла очень интересная тема Full Stack-разработчика.

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

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

Если вы заинтересованы, пожалуйста, свяжитесь со мной.

В этой своей статье я представляю вашему вниманию перевод части статьи отсюда .



Полные слои стека:



1. Сервер, сеть и среда хостинга.

Это включает в себя понимание того, что может сломаться и почему.

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

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

Разработчик полного стека может работать бок о бок с DevOps .

Система должна выдавать полезные сообщения об ошибках.



2.Моделирование данных
Если модель данных неверна, то бизнес-логика и более высокие уровни начинают нуждаться в странном (ужасном) коде, чтобы компенсировать острые края, которые модель данных не покрывает. Разработчики Full Stack знают, как создать достаточно сбалансированную реляционную модель данных с внешними ключами, индексами, представлениями и т. д. Разработчики Full Stack знакомы с NoSQL и знают, когда решения лучше подходят для реляционных баз данных.



3. Бизнес-логика
Здесь требуются твердые объектно-ориентированные навыки.

Также здесь могут понадобиться разные фреймворки.



4. Уровень API/уровень действий/MVC
Знание того, как внешний мир может действовать против бизнес-логики и моделей данных.

На этом уровне следует в значительной степени использовать фреймворки.

Разработчики Full Stack имеют возможность писать понятные, последовательные и простые интерфейсы.



5. Пользовательский интерфейс
Разработчики полного стека понимают, как создать читаемый макет, и осознают, что им нужна помощь профессиональных художников и графических дизайнеров.

В любом случае, ключевым моментом является реализация хорошего визуального дизайна.

Отличное владение HTML/CSS, JavaScript (узлы, магистрали, нокаут и т. д.).



6. Пользовательский опыт
Разработчики Full Stack понимают, что пользователи просто хотят, чтобы он работал.

Хорошая система не вызовет у пользователей синдрома запястного канала или воспаленных глаз.

Разработчик Full Stack может рассмотреть процесс, состоящий из 8 кликов и 3 шагов, и свести его к одному клику.

Такой разработчик пишет полезные сообщения об ошибках; если что-то сломается, он просит за это прощения.

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



7. Понимание того, что нужно клиенту и бизнесу
Разработчик Full Stack понимает, что происходит, когда клиент использует программное обеспечение, а также имеет представление о бизнесе клиента.



Другие части головоломки:
1. Умение писать качественные Unit-тесты.

2. Понимание Непрерывная интеграция .

3. Осведомленность о проблемах безопасности очень важна, поскольку на каждом уровне есть свои возможные уязвимости.

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

Спасибо за внимание.

Теги: #программирование #перевод #программирование

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.