Speaking in Architecture Review Meetings: Phrases to Defend and Critique Designs
Master the spoken English of architecture reviews — present a design, defend trade-offs, critique proposals diplomatically and handle tough questions with confidence.
Огляди архітектури - це дуже важливі розмови. Ви пропонуєте або оцінюєте проект, з яким команда буде жити роками, і старші інженери будуть досліджувати кожне припущення. Щоб зробити це добре англійською, потрібно більше, ніж знати правильні слова — це означає використовувати фрази, які звучать впевнено, не звучать оборонно, і критично, не звучать ворожо.
У цьому підручнику ви знайдете фрази, які можна вимовити під час кожної частини огляду архітектури: презентації, захисту, запитання і критики.
Форма перегляду архітектури
Більшість оглядів слідують передбачуваній дузі:
- Автор ** презентує ** проблему і пропонує проект.
- Рецензенти задають прояснюючі питання.
- Рецензенти заперечують компроміси і поверхневі ризики.
- Автор захистив рішення або відмовився від очок.
- Група приймає рішень або перелік послідовних дій.
Вам потрібні плавні фрази для кожного етапу.
Представляю твой дизайн
Поставте проблему перед рішенням. Рецензенти не можуть оцінити дизайн без розуміння обмежень.
- “Проблема, яку ми вирішуємо, це… і головним обмеженням є… ”
- “На високому рівні, дизайн має три компоненти:… ”
- “Я провожу вас через поток запросів, а потім покрою компроміси.”
-
- “Ключевым решением здесь является X по отношению к Y, и я объясню почему.” *
Знак, за яким люди можуть слідувати:
-
- “Дозвольте мені почати з моделі даних, а потім перейти до режимів аварійного завершення.” *
- “Я за мить повернуся до масштабування - спочатку до щасливого шляху.”
“Проблема в тому, що наша поточна робота з синхронізації не може впоратися з піком. Обмеження полягає в тому, що нижні споживачі очікують впорядкованих подій. Отже, проект переходить до розділеного журналу з упорядкуванням за ключами. Дозвольте мені пройти через компроміси»
Защита компромиссов без звучания оборонительного
Трюк в тому, щоб відкрито визнати ціну. Інженери довіряють проекту більше, коли автор називає його слабкі сторони.
- “Вы правы, что это усложняет операцию. Ми прийняли це, тому що … ”
- “Це справедлива занепокоєність. Комбінація, яку ми зробили, це … в обмін на … ”
- “Ми розглядали цей підхід, але відкинули його, тому що… ”
- “Це навмисний компроміс: ми оптимізуємо для затримки читання за рахунок пропускної здатності запису.”
Уникайте фраз, які звучать так, ніби ви закриваєте розмову:
Захисник: «Ні, це не буде проблемою» Відкритий: «Готове питання — ось чому я думаю, що це можливо, але скажіть мені, якщо я щось пропустив»
Якщо не знаєш, скажи так чітко:
- “Я ще не перевірив це — дозвольте мені розглядати це як пункт дії.”
- “Я не впевнений. Моє припущення — X, але я б хотів це підтвердити».
Признаючи невпевненість підвищуєте свою репутацію, а не знижуєте її.
Задавать проясняющие вопросы
Перед тим, як критикувати, переконайтеся, що ви розумієте. Ці фрази підтримують тон співпраці:
- “Чи можете ви розповісти більше про те, як X справляється з невдачею?”
- “Тільки щоб переконатися, що я слідую — коли кеш пропускає, що відбувається?”
-
- “Яка очікувана завантаження на цьому шляху?” *
- “Допоможіть мені зрозуміти вибір X тут.”
Фраза “допоможіть мені зрозуміти” - це золото. Это скорее знак искренней любознательности, чем нападения.
Критикувати дизайн дипломатично
Ви можете бути прямими щодо технічного ризику, залишаючись уважними до людини. Відокремити дизайн від дизайнера.
- “Я трохи хвилююся про одну точку неудачі тут.”
- “Один з ризиків, які я бачу, це … — як ми зменшуємо його?”
- “Чи ми подумали, що станеться, коли черга відступить?”
-
- “Я б негайно відмовився від синхронного виклику; він тісно пов’ язує дві служби.” *
Використовуйте ** hedging **, щоб зменшити силу тверджень без їх ослаблення:
- “Це може стати вузьким місцем під навантаженням.”
- “Я підозрив, що логіка повторних спроб може викликати шторм.”
- “Похоже, якщо ми дублюємо стан між службами.”
Харш: «Ця конструкція не буде масштабуватися» Дипломат: «Я хвилююся, як це масштабується за 10k req/s — чи можемо ми пройти цей шлях?»
Обидва поднимают одну и ту же проблему. Друга закликає до розмови, а не до бійки.
Виявляються ризики і розбіжності
Коли ви справді не погоджуєтесь, вкажіть на це чітко, але не говорите про технічні аспекти.
- “Я бачу це по-іншому - ось мої аргументи.”
- “Я не впевнений, що складність оправдана для того, що ми отримуємо.”
-
- “Моє головне зауваження - це оперативне навантаження; все інше виглядає твердо.” *
- “Можно ли на минутку изучить альтернативу, прежде чем мы примут решение?”
Спочатку визнайте те, що добре — це зробить критику кращою:
-
- “Модель даних чиста, і мені подобається підхід, заснований на подіях. Моє єдине занепокоєння — …».*
Задавать сложные вопросы
Коли хтось ставить тобі виклик, задумайтеся на хвилинку:
- “Це гарне питання - дайте мені подумати на секунду.”
- “Дай мені спочатку переконатися, що я розумію твою занепокоєність.”
Потім відповідайте одним з трьох способів:
- Захист: “Я б сказав, що це того варте, тому що…”
- Признайте: “Ви маєте рацію - це справжня слабкість. Дозвольте мені відзначити це як ризик.»
- ** Відкласти: ** * “Давайте перейдемо до офлайн- режиму; це глибша дискусія, ніж ми можемо собі дозволити.” *
Фраза « перевести у автономний режим » означає обговорити це пізніше у меншій групі — це корисно для того, щоб зустріч не затримувалася.
Прийняття рішення
Рецензии будут двигаться, если их никто не закрывает. Використайте їх, щоб приземлити літак:
- “То де ми стоїмо - чи ми зручно рухаємося вперед з цим підходом?”
- “Звучит так, будто открытые вопросы - это X и Y. Чи можемо ми погодитися, що це продовження?»
- “Дозвольте підсумувати: ми будемо робити розділений журнал, і я підніму питання порядку до наступного перегляду.”
- “Чи є якісь проблеми, що блокують, чи просто речі, на які варто звернути увагу?”
Різниця між ** блокуванням ** (треба виправити перед продовженням) і ** не блокуванням ** (зауважте це і перейдіть далі) запобігає затримці переглядів на дрібних пунктах.
Поширені помилки
- Занадто сильно защищаешься. Признавая действительный аргумент, вы строите доверие быстрее, чем выигрываете спор.
- Критикуйте людину, а не дизайн. Скажіть “у цього дизайну є SPOF”, а не “ви забуваєте про надлишки”
- ** Без знаків. ** Без “перше… потім… нарешті,” слухачі втрачаються в складному дизайні.
- ** Пропуск опису проблеми. ** Дизайн без зазначених обмежень не може бути переглянутий справедливо.
- ** Неясні висновки. ** Закінчуйте кожен огляд з чітким рішенням або чітким списком подальших дій.
Ключевые вещи
- Вставте ** проблему і обмеження ** перед рішенням.
- Назовите ** компроміси ** вашого проекту, перш ніж це зроблять рецензенти.
- Використовуйте “допоможіть мені зрозуміти”, щоб поставити запитання без нападу.
- Гедж сильні критики: можливо, підозрює, здається.
- Відокремити блокування від неблокування проблем, щоб прийняти рішення.
Найкращі оратори на архітектурних оглядах звучать спокійно і цікаво, а не воєнізовано. Зрозумійте, як правильно висловитися, і навіть напружена розмова перетвориться на продуктивну.
Національні мови: мова і культура народів, що не належать до жодної національності
Впевнено говорити на архітектурних зустрічах - це більше, ніж просто знати * що * сказати; це про * як * ви говорите. Для розробників, чия перша мова не є англійською, нюанси професійного спілкування можуть бути особливо викликаючими. Легко впасти в нечіткі висловлювання або надто буквальні переклади, які можуть бути неправильно інтерпретовані і підірвати вашу довіру. Ключовим є створення специфічності навколо вашого зворотного зв’язку і завжди зафіксувати ваші спостереження в контексті - цілі проекту, існуюча архітектура і потенційний вплив.
Розглянемо цей сценарій: під час перегляду нової мікрослужби, розробленої для розпізнавання користувача, один з членів команди робить висновок: « Це виглядає добре ». Хоча це виглядає ввічливо, але ця думка не містить ніякої корисної інформації. Краще було б сказати: «Я ціную початкову оцінку. Однак, я переживаю щодо можливої затримки, яку викликає ця служба, викликаючи застарілу базу даних. Чи можемо ми обговорити стратегії кешування або, можливо, дослідити альтернативний метод автентифікації?» Зауважте, що у повідомленні додано певні проблеми — затримку і застарілу базу даних — у поєднанні з рекомендаціями щодо подальшої роботи. Це демонструє залучення і пропонує рішення, а не просто заявляє про схвалення. Аналогічно, у обговореннях Slack, що стосуються PR, замість того, щоб сказати « Виправлена помилка », спробуйте « Виправлена проблема # 47 — введено умову гонки при обробці одночасних оновлень профілів користувачів. Впроваджено оптимістичний блокування, щоб зменшити цей ризик. » Рівень деталізації показує вплив і ваше розуміння проблеми.
Іншою поширеною пасткою є надмірне використання фраз на кшталт «це не зрозуміло» або «я не розумію». Ці фрази можуть сприйматися як пасивно-агресивна або відсутність зацікавленості. Переформулюйте їх конструктивно: «Чи можете ви розглянути обґрунтування цього вибору дизайну?» або «Щоб переконатися, що я повністю розумію наслідки, чи можемо ми пройти через очікуваний поток користувачів в цьому сценарії?». Сфокусування на розумінні логіки, що стоїть за рішеннями, набагато продуктивніше, ніж просто виразити збентеження. Пам’ ятайте, ваша мета не в тому, щоб негайно визначити недоліки; це спільне вдосконалення і зміцнення архітектури.
І, нарешті, не бійтеся ставити прояснюючі питання - навіть якщо ви думаєте, що вони можуть здатися очевидними. Запит на пояснення демонструє прихильність до розуміння дизайну повністю і запобігає нерозумінням вниз по лінії. Краще визнати, що потрібно більше інформації, ніж робити припущення, що може призвести до переробки.
# Example using `eslint` to enforce code style
eslint --fix my-component.js
Ця команда демонструє практичне застосування зворотного зв’ язку — автоматичне виправлення коду за допомогою встановлених правил. Це відчутна ілюстрація того, як архітектурні дискусії можуть безпосередньо перетворюватися на дії команди розробників. Сфокусувавшись на точній мові, контекстуальних спостереженнях і проактивному залученні, не-рідні носії англійської мови можуть впевнено брати участь у зустрічах з перегляду архітектури і значно внести внесок в успіх складних програмних проектів.