Англійська для старших інженерів: написання RFC, ADR і технічна стратегія

Вивчайте словниковий запас і шаблони написання, які використовують старші інженери для документів RFC, архітектурних записів рішень, документів технічної стратегії і вирівнювання між командами.

Старші інженери проводять значну частину свого часу, пишучи — не код, а документи. RFC (запити на коментарі), ADR (архітектурні записи рішень), технічні стратегічні документи і технічні пропозиції є інструментами, за допомогою яких старші інженери впливають на системи і організації за межами їх безпосередньої команди. Написати їх добре англійською - це дуже важлива навичка.

РНК-полімераза і її структура

RFC є документом, який пропонує зміни, запрошує зворотній зв’язок і записує процес прийняття рішень. Словник в RFC сигналізує про рівень суворих вимог автора.

Ключові розділи RFC

SectionPurposeVocabulary to use
Problem statementDescribe what is broken or missing”Currently, the system lacks…”, “This results in…”, “The consequence is…”
Proposed solutionDescribe your recommended approach”We propose…”, “This solution addresses…by…”
Alternatives consideredShow you evaluated other options”We evaluated X but rejected it because…”, “An alternative approach would be…”
Trade-offsAcknowledge what you’re giving up”The primary trade-off is…”, “This approach introduces…”
Open questionsFlag unresolved decisions”It is unclear whether…”, “We have not yet determined…”

RFC Language Patterns (англійською)

RFC-документи написані у першій особі множини (ми), тому що вони представляють рішення команди, а не індивідуальні переваги. Вони використовують формальну, але просту мову — уникають надмірно складних структур речень.

    • “Ми пропонуємо перенести службу автентифікації на підхід, заснований на токені, щоб зменшити зв’ язок між шлюзом API і окремими службами.” *
  • “Поточна архітектура вимагає, щоб всі служби безпосередньо запитували базу даних користувача, що призводить до N+1 шаблонів запитів і непередбачуваної затримки під час завантаження.”

Архитектурні рішення (ADRs)

ADR записує одне архітектурне рішення — контекст, рішення і наслідки. Вони коротші, ніж RFC і написані після того, як рішення було прийнято (або в момент його прийняття).

Шаблон ADR в простому англійській

Title: Use PostgreSQL as the primary data store

Status: Accepted

Context:
We need a relational data store for the billing service. The team has strong
PostgreSQL expertise, and the data model is highly relational.

Decision:
We will use PostgreSQL 15 hosted on AWS RDS.

Consequences:
Positive: familiar tooling, strong ACID guarantees, mature ecosystem.
Negative: introduces a managed service dependency; requires DBA oversight at scale.

Словник-довідник

TermMeaning
StatusProposed / Accepted / Deprecated / Superseded
Superseded byA newer ADR that replaces this one
ConsequencesThe outcomes — both positive and negative — of the decision
ConstraintsExternal factors that limited your options

Технічна стратегія документа мова

Документ технічної стратегії пояснює, як інженерні рішення підтримують бізнес-цілі протягом 12-24 місяців. Мова повинна поєднувати технічні рішення з результатами бізнесу.

Поєднання технічної роботи з бізнес-цінністю:

  • “Зменшивши час розгортання, ми зможемо швидше реагувати на зміни ринку.”
  • “Консолідація наших потоків даних зменшить навантаження на обслуговування на 20%, звільнивши потужності для роботи над продуктом.”
  • “Ця архітектурна зміна є передумовою для міжнародного розширення, запланованого на 4 квартал.”

Фрази для перехресного вирівнювання команд

Старші інженери часто повинні координувати зміни, що впливають на декілька команд. Ці фрази допомагають вам обговорювати залежності, визначати пріоритети і досягати згоди.

  • “Ця зміна потребує оновлення інтерфейсу від команди платформи — ми хотіли б обговорити з ними графік перед затвердженням.”
  • “Для того, щоб рухатися вперед, нам потрібно узгодити контракт API між нашими командами.”
  • “Я б хотів запропонувати перегляд проекту з обома командами, щоб переконатися, що ми вирішуємо спільну проблему послідовно.”

Технічне обслуговування

Технічний борг є поширеною темою в стратегічних документах. Уникайте використання фрази як неясного виправдання - будьте конкретними про природу боргу і його вартість.

VagueSpecific
”We have a lot of tech debt.""The authentication service has not been updated since 2021 and uses a deprecated OAuth library. Every new feature in this area takes 30% longer than it should."
"This will be hard to maintain.""This approach will require manual intervention each time a new payment provider is added. We estimate this will happen three to four times per year.”

Приклади фраз

  1. «Ми розглядали розділення мікросервісів на цьому рівні, але відкинули його, тому що операційні витрати переважили б переваги, враховуючи наш поточний розмір команди»
  2. Цей ADR замінює ADR-012, який пропонував використовувати MySQL; рішення було переглянуто після придбання команди з глибоким досвідом PostgreSQL
  3. «Відкритим питанням є те, чи прийняти новий формат повідомлень негайно або зберегти зворотну сумісність протягом перехідного періоду в шість місяців»
  4. «Першим драйвером цієї стратегії є зменшення операційної праці, яка в даний час споживає приблизно 25% інженерних потужностей кожного кварталу»
  5. «Ми пропонуємо цей RFC більшій інженерній групі, щоб зібрати зворотній зв’язок перед тим, як дизайн буде завершений — коментарі відкриті до кінця спринту»

Наприклад, сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів: сліди слідів:

Старший інженерний зв’язок не просто про передачу фактів; це про формування розуміння і керування діями. Поширеним розчаруванням для не-рідних англомовних носіїв є тонкий, але потужний спосіб зворотнього зв’язку, особливо в асинхронних каналах, таких як Slack або під час перегляду коду. Легко інтерпретувати здавалося б тупий коментар як особисту критику, коли основна мета - поліпшити код - не відразу зрозуміла. Давайте розглянемо, як уточнити свій підхід і впевнено взаємодіяти з цими ситуаціями.

Розглянемо цей сценарій: молодший інженер відсилає PR з декількома дублюючими частинами коду. Старший рецензент, Сара, залишає коментар у пов’ язаному з цим запиті на звантаження: « Цей розділ є зайвим ». Хоча з технічної точки зору він точний, у ньому бракує контексту і не надає можливості рухатися далі. Кориснішою відповіддю буде щось на зразок: « Я помітив деякі дублювання тут; чи можете ви пояснити намір, який стоїть за повторенням цієї логіки? Можливо, ми можемо переробити код, щоб уникнути дублювання. » Зауважте зміну тону — зосередження уваги на * намірі *, а не просто на вказівці на помилку. Іншою поширеною ситуацією є запит на пояснення: «Чи можете ви розібратися, що ви маєте на увазі під «це потребує більше тестів»? »Замість того, щоб реагувати оборонно, пояснювальний запит показує залучення і дозволяє Сарі надати конкретні рекомендації. Аналогічно, коли ви описуєте зміни у описі PR, уникайте нечітких вказівок на зразок « Виправлено вади ». Замість цього спробуйте « Врегульовано виправлення для проблем # 123 і # 456, що стосуються проблем з продуктивністю, виявлених під час тестування »

Важливим елементом є розуміння різниці між заявити проблему і запитати рішення. Старші інженери часто оформляють свій зворотній зв’язок як запити на співпрацю - “Давайте обговоримо, як найкраще обробляти це…” або “Чи можемо ми дослідити альтернативні підходи?”. Цей спільний підхід зменшує оборону і сприяє відчуттю спільної власності. Крім того, активне демонстрування того, що ви зрозуміли відгук, є життєво важливим. Просте підтвердження, наприклад, «Гаразд, я розумію - тож ви хочете, щоб я дав перевагу рефакторингу цього компонента перед розглядом нової можливості?» показує, що ви слухаєте і дійсно дієте. Не бійтеся просити про пояснення, якщо щось не відразу очевидно; набагато краще шукати розуміння, ніж продовжувати з припущеннями. Пам’ятайте, технічне спілкування в основному стосується людського спілкування - будівництва відносин і спільної роботи для досягнення спільної мети. Сфокусування на ясній, шанобливій мові значно підвищить вашу ефективність і впевненість у собі в команді.

Поширені запитання

Про що ця стаття "Англійська для старших інженерів: написання RFC, ADR і технічна стратегія"?

Вивчайте словниковий запас і шаблони написання, які використовують старші інженери для документів RFC, архітектурних записів рішень, документів технічної стратегії і вирівнювання між командами.

Чи безкоштовна ця стаття?

Так. Усі статті на CoderSlingo, включно з цією, доступні безкоштовно без реєстрації.

Скільки часу займає читання "Англійська для старших інженерів: написання RFC, ADR і технічна стратегія"?

Приблизно 9 min.