Об авторе
Чжан Кэджун, Кэджун,Эксперт по фронтенду Douban, евангелист по фронтенду.Он отвечает за группу разработки интерфейса в Douban, а также является инженером по интерфейсу линейки продуктов сообщества Douban.
(Эта статья воспроизведена из сообщества w3ctech, исходный текст:https://www.w3ctech.com/topic/983)
Письмо Чжан Кэцзюня
Всем привет:
По приглашению Бобо напишу о своих мыслях на эту тему.
С прошлого года многие друзья просили меня помочь представить фронтенд-инженеров, но большинству из них не помогли, потому что я не могу никого найти.
Я проанализировал это с ними в то время: в прошлом клиентская часть была основана на браузере, поэтому HTML/CSS/Javascript был единственным выбором, но теперь это в первую очередь мобильное, поэтому большое количество разработчиков интерфейса было сокращено. нативной разработки, и те, кто изначально хотел быть фронтенд-инженером. Недавние выпускники резервных сил также предпочитают изучать нативную разработку, что приводит к нехватке фронтенд-персонала.
По мере изменения ситуации H5 (популярное прозвище HTML5) имеет огромную коммерческую ценность в коммуникации, и как предпринимательские команды, так и гиганты, естественно, придают значение этой недорогой и высокодоходной штуке. Кажется, снова наступила весна фронтенд-разработки.
Однако ситуация такова, что резервных талантов не хватает, и те, кто захочет переключиться на фронтенд-разработку, обнаружат, что ваш круг более хаотичен, чем раньше, разве что стандарты еще отстают, различные фреймворки и инструменты имеют появились, и они будут устранены через год или два.В прошлом казалось, что jQuery можно смешивать, теперь порог действительно намного выше. У предпринимательской команды нет возможности набрать отличных фронтенд-инженеров.Они могут полагаться только на чувства и горящие деньги.Гигантам нужно заново взращивать хорошую техническую культуру для привлечения талантов, особенно готовых тратить деньги и время на фронт -конечная технология обучения, накопления и инноваций. Кто-то раньше говорил, что сеть мертва, но теперь люди, которые так говорят, могут умереть. Увеличение инвестиций в передовые технические резервы очень выгодно в течение длительного времени.
вернуться к теме,Название на самом деле является больным предложением «начинающий фронтенд-инженер».Фронтенд-инженер — это своего рода звание, как им пользоваться.
Я хотел бы ошибаться, говоря о проблемах карьеры.
Три типа людей в сообществе фронтенда:Front-end инженер, фронтенд-разработчик, «игрок».
Прежде всего, уточнитеФронтенд-инженерЭто своего рода занятие, которое представляет собой вид работы, которая предоставляет услуги по разработке интерфейса для бизнеса компании.
Фронтенд-разработчикЭто имеет более широкое значение: учитывается все, что разработано с использованием фронтенд-технологий, но здесь я хотел бы обратиться к участникам сообщества фронтенд-разработчиков с открытым исходным кодом и свободным фронтенд-разработчикам в узком смысле.
"Игрок", относится к людям, которые изначально были разработчиками других языков, которые часто участвуют во взаимодействии с сообществом и вносят свой вклад в проекты с открытым исходным кодом из-за своей любви к интерфейсным технологиям.
Основное различие между фронтенд-инженерами и двумя последними заключается в профессионализме.Последние два в основном сосредоточены на общих задачах и решают их (повышение продуктивности фронтенд-разработки, содействие внедрению и развитию стандартов), в то время как функции фронтенд-инженеров -End-инженеры — это решать компании, в которых они работают.Вопросы фронтенд-инжиниринга при разработке продукта (инженерия и технология — разные понятия, я уже делился темой о том, что такое фронтенд-инжиниринг, здесь).
После четкого определения, давайте немного поговорим о моем многолетнем опыте фронтенд-инженера.
«Он лучший фронтенд-инженер, которого я когда-либо встречал», это мне бывший коллега много лет назад сказал, добавлю "единицу" в спину сдержанно.
Если бы он говорил о «лучшем front-end разработчике», я бы никогда не согласился с этим. Мой гитхаб так пуст, и у меня нет выдающихся талантов в программировании, и я не участвовал ни в каких влиятельных проектах с открытым исходным кодом.
Но я считаю себя хорошим фронтенд-инженером, Разработка продукта, в которой я участвовал, была очень эффективной, очень чувствительной к технологическому развитию, редко шла не так, как надо, и была несколько перспективной. Находясь на передовой, я точнее вижу технические или человеческие проблемы.
точки соприкосновения: искать лучшие и более эффективные решения практических проблем на работе. Я не буду слепо следовать «самой популярной» технологии, не говоря уже о том, чтобы навязывать ее продукту, если только не почувствую, что она действительно подходит для проекта,ориентированный на решение проблем.
Когда я впервые прибыл на Дубан, я спросил себя:Какая самая большая проблема с интерфейсом продуктов Douban?Вместо того, чтобы унифицировать пользовательский интерфейс или создавать новую структуру, суть состоит в том, чтобы полностью отделить исходный централизованный бизнес-код, создав полную инфраструктуру и изменив метод разработки. Есть технические вопросы и межролевое сотрудничество, поэтому фронтенд-команда не может быть изолирована, а сотрудничество не занимается конфронтацией.
Сформированная в то время общая инструментальная группа объединила старших инженеров с разным опытом для совместного обсуждения плана, и результаты впоследствии сыграли важную роль в поддержке быстрого развития бизнеса компании. Для этого нужно терпеть безвестность или часто выпрыгивать из зоны комфорта и желать быть новичком в другой незнакомой области с целью только эффективного решения проблем в продукте.
Лично это обычно приводит к большему и более глубокому опыту и знаниям, так что мне это нравится.
Люди, которые не понимают, могут подумать, что этот человек не высокомерный, чужие мнения не важны, а реальные и ценные полученные вещи - последнее слово. Новичкам не стоит ценить фальшивые имена, притворяться вредно для здоровья. Погрузитесь в каждый проект (не делайте. выбирать. жить), делать конкретный анализ конкретных проблем, не импровизировать, думать независимо и общаться непредвзято, несомненно, будет быстро расти. Не прикрывайтесь стремлением к «совершенству» и не пытайтесь делать вещи, которые не являются техническими, в этом случае просто не работайте над интерфейсом.
Принятие изменений было ценностью, привитой мне в моей бывшей компании.. Студенты, которые только что вступили на должность фронтенд-инженера, должны постепенно привыкнуть к быстрым изменениям в интерфейсных технологиях и принять их. Чтобы оставаться голодным, оставайтесь глупым. Есть и важные моменты.Уделяйте больше времени тому направлению, которое непросто изменить, и чем глубже изучение, тем лучше, и не запутывайтесь и не привязывайтесь к этим изменчивым вещам. Всегда интересуйтесь новыми технологиями.
- Инструменты наиболее изменчивы, инструменты, начиная от различных библиотек и фреймворков и заканчивая инструментами для создания, редакторами и многим другим. Мой подход к инструментам ориентирован на полезность и является старомодным. Неплохо для новичков как можно больше испытать различные инструменты, а также они могут многому научиться на конструкторских идеях инструментов, но необходимо четко осознавать, что использование многих инструментов не является основной способностью инженеров к разработке, ни это личная основная конкурентоспособность.
- Изменение самой фронтенд-технологии — это эволюция, а не полностью устарел, как инструмент, который становится совершенно новым. Например, если вы потратите больше времени на изучение CSS2.1, это не будет потрачено впустую, а изучение некоторых базовых возможностей Javascript не устареет. Затем активно изучайте новые технологии и активно применяйте новые стандарты, такие как ES6, в своих проектах. К счастью, существует множество инструментов, которые позволяют нам применять новые стандарты на ранних этапах разработки продукта.
- Нет устаревшей проблемы с развитием идей, которые необходимо постоянно обобщать и отражать в долгосрочной практике развития.Например, разделение интересов было предложено в 1970-х годах, и из него выведены многие концепции развития, которые никогда не устареют. Эти, казалось бы, «виртуальные» вещи очень полезны при навигации по сложным проектам.
Я думаю, что фронтенд-инженеры — это те, кто больше всего нуждается в «мастерстве» среди всех ролей инженеров.
Основная обязанность фронтенд-инженера состоит в том, чтобы восстановить дизайн и превратить мертвый дизайн, лежащий в чертеже, в пригодный для использования живой дизайн.
В слове «живой» отражен так называемый «дух ремесленника». Визуально — плавный ли процесс анимации, все ли состояния интерактивного действия на месте, достаточно ли гибкая адаптация. С точки зрения кода, является ли фрагмент общего кода достаточно общим, минимальна ли избыточность кода, достаточно ли высока производительность и так далее. Простая реализация — это минимальное требование, остальным продакт-менеджерам и менеджерам проектов она не потребуется, это место для отличных фронтенд-инженеров.
Рост фронтенд-инженеров — это процесс совершенствования, начало совершенствования — после изучения знаний в области программирования, которые можно выучить из книг.
Среди качеств фронтенд-инженеров самым важным я считаю способность к применению.
Такую прикладную способность можно рассматривать как своего рода способность формировать продукт, которая требует продуктового мышления и дизайнерского мышления, может самостоятельно обнаруживать и компенсировать пробелы и необоснованные связи в продуктах и проектах, может контролировать сложность кода и эффективно Качественное выполнение требований разработки. Улучшать эту способность недостаточно на бумаге, с ней можно только бороться в различных проектах, как и врачи, постоянно накапливающие клинический опыт. Если проект компании не может быть удовлетворен, найдите проект, чтобы сделать это самостоятельно. Когда я только закончил, я взял на себя много частной работы,Обычно в таких проектах много места для игры..
У каждой команды разработчиков есть свой набор правил игры: спецификация кода, проверка кода, использование git или svn, процесс разработки и т. д., сначала играйте по правилам, а потом думайте, как добавлять кирпичики и кусочки. Работа в команде – это профессиональное отношение. В хорошей команде приятно работать, а команда способствует более быстрому индивидуальному росту. Но хорошая команда также создается всеми людьми. Не жалуйтесь на то, что ваша команда недостаточно хороша, делитесь и общайтесь с более открытой душой, и постепенно сформируется хорошая атмосфера.
Наконец, поговорим об отношении фронтенд-инженеров. Фронтенд-технологии быстро развиваются, поэтому продолжайте учиться и не останавливайтесь на достигнутом.
Я уже отвечал на вопрос в Zhihu раньше, и я написал это: "Программисты склонны баловаться своим собственным кодом, и даже имеют определенный вид нарциссизма. У меня тоже было на этот раз, и я даже думаю, что недостаточно нарциссизма - это не хорошо.Программисты и художники не самовлюбленные.Но если посмотреть из своего собственного мира,насколько ценна вещь,которую вы пишете,и продукт успешен?На что это может повлиять,одного-двух коллег,команду,целую индустрию? Следуй за своим сердцем Пропасть между Великим Богом и Великим Богом? Я буду спокойнее в это время, оказывается, я просто немного лучше, чем я прежний».
Я не сказал, какие технологии мне следует освоить, чтобы стать отличным фронтенд-инженером, буду ли я разочарован?
Поскольку конкретная технология будет меняться, постоянными будут эти характеристики и концепции.Я надеюсь, что моя публикация вдохновит и поможет новым фронтенд-инженерам.