В первом примере каждый шаг этого расстояния постепенно проходится.
- Нужно объяснить новому программисту структуру нашего софта. Для этого я использую несколько видов описаний, первое будет самым примитивным, оно будет оперировать понятиями, знакомыми всем программистам. Это объяснение не даст хорошего понимания, но поможет понять первые связи. В следующем описании я могу абстрактный “мониторинг” заменить на структуру программ с нашими названиями, и уже такой небольшой кусок новой информации новенький легко примет. А потом я также поступлю с остальными крупными кусками системы. То есть тут я медленно “по кирпичику” выстраиваю рабочие понятия у новенького.
Следующие два примера скорее будут о том, что можно сделать много шагов назад до чего-то простого, понятного собеседнику, этого хватит, чтобы договориться.
-
Нужно объяснить заказчику почему необходимо делать рефакторинг (когда это реально необходимо, а не когда этого “хотят” программисты. В таком случае я оперирую бытовыми понятиями, показывая что важно как “залепить скотчем” вместо “нормально починить, закупив инструменты”, важно при покупке автомобиля провести минимальный анализ вместо “купить первое, что выглядит подходящим”. С такими примерами любой заказчик сможет меня понять, а дальше будет обсуждение по-существу.
-
Нужно просить руководство о повышении программиста. При этом руководство не понимает до конца, за что именно нужно повышать. Если я скажу, что Иван сделал новый проект, который что-то делает в нашей большой системе, то это даст мало информации. Но если я переведу разговор в заработанные/сэкономленные деньги, то станет гораздо понятнее.