За последние два года, будь то на собеседованиях или в автономном и онлайн-режиме, Скотт познакомился со многими передовыми студентами.По причинам команды, личным причинам, карьерному росту, техническому направлению и даже семье и т. д. между идеальной страной и реальность, Между отказом и настойчивостью, мы постоянно колеблемся и яростно сопротивляемся. Вы можете поговорить со мной о юге и севере. Вы можете узнать больше о судьбе инженеров, увидеть и услышать больше, Скотт WeChat: codingdream.
Всего в этой серии15+ статей - нажмите на эту ссылку, Это первая статья, я доволен после прочтения и отправки в круг друзей.
текст начинается
Планирование, управление людьми, управление ресурсами и управление приоритетами — это судьба руководителя технической группы.
Эта статья Скотта Перспектива менеджеров, нижняя доля с вами Мои с июля 2017 года входные блюда, с перспективными одноклассниками - это то, как планировать технологический стек команды, точек навыков на этот технологический стек и насколько отличается от различных туфлей.
Сначала посмотрите на картинку:
Это изображение представляет собой диаграмму разделения структуры стека технологий, которую я разработал для команды в августе 2018 года. Она в основном охватывает возможности стека технологий, необходимые команде с 2018 по 2020 год. Она также будет дорабатываться и пересматриваться вместе с бизнесом и командой. Я реорганизую новую версию в августе 2019 года и поделюсь ею с вами здесь.
За более чем год, который я руководил этой командой, мое представление о команде на самом деле много раз менялось. Оно абстрактное и общее. Будут два параллельных процесса. Один из них — хорошо спланировать работу команды с точки зрения люди и команды.И управление, один из них заключается в том, чтобы сделать конкретную эволюцию технологического стека и корректировку маршрута архитектуры для команды в сочетании с бизнесом, и эти два процесса будут перекрестно реализовывать и влиять друг на друга. Эти методы и выводы также имеют свою специфику компании и ограничения, и могут быть неприменимы к команде в вашей бизнес-форме.Не форсируйте.Вы можете обратить внимание на изменения в этих процессах, а также в моем мыслительном процессе, и, наконец, мы вернемся. Из рисунка выше вы можете понять методологию, стоящую за архитектурой и эволюцией технологического стека команды.
1. Управление командой
Прежде всего, давайте поговорим об управлении командой. Это предпосылка. Без помощи поддерживающих методов управления командой сложно просто вносить непрерывные и хорошие изменения в стек технологий, а также трудно продвигать архитектурную концепцию до В управлении командой я в основном делю его на четыре шага.
Первый шаг — понять сильные и слабые стороны команды
Вновь присоединившись к команде, особенно после того, как стал старшим инженером и возглавил новую команду, в дополнение к усердной работе, есть очень важная вещь, которую нужно сделать как можно скорее, а именно познакомиться с командой, есть много способов, Такие как:
- Возьмите на себя инициативу, чтобы просмотреть исторический код в хранилище команды, чтобы понять уровень кодирования каждого, стиль программирования, метод обслуживания проекта и зрелость архитектуры.
- Пообщайтесь с каждым одноклассником индивидуально и расскажите о его взглядах на технологию, его бизнес-мышлении и его понимании себя и своей команды.
- Пожалуйста, идите на ужин, послушайте, о чем все говорят, играя, обращая внимание на ауру и выражение каждого, в чем разница между письменным столом и обеденным столом.
- Найдите студентов из серверной и бизнес-команды и расспросите их об их впечатлениях от фронтенд-команды и их взглядах на совместную детскую обувь.
- Задайте несколько вопросов на встрече, наблюдайте за энтузиазмом каждого в отношении участия и глубиной их взглядов.
Вы также можете вместе играть в игры, смотреть фильмы, участвовать в мероприятиях компании и т. д. Это относительно приблизительное понимание. После того, как я присоединился к команде, я также выбрал два или три вышеуказанных метода, чтобы получить общее представление о членах команды. хорошие черты также видят много проблем.
Положительные аспекты: все они молодые и умные, с хорошей обучаемостью, сильной пластичностью, отсутствием хитрости, страстью и энтузиазмом в отношении технологий, очень инновационным набором технологий, и у каждого есть большой потенциал.
Исходя из этого, можно прогнозировать, что пока команда понимает ключевые моменты каждого этапа, она может быстро расти, и каждый может продолжать пробивать потолок, поэтому характер большой тарелки хорош, а квалификация тоже хороши, давайте посмотрим на проблему:
Проблема: Профессионализма на рабочем месте недостаточно, оно более эмоциональное, есть определенное сопротивление бизнес-изменениям, отсутствует восприятие планирования карьеры, критерии оценки хорошего и плохого узкие и закрытые, общая инструментальная инженерия и направление Инфраструктуры не слишком много Думая больше, суждения всей отрасли относительно неглубокие, и они относятся к относительно примитивной и дикой стадии Уровень способностей членов команды неравномерен, а осведомленность о заполнении должностей и общей ситуации относительно слабый.
Для конкретной методологии вы можете обобщить проблемы за последние недели, а затем пометить и классифицировать их, например:
Объединяя бизнес-процесс и процесс разработки, чтобы разобраться в общей проблеме, окончательную проблему можно резюмировать следующим образом:
- нестабильное сердце
- Слишком много навыков
- Нет карьерного плана
- Плохое чувство сотрудничества
- В команде нет норм
- Слабая инструментальная инфраструктура
- Нет восприятия бизнеса
- Эшелон не построен
Исходя из этого, можно прогнозировать, что команде требуется длительный период обкатки.В течение периода обкатки нужно постепенно наращивать доверие.В то же время для различных проблем необходимо учиться у Тан Почаще общайтесь с вами, то есть через индоктринацию, пусть у всех будет сначала правильный образ действий.У меня в голове концепция, а потом уже по характеристикам каждого одноклассника ставить задачи, водить и тренировать в различными способами. Кроме того, есть некоторые вещи, которые все должны делать вместе, чтобы сформировать командную работу и сплоченность. одно - улучшение влияния технической команды и улучшение личной сводной способности.
Второй шаг подталкивает команду к исправлению внутренних недостатков
Так называемые внутренние недочеты - это полностью свои проблемы.Например,система релизов не идеальна,код не стандартизирован,инструменты не идеальны.Это те горшки,которые не хочется выкидывать.После На первом этапе подведения итогов и подведения итогов можно отдать приоритет тем проблемам, которые имеют прочную связь с бизнесом среди этих проблем.
То, что я выбрал в свое время, это онлайн-поток разработки, то есть просто необходимые возможности, которые должны быть у команды разработчиков от разработки до выпуска.Из этой линии были разделены различные инструменты и системы, и противопоставление детской обуви будет быть относительно низким, и из-за эффективности и стабильности системы может высвободить больше ресурсов и привести к значительному росту участвующих студентов.Поэтому очень желательным методом управления командой является компенсация внутренних недостатков с помощью норм и проектов.Изменения в Процесс развертывания разработки со второй половины 2017 по 2018 год:
Процесс строительства инфраструктуры на этой дороге идет уже больше полугода.Самые грязные и утомительные работы в основной бригаде все делают машины.Хотя это не имеет прямого отношения к бизнесу,но косвенно гарантирует устойчивость Стабильность, в то же время модернизация и борьба с монстрами на этом пути, также позволяет небольшим партнерам, участвующим в разработке, добиться большего улучшения программных и инженерных возможностей и стать первой партией технической основы.
Шаг 3. Отправляйте команду в Borderlands.
Если основные внутренние проблемы команды решены, то вы можете улучшить связи, связанные с продуктами, операциями и бизнесом, такие как нештатный мониторинг онлайн-работы Приложения.На самом деле в стартапах вообще никого нет. Непосредственно за него отвечает отдел, и все сосредоточены на бизнесе, поэтому работы, высвобождаемые от фронтенд-команды в это время, должен вести сам фронтенд, чтобы за него отвечать.Вот я беру мониторинг онлайн выполнения в виде отдельной строки, он сотрудничает с GPM (уровень службы агрегации данных GraphQL) стадии Mock внутренних проблем, и все это выходит за рамки функций фронтенд-команды и имеет отношения с другими командами, как показано на следующий рисунок:
Не только для бизнеса, но и для других средних и тайваньских отделов, таких как персонал, финансы и администрация.Пока у вас есть энергия, вы можете максимально использовать самые дешевые технические средства, чтобы добиться синергии для безграничной земли. в компании.Инструменты и системы, которые принесут команде много положительных отзывов, а также технические улучшения.Самое главное, с точки зрения внутренних вопросов и внешнего сотрудничества, как только вы станете инициатором и драйвером, ваша роль и личность изменится Произошли изменения, вы одновременно являетесь менеджером по продукту и руководителем проекта, как со стороны спроса, так и со стороны бизнеса, что значительно улучшит всесторонние способности человека, а также поможет всей команде влиять на Помогая друг другу, мы также заложили некоторые основы, что очень важно для команды инженеров, которые не умеют выражать себя.
Шаг 4. Поощряйте командные технологии и бизнес-инновации
Из первых трех шагов вы можете увидеть мою рутину, чтобы вести команду вперед, более стабильный путь - это идти изнутри наружу, от технологий к межкомандным делам, к бизнесу, и, наконец, четвертый шаг, а затем вернуться в бизнес Объединение с технологиями для использования технологических инноваций для развития бизнеса и использования бизнес-возможностей для осуществления технологических прорывов, хотя это и не окончательное состояние, но уже вполне приемлемое состояние для команды инженеров.
Почти в мае 2018 года я начал подталкивать фронтенд-команду к участию в бизнесе. Будь то предварительное техническое исследование или разработка бизнес-сценариев, мы ломали голову над тем, чтобы думать, занимаясь поддержкой бизнеса. передовые технологии, как я могу наладить отношения со своим бизнесом, как мне копаться в местах, недоступных для менеджеров по продуктам, и найти другой способ создать возможности для бизнеса? основные секреты бизнеса, я буду следовать Просто дайте случай ранней десенсибилизации для всех, чтобы почувствовать.
Когда наша мобильная экосистема состоит из всех приложений, экосистема WeChat также находится на подъеме. Если продукт распространяется на небольшие программы, как мы будем его поддерживать? Мы должны знать, что в настоящее время ни у одного бизнеса во всей компании нет подобных конкретных планов, включая продукты. , но у всех есть какие-то очень воображаемые идеи и концепции. В это время инженер едет с бизнес-стороной на сайт пользователя, чтобы оценить, есть ли возможность посадки апплета. После возвращения мы начинаем делать техническое предварительное исследование апплета Благодаря этому процессу мы опередили наш бизнес и продукты и сделали необходимые технические резервы, тем самым заложив ключевую техническую основу для быстрого открытия экосистемы WeChat и входа в новый лагерь мини-программ. Если у инженера нет осознания, чтобы активно входить в бизнес в это время, для бизнес-стороны совершенно невозможно иметь информацию или даже желание войти в новую экологию, поэтому подождите, пока некоторые инженеры в команде смогут вырастить это. осведомленность и способности.В то время я думаю, что это подходящее время для долгосрочного планирования стека технологий.
2. Планирование стека технологий
В первые 10 месяцев работы в моей команде я действительно пытался выполнять поэтапное планирование стека технологий, но результаты были неудовлетворительными.Одна из них заключалась в том, что объективная основа инфраструктуры не была удовлетворена, и было трудно сделать относительно надежное и реализуемое планирование. общая осведомленность членов команды, в том числе отсутствие личных способностей, немного помогает в это время и даже вызывает сопротивление членов команды.В заключение необходимо иметь небольшое и относительно фрагментированное техническое планирование, но не рекомендуется расширять большой цикл, а полный можно делать примерно от 1 до 1,5 лет.
ReactJS — первое крупномасштабное приложение унификации стека технологий
Будь то RN или ReactJS на стороне ПК, технологический стек React во внешнем интерфейсе Xiaocai был унифицирован в течение первых трех лет, но он не стандартизирован, и все еще существует историческое бремя, такое как старое приложение. нативная архитектура, но в целом к 2017 г. Во второй половине года стандартом для команды является стек технологий React плюс Webpack.
Этот унифицированный технологический стек в сочетании со следующими возможностями NodeJS стал инкубатором наших двух основных интерфейсных фреймворков:
- Клиентский модуль RN Framework
- PC ERP Single Page Frame Highway
NodeJS — вторая крупномасштабная нормализация блокировки стека технологий
Давайте вернемся к NodeJS, который начал использоваться в начале 2017 г., а активно использовался в конце 2017 г. С конца 2017 г. NodeJS стал основной возможностью команды. Благодаря ему мы реализовали целое семейство инфраструктуры RN, такое как формирование шаблонов, компонентизация, проверка кода, упаковка машин, выпуск горячих обновлений, поддерживающих белый список, успешность и сбой установки пакетов и отслеживание, визуализация данных о поведении доступа конечных пользователей, мониторинг и назначение исключений конечной операции и т. д. ., это комплексное решение позволяет нам с уверенностью провести рефакторинг всех приложений в последнюю версию фиксированной версии RN,
В дополнение к поддержке инфраструктуры на стороне клиента, NodeJS также открывает нам дверь для разработки внутренних систем — возможностей на стороне сервера.Эта дверь очень полезна для компании с точки зрения внешнего интерфейса. можно освоить больше навыков. Поддержка большего числа предприятий может сделать технологию лучше. С точки зрения компании, фронтенд-инженеры могут самостоятельно завершать бизнес, который относительно слабо связан с бизнесом, без использования крупномасштабных интерфейсов и серверов. конечные продукты и операционные ресурсы, а также сэкономить деньги Это экономит время и является очень рентабельным соотношением затрат и результатов.
Затем в технологическом стеке NodeJS мы расширили множество возможностей и оказали большую помощь бизнесу.Для команды мы разработали базовую серверную структуру:
- Node server (на базе Egg) фреймворк Cross
Причина, по которой был разработан Cross, заключается в том, что мы все время использовали ExpressJS/KoaJS/ThinkJS, а настройка и обновление фреймворка, а также интеграция функций, которые мы хотим повторно использовать, не являются ни стандартизированными, ни достаточно строгими, пока мы не используем EggJS. основанный на его строгих соглашениях и плагинах Механизм может быть легко интегрирован для настройки нашей собственной структуры Мы начнем настройку этой структуры во второй половине 2018 года до конца года.
GraphQL — третья попытка небольшого технологического стека
GraphQL определенно станет относительно высокочастотным словарем в 2019 году. Мы используем его с 2017 года. В то же время в апреле 2018 года мы непосредственно разработали систему обслуживания агрегированных данных, которая была интегрирована в наш шлюз для обслуживания различных приложений. Мы вкусили много сладкого, столкнулись с большим сопротивлением и приспособлением, и в 2019 году мы продолжим над этим работать, по крайней мере, в конкретных областях в больших масштабах.
Есть также некоторые слои сборки для сбора данных, обработки расчетов и визуализации, которые мы передали Python и C#, и даже попыткам Rust.Это можно рассматривать как технические предварительные исследования и нельзя назвать нашими основными возможностями, поэтому для в настоящее время это не цель эволюции основного стека технологий.
MPVue/Vue — четвертая крупномасштабная унификация стека технологий апплетов.
Если GraphQL — это неожиданное пасхальное яйцо, с которым мы столкнулись, то Vue — это пасхальное яйцо, которое нас удивило Наш первоначальный путь эволюции не включал его, но он был ограничен сложностью нашего бизнеса и вариантами, доступными на рынке в то время. Из-за ограничений мы, наконец, выбрали MPVue в качестве носителя нашего апплета, поэтому, естественно, мы не рассматривали Taro от JD.В то время Taro был слишком молод, чтобы его можно было использовать в производственной среде, хотя использование MPVue дало нам много возможностей и эффективности. ,тоже приносит нам неприятности,то есть стек технологий имеет определенную степень фрагментации внутри команды.Ведь он отличается от React с точки зрения синтаксиса и экологии.Пока что исходя из экологии небольших программ мы возьмите MPVue в качестве ядра. Стек технологии апплета , основанный на таком конечном домене, реализует нормализацию.
Затем во всей статье мы обнаружим, что эволюция нашего стека технологий будет меняться по мере развития способностей и инфраструктуры команды, то есть определенного управления командой и ее роста, а также будет иметь сильную корреляцию с нашим бизнесом и экологией. .,Кроме того,планирование стека технологий действительно очень объективная,но на самом деле более грамотная работа.В нем много факторов,и эти факторы имеют разный вес в разные периоды.Когда команда сильна,Его можно спланировать посложнее -ядро в долгосрочной перспективе и гибкость, когда возможности команды слабы.
Итак, со второй половины 2018 года я начал делать относительно жесткий стек технологий и планировать архитектуру, как показано на картинке в начале:
Всего существует двенадцать тем и направлений:
- Услуги узла, вспомогательные инструменты, бизнес-системы, эксплуатация и обслуживание, мониторинг и т. д.
- Интерфейсная базовая структура для поддержки десятков или даже сотен инструментальных систем PC/H5 ERP/Saas в будущем.
- Передние и задние концы синергетические программы, данные, поддерживающие определенную бизнес-полимеризацию и снижение затрат на разработку
- Сквозной мониторинг данных о поведении, предоставление решений по проектированию продукта и корректировке бизнеса для бизнеса/продукта/операций
- Мониторинг и отслеживание конечной производительности для обеспечения конечной надежности и стабильности
- Комплексный вычислительный центр данных, предоставляющий высокопроизводительные вычислительные услуги для визуализации, графики и видео мультимедиа.
- Создавайте и развертывайте, а также предоставляйте возможности эксплуатации и обслуживания для комплексной многосторонней разработки, тестирования, упаковки, выпуска и развертывания.
- Обратный клиент, обеспечивающий необходимые технические базовые решения для новых отношений связи между сообществом/CRM/людьми.
- Предупреждение и контроль безопасности, обеспечение наблюдения за безопасностью, сигнализация, перехват и другие гарантии сопровождения для всего терминала
- Сборка платформы, предоставляющая недорогие компоненты пользовательского интерфейса и будущие интеллектуальные сборки для перекрестных
- Исследование взаимодействия, для интерактивного опыта, ABTest, ценности поведения пользователя, инструментов и методологии вывода выражения дизайна.
- Перспектива и визуализация конечного отчета/отчета данных, обеспечивающие удобное решение для визуализации отчета, которое можно быстро создать и поддерживать для всей компании.
Эти темы идут вниз, а затем расширяют направление планирования каждого стека технологий, что мы начали и продолжаем уделять внимание в текущей команде, и следующий стек технологий будет продолжать развиваться и обновляться в направлении этих тем. .
Наконец, действительно трудно достичь идеального баланса между поддержкой бизнеса, технической ценностью, личным ростом и организационным обновлением, однако, основываясь на основном аргументе создания большей ценности для бизнеса, мы постоянно ищем сценарии, чтобы найти точки прорыва. это то, что мы, как менеджеры и технические костяки, должны держаться до конца, независимо от того, когда, это ответственность и удел отличных инженеров и технических лиц, принимающих решения - нести ответственность за людей и за результаты, заимствование для развития людей, заимствование людей чтобы все произошло.
Наконец, в качестве статьи для разогрева, эта статья направлена на то, чтобы вывести следующие темы для всех:
- Соберите команды от 0 до 1 для автоматизации операций
- Процесс роста обобщается и выводится сообществу, помогая большему количеству небольших команд избегать обходных путей.
- В количественном выражении путаница, осадки и путь метода переднего конца Xiaocai собраны, что приносит команде больше творческих достижений.
- Взгляните на процесс управления командой/технологической эволюции/личностного роста с разных точек зрения и обсудите максимизацию ценности команды инженеров.
Если вам интересно, наша фронтенд-команда Xiaocai вместе соберет коллективный разум, напишет и запустит буклет о фронтенд-карьере, техническом росте и росте команды и вернет его всем.Не забывайте оставлять комментарии и пожелания после статьи. , О.
За последние два года, будь то на собеседованиях или в автономном и онлайн-режиме, Скотт познакомился со многими передовыми студентами.По причинам команды, личным причинам, карьерному росту, техническому направлению и даже семье и т. д. между идеальной страной и реальность, между отказом и настойчивостью, постоянно качаясь, грустно и тяжело, вы можете найти меня, чтобы поболтать о юге и севере, лучше понять судьбу инженеров, увидеть и услышать больше, Скотт WeChat: codingdreamer , тоже можно прийтиПодпишитесь на Скотта Юке, чтобы быть в курсе последних событий., эта статья не может быть воспроизведена без разрешения.Пожалуйста, свяжитесь со Скоттом для получения разрешения.В противном случае, если вы перепечатаете ее непосредственно на официальном аккаунте, особенно после вырезания содержания, я буду непосредственно рассматривать жалобу.