Вопросы и ответы один раз на ZhihuЯ рассказал о своем понимании потолка фронтенд-инженеров:
Я думаю, что с появлением все большего количества интернет-продуктов пользователи будут продолжать требовать лучшего пользовательского опыта, и студенты, работающие с клиентами, также будут играть все более важную роль. Обязанности становятся все тяжелее, а потолок все выше и выше. (Эй, то, что я сказал, кажется, нет необходимости добавлять какие-либо цитаты....)
В то время угол в основном был сосредоточен на опыте продукта. Сейчас я работаю в Ant около года, и у меня есть некоторые новые идеи по этому поводу. Хотя возможности внешнего интерфейса становятся все сильнее и сильнее, требования к стеку технологий становятся все выше и выше. Но с инженерной точки зрения передок все же находится на уровне более низкого класса.
Во-первых, как мы, фронтенд-инженеры, определяем это «инжиниринг»?
Что такое фронтенд-инжиниринг
Когда я только что закончил учебу, я работал полным стеком в начинающей компании, и моя должность была инженером веб-разработки. В то время фронтенд и бэкенд не были разделены, и моим внутренним проектом был весь инженерный код фронтенда и бэкенда, который был под рукой. В то время не было понятия фронтенд-инжиниринга, для меня фронтенд был js+css+html, и без сервера он был бы бессмысленным. Просто вынимая эти коды, я не могу назвать это проектом.
Позже появились три основных фреймворка, фронтенд и бекенд постепенно разделились, и стало появляться понятие «фронтенд-инжиниринг». В начале 2017 года я проходил собеседование в небольшой стартап-компании, и интервьюер спросил меня, как заниматься фронтенд-инжинирингом? Тогда я ответил: «Фронтенд-инжиниринг — это модульизация кода, функциональная компонентизация, упаковка, конструирование, автоматизация релизов и процессизация». последняя спецификация разработки.
В соответствии с этой «инженерной» концепцией то, что я называю «интерфейсной разработкой», представляет собой «интерфейсный код» передо мной, и его конечной целью является вывод интерфейсных страниц для пользователей. Больше всего меня волнуют:Как выводить страницы с лучшим опытом и большими возможностями для пользователей более эффективно и с более высоким качеством.За прошедшие годы фронтенд-кодировщик также многое сделал для этого:
высокая эффективность
- ES6+
- Многосторонняя унификация
- Управление интерфейсом и мокер
- Фреймворк, библиотека инструментов, библиотека компонентов
высокое качество
- развивать высокое качество
- git
- code review
- спецификация разработки
- гарантия качества онлайн
- Система наблюдения
- Непредвиденные обстоятельства — возможность быстрого отката
лучший опыт
- Подходит для разных размеров
- Апплеты
- высокая производительность
способность больше
- сложное взаимодействие
- собственные возможности
- анимация, игра
Конечно, между ними есть некоторые пересечения, например, появление трех основных фреймворков не только дает возможность создания интерактивных страниц, но и повышает общую эффективность и качество разработки. Например, интерфейсная система управления итерацией будет построена на высокой эффективности и высоком качестве, отвечая за инженерную итерацию, построение, выпуск и откат.
На самом деле, я просто перечислил это вскользь, есть много вещей, которые я не затронул, но я также чувствую быстрый прогресс в области фронтенда в последние годы. Стоя в текущем периоде, глядя на период, когда передняя и задняя части не были разделены, в древние времена, когда использовались бэк-энд неполный рабочий день js и визуальный неполный рабочий день css, это правда, что внешний код нельзя назвать «инженерией», а фронтенд-программистов называть «инженерией» еще более неловко». Неудивительно, что многие преподаватели колледжей и студенты, изучающие интерфейс, пренебрегают интерфейсом.
Но, судя по настоящему, масштабы интерфейса намного превзошли прошлогодние, а сложность нашей «инженерии» и возможности, которые она может иметь, также выходят за рамки воображения года. Мы можем с гордостью сказать, что мы фронтенд-инженер. Но я думаю, что мы немного приблизились к тому, чтобы стать инженером-программистом.
Фронтенд-инженеры, в первую очередь инженеры-программисты
В Интернете есть много людей, которые говорили об этом. Кажется разумным сказать, но это не имеет смысла. В последние дни я глубоко прочувствовал это предложение, что во многом связано с богатой практикой Ant на Node.
Ant должна быть компанией, которая больше практикует Node. В настоящее время большая часть бизнеса мобильных терминалов Ant имеет соответствующий уровень адаптации опыта — уровень BFF, который в популярном понимании является средним уровнем Node. Его основные обязанности: соединить страницу и серверную часть, агрегировать внутренний интерфейс, хорошо выполнить преобразование данных и вывести результаты данных, которые наилучшим образом соответствуют ожиданиям страницы. Его основная цель — заставить серверную часть больше сосредоточиться на модели предметной области, передать дизайн данных страницы внешнему интерфейсу и сделать друг друга более профессиональными и эффективными. Проще говоря: ускорить развитие бизнеса!
Можно сказать, что после добавления муравьев слой BFF добавил мне много работы. Нам нужно начать разрабатывать интерфейсы для наших собственных страниц, и нам нужно взаимодействовать с несколькими серверными системами. Для новых интерфейсов может потребоваться рассмотреть возможность расширения; для изменений старых интерфейсов следует рассмотреть совместимость. Если это связано с внутренними изменениями, необходимо оценить влияние изменений, а также оценить зависимости системы и последовательность выпусков. Кроме того, также необходимо учитывать схему оттенков серого, схему мониторинга и аварийную схему уровня узла и внешнего интерфейса, когда запрос переходит в режим онлайн.
Поэтому в нашей группе необходимо систематически анализировать внешние изменения, связанные с бизнес-требованиями, а также системный анализ внутренней части, который включает в себя все вышеперечисленное. Сложность будет быстро возрастать, особенно когда изменения требований велики и широко распространены и даже связаны с миграцией, обновлением и реконструкцией нескольких систем одновременно. Для предприятий с большим объемом и большим количеством пользователей это испытание для инженеров.
Когда вы продолжаете сталкиваться с этими проблемами, может наступить момент, когда вы внезапно почувствуете, что как инженер вы привыкли сосредотачиваться только на имеющемся внешнем коде и слишком мало думали о разработке всей программной системы. Какую роль в этой программной системе играют инженеры, задействованные во внешнем интерфейсе? Какие системы на это влияют? На какие системы это влияет? Каково влияние их изменений?
Поэтому фронтенд-инженер, как инженер-программист, должен смотреть на всю разработку программной системы. Фронтенд-инженеры не только доделывают свои фронтенд-проекты, но и доделывают часть всей программной системы, и они не будут независимы от всей системы. Являясь частью всей системной инженерии, фронтенд-инжиниринг должен знать, как получать, знать, как влиять, понимать возможности и болевые точки всего проекта и думать о том, как улучшить общий проект.
В это время я увижу это предложение: фронтенд-инженер, во-первых, инженер-программист. Я не знаю, все ли могут испытывать какие-то чувства.
низкая передняя часть
Но если мы посмотрим на всю программную инженерию, то поймем печальный факт: статус фронтенд-инженерии во всей системной инженерии слишком низок. В Ant фронтенд-инженер сделал шаг назад и добавил слой узла, что увеличило свою долю в общей системной инженерии, что весьма неплохо. Для большинства студентов, которые занимаются только разработкой веб-страниц, глядя на эту огромную программную системную разработку, даже если у них есть сердце, кажется, что они бессильны.
На самом деле, я думаю, что многие фронтенд-инженеры очень сильны. Особенно в последние годы все больше и больше выдающихся выпускников присоединяются к фронтенду. Иногда мне кажется, что логика взаимодействия внешнего интерфейса настолько сложна, что требования к уровню кода для него выше, чем для большинства внутренних бизнес-сценариев. Но уровень чистого кода не определяет влияние фронтенд-инжиниринга. Даже если вы можете выбить странную страницу с 0 и 1, это все равно страница.
Фронтенд-инжиниринг — это самая восходящая часть (запись пользователя) в программной системе. Следовательно, никакая другая система не должна вызывать службы внешней системы. Во всей программной системе фронтальных стыковочных систем немного, затронутых систем тоже мало, а инженерный статус низкий. В отличие от серверной части, он должен не только предоставлять возможности для клиентской части, но также должен запрашивать промежуточную и внутреннюю части, уровень данных для получения возможностей, а также, возможно, потребуется запрашивать другие бизнес-серверы. для получения возможностей.Систем стыковки много,и инженерный статус естественно высокий.
Это в свою очередь приводит к,Интерфейс часто не является решающим фактором в реализации продукта.. В программной системе вышестоящая система должна вызывать нижестоящие системные службы. Другими словами, восходящий поток зависит от нисходящего потока. Это, естественно, приводит к техническим оценкам, начинающимся ниже по течению. Когда дело доходит до предварительной оценки, это уже последнее препятствие. И это препятствие деловой стороне часто все равно приходится преодолевать. Если порог высок (интерактивное видение трудно достижимо), конечная цель — уменьшить сложность взаимодействия и пользовательский опыт, чтобы гарантировать, что функции продукта будут на первом месте.
Многие студенты считают, чтоВзаимодействие внешнего интерфейса с бизнесом слишком низкое. Но мы чувствуем, что тоже достаточно вовлечены в бизнес, я знаю, какие страницы и функции есть у продуктов.Но понимание — это не участие, влияние — это участие.. Инженерное влияние и бизнес-влияние фронтенда приводят к тому, что участие фронтенда в бизнесе изначально низкое. В этом случае, грубо говоря, многие внешние интерфейсы являются просто конвейерными рабочими. А вот и макет, сделайте это. Если это действительно невозможно, я вернусь к более простому визуальному наброску. Но я не хочу быть рабочим на сборочном конвейере, кажется, когда я стану старше, увольнению придет конец. Итак, что с этим делать?
передняя тревога
Передняя часть, кажется, находится в постоянном беспокойстве. Наш главный конфликт в первые два года былПротиворечие между постоянно расширяющимися фронтенд-новыми технологиями и неспособностью фронтенд-программистов учиться. За последние два года стек передовых технологий стал более стабильным, а колес относительно немного. Кроме того, фронтенд-программисты также относительно трудолюбивы, и чувство неспособности учиться постепенно исчезает с бесчисленными ночами обучения.
В это время у передка появилось новое беспокойство: не слишком ли низкий потолок передка? Зарплата не такая высокая, как на заднем конце? Где препятствия для фронтенд-разработки? Я думаю, что наше главное противоречие изменилось и сталоПротиворечие между растущими требованиями к статусу фронтенд-инжиниринга и ограничениями фронтенд-инжиниринга.
Умный или старательный вкупе с накоплением времени всегда может решить проблему «необучения». Однако статусная привлекательность фронтенд-инжиниринга пугает тем, что, как бы вы ни старались, у вас может не получиться ее решить. Единственный способ решить текущую тревогу перед интерфейсом — это сломать ограничения проектирования переднего плана, усилить влияние проектирования переднего плана и повысить его технический статус. наконец, пустьВнештатный персонал также может быть мастером разработки программных систем и участвовать в создании программных систем на равных..
Только с подъемом фронтенда фронтенд-инженеры могут избавиться от беспокойства, и это не битва одного или двух человек, и каждому нужно потрудиться, чтобы добиться этого. Лично у меня есть три стратегии.
Три стратегии роста
из ничего
Может найти болевые точки в существующих проектах, создать систему или услугу, повысить эффективность и повысить бизнес-результаты. Типичным примером является уровень узла, который использует возможности сервера узла для создания уровня BFF, обслуживающего внешний интерфейс. Поэтому в программной системной инженерии был создан слой системы, который расширил инженерную площадку фронтенд-инженеров.
ближняя атака
В системной инженерии мы делаем больше работы, и, естественно, некоторые люди делают меньше. То, что мы создаем из ничего, — это «грязная работа», которую другие делать не хотят. Если мне нужно вторгнуться в нижестоящие основные возможности, они не обязательно сдадутся. В это время мы можем предпринять «дальнюю и ближнюю атаку». Если мы можем напрямую состыковать нисходящий поток, и в то же время иметь возможности нисходящего потока. Так в чем смысл нашего существования ниже по течению? Теперь популярный FaaS, кажется, дает нам идею или возможность.
антиклиент
Несмотря на то, что внешний интерфейс представляет собой восходящую систему, он может улучшить свои инженерные возможности за счет улучшения своих собственных инженерных возможностей.Активно расширяйте возможности для бизнеса. Устраните возможное узкое место, а затем продвигайте нижестоящую систему, чтобы улучшить ее собственные возможности.Превратите пассивное в активное, измените принятие на влияние, тем самым улучшая свой инженерный статус. Типичные, такие как небольшие программы. Апплет изначально был реализован студентами-клиентами, и изначально он был посвящен экологическим проблемам платформы. Поскольку его технологический стек в основном подходит для внешнего интерфейса, он приносит большую пользу разработчикам внешнего интерфейса (а не разработке на стороне клиента). После бешеного наплыва фронтендеров, с одной стороны, была проделана большая инфраструктурная работа, что значительно повысило эффективность разработки небольших программ. С другой стороны, большое количество мини-программ позволяет предприятиям увидеть безграничные возможности мини-программ. В свою очередь, к возможностям самого апплета предъявляется гораздо больше требований, например, апплет WeChat поддерживает пакет Npm. В сообществе фронтенд-программисты продолжают усердно работать над созданием небольших программ.Теперь, когда дело доходит до небольших программ, все, кажется, хвалят фронтенд.
Я считаю, что с непрерывной борьбой бесчисленных отличных фронтенд-студентов фронтенд-инженеры через несколько лет определенно станут еще одним достижением. Надеюсь, к тому времени мы сможем с гордостью называть себя инженерами-программистами. Мы продолжим учиться, но причина обучения больше не в беспокойстве, а в чистой любви к разработке и программированию~
Вперёд, фронтенд-программисты! Давайте вместе программировать для развития фронтенд-инжиниринга.
о нас:
МыТехническая группа Ant Insurance Experience, от Ant Financial Insurance Group. Мы молодая команда (без бремени исторического стека технологий), текущий средний возраст 92 года (убрать самый высокий балл 8х лет - лидер команды, убрать самый низкий балл 97 лет - брат стажер). Мы поддерживаем практически весь страховой бизнес Ali Group. В 2018 году созданное нами общее сокровище произвело фурор в страховой отрасли, а в 2019 году мы готовили и реализовывали несколько крупных проектов. Теперь, с быстрым развитием бизнес-группы, команда также быстро расширяется.Приглашаем всех мастеров фронтенда присоединиться к нам~
Мы надеемся, что вы обладаете: прочной технической базой, глубокими знаниями в определенной области (узлы/интерактивный маркетинг/визуализация данных и т. д.); способны быстро и непрерывно учиться в процессе обучения; оптимистичны, веселы, живы и общительны.
Если вы заинтересованы в том, чтобы присоединиться к нам и работать вместе для подъема фронтенда, отправьте свое резюме на почтовый ящик: fengxiang.zfx@antfin.com
Автор этой статьи: Ant Insurance - Experience Technology Group - A Xiang
Адрес Наггетс:Сян Сюэчан