Довольно давно в различных источниках всплыла очень интересная тема 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-разработчику.
Спасибо за внимание.
Теги: #программирование #перевод #программирование
-
Яндекс.переключатель
19 Oct, 24 -
Эффективная Технология Защиты От Спама.
19 Oct, 24 -
Объектная Видеоаналитика На Транспорте
19 Oct, 24