Хабр — ума палата


При создании нового или не стандартного решения архитектор/разработчик обычно ищет компромисс между тем что хочется и тем, что нужно с учетом заданных ограничений. И всегда существует возможность в конечном итоге сделать не то, что ожидалось или получить далеко не оптимальное решение.


И если «хотели как лучше, а получилось как всегда» случается из-за неучтенных или изменившихся требований, то это хотя бы можно объяснить. Но порой и на старуху бывает проруха и становится досадно пропустить детскую ошибку просто из-за замылившихся глаз или из-за подводных камней реального использования модной технологии.


И чтобы минимизировать возможность таких ошибок, во многих компаниях существует практика защиты архитектурного решения перед началом непосредственной разработки нового крупного проекта. Это может быть организовано в виде собрания, проведения архитектурного ревью или просто обсуждения в курилке. Тут все зависит от штатной структуры и размера компании, а так же от поставленных процессов разработки.


А что делать, если разработчиков в компании раз-два и обчелся, либо их опыта недостаточно для экспертной оценки предлагаемого решения? Или у них просто отсутствует время или желание вникать в чужие трудности?


Наверно, вы уже догадались, что речь идет об использовании Хабра в качестве площадки, где можно получить реальную помощь от знающий людей.


И действительно, путем публичного обсуждения, можно получить замечательную обратную связь. Причем, написание статьи для Хабра значительно проще и удобнее, чем готовиться к защите на архитектурном комитете. Не нужно согласовывать дату и время, когда можно оторвать людей от основного процесса. А им в свою очередь, не нужно сразу включаться в контекст, чтобы иметь возможность участвовать в обсуждении деталей.


«В свое время» мне довелось участвовать в работе архитектурного комитета крупной компании. И ощущение после завершения каждой встречи всегда было двоякое. С одной стороны, очень здорово получить новый опыт и зачастую реальную помощь. Но бывало и так, что обычное обсуждение, казалось бы мелкого вопроса, превращалась в словесную баталию, отголоски которой долетали по прошествии нескольких дней.


Особенно мне запомнился опыт участия в процессе унификации используемых компонентов. Согласование интерфейса и реализации одной малюсенькой библиотеки заняло более полутора лет и потребовало нескольких полных переделок всей реализации. В результате куча убитого времени на приведение кода в юзабельное состояние, которое бы удовлетворило всех потребителей и полностью выгоревшее желание делать еще раз, что либо подобное.


С этой стороны, статья на Хабре становится просто идеальным вариантом, когда обсуждения сложного вопроса невозможно или просто не хочется организовать внутри компании. Но, что самое главное, какое бы решение и советы вы не получили в процессе обсуждения Хабро-статьи, вас никто не заставляет им следовать (в отличии от официального решения архитектурного комитета )!

@rsashka
28.01.2021 16:14 UTC
Первоисточник

Комментарии

@lair
28.01.2021 11:25 UTC
+1

Основная проблема — это как описать весь контекст проблемы (да еще и не нарушив NDA).


Это не говоря о том, что не у всех участников дискуссии (в смысле — сотрудников компании) обязательно есть равные возможности на Хабре.

@rsashka
28.01.2021 11:38 UTC
-1
Но вас же никто не заставляет раскрывать подробности? Да и вряд ли вы рассчитываете, что опубликовав большой объем материала, вы получите адекватный отклик.

Но вот уточнить про нюансы использования той или иной технологии, путь и на выдуманном примере, может оказаться очень кстати.

А сотрудники компании на сайте и ненужны. Тут вся прелесть в читателях НЕ сотрудниках компании.
28.01.2021 11:40 UTC
+3
Но вас же никто не заставляет раскрывать подробности?

А если не раскрывать, то внезапно выяснится, что совет неприменим, потому что он не учитывает подробностей. Тру стори.


на выдуманном примере, может оказаться очень кстати.

Вот только нюансы обычно возникают в реальной жизни, а не в выдуманных примерах. А в выдуманных примерах все хорошо.


А сотрудники компании на сайте и ненужны. Тут вся прелесть в читателях НЕ сотрудниках компании.

Тогда некому будет поправить человека, который описывает задачу или граничные условия, и в итоге картина опять будет неверной.

28.01.2021 11:55 UTC
-1
Вот только нюансы обычно возникают в реальной жизни, а не в выдуманных примерах.
Мне тоже нравится анекдот про нюанс.

А если по теме, то всегда сложно соблюдать баланс и тут все зависит от автора. К тому же, никто не запрещает делать это в форме блога компании. Мало того, что будет формальный одобрямс при публикации, так еще и плюшек насыпят от отдела маркетинга.
28.01.2021 11:58 UTC
+2
К тому же, никто не запрещает делать это в форме блога компании.

Юротдел запрещает, угу.

28.01.2021 17:08 UTC
+1
А если по теме, то всегда сложно соблюдать баланс и тут все зависит от автора. К тому же, никто не запрещает делать это в форме блога компании. Мало того, что будет формальный одобрямс при публикации, так еще и плюшек насыпят от отдела маркетинга.

Вместо одобрямса (которого с большой вероятностью не будет) могут насыпать от безопасников. И не совсем плюшек.
28.01.2021 17:18 UTC
0
Если публиковать информацию под NDA, конечно прилетит плюха, а не плюшка :-)
Вот только почему то вы ищете проблемы там, где их нет. Если вам запрещают публиковаться на Хабре — не пишите.
Просто я исхожу из предположения, что материал для обсуждения архитектуры все равно нужно готовить, а делать из него статью или презентацию для внутреннего пользования, это уже на ваше усмотрение.
Если можешь не писать – не пиши!


@Javian
28.01.2021 11:26 UTC
0
путем публичного обсуждения, можно получить замечательную обратную связь

Главное условие получить положительный отклик:
Чтобы правильно задать вопрос, нужно знать большую часть ответа. (Роберт Шекли. Верный вопрос.)

@rsashka
28.01.2021 11:41 UTC
0
Конечно! Ведь идея состоит не в том, что бы задать вопрос, а в том, чтобы получить обратную связь на уже проработанное решение.
@javax
28.01.2021 11:28 UTC
+6
Вы получите массу противоречивых советов. И массу не релевантной информации.
Если у Вас цель — собрать информацию (например, о каких аспектах Вы не подумали) — это может быть эффективным.
Если цель — получить нормальное ревью — вряд ли.
@Wesha
28.01.2021 11:39 UTC
+3
Вы получите массу противоречивых советов

… а по пути ещё и друг другу карму сольют.

@rsashka
28.01.2021 13:02 UTC
0
Вы получите массу противоречивых советов.
И что самое главное, какое бы решение и советы вы не получили в процессе обсуждения статьи, вас никто не заставляет им следовать! :-)
@artiom_n
28.01.2021 11:40 UTC
0
  • Автор не мог сделать более серьёзное голосование, без "ответов с подвохом"?
  • Похоже, что автор не слышал про сайты типа https://codereview.stackexchange.com/, где сообщество более подходящее, для того, чтобы оценить не только код, но и архитектуру.
  • Как вообще автор себе представляет передачу пакета документации на крупную систему (ещё и обычно защищённую NDA) людям "где-то в Интернете" для того, чтобы они бесплатно и качественно что-то оценивали?
@rsashka
28.01.2021 11:50 UTC
0
  • Предложите свой вариант вопросов для голосования.
  • Про stackexchange.com знаю и даже пользуюсь. Но там больше низкоуровневые вопросы, связанные с разработкой, да и писать сперва приходится на родном языке. Зачем еще с переводом заморачиваться?
  • Вы видели хоть одну статью на Хабре в объеме «пакета документации»?

28.01.2021 13:25 UTC
0
  • Без кричащих заголовков "Это ненужно! У меня ошибок не бывает!". Ошибки бывают. Но это не нужно, а причины другие.
  • "Зачем еще с переводом заморачиваться?" — наверное, чтобы увеличить размер аудитории? Аналогично: зачем с искусственными примерами заморачиваться?
  • Именно, что если такие статьи и есть, их мало, архитектура же (с требованиями, кстати) будет из себя представлять именно пакет документов.
28.01.2021 13:37 UTC
0
Хоть это и не заголовок, но все равно исправил на «Мне ревью ненужно».
С искуственными примерами можно заморочиться, что бы не раскрывать информация под NDA или для упрощения описания, чтобы уложиться в рамки одной статьи. Кстати, это ответе и на третий пункт.

29.01.2021 10:05 UTC
0
исправил на «Мне ревью ненужно»

Так конечно лучше.
Но вообще я имел ввиду, что:


  • Причины, из-за которых "ревью не нужно" бывают разными.
  • Мне ревью нужно, однако я не хочу его делать именно здесь по определённым причинам.
  • Есть три пункта "за", и всего-лишь один "против", хотя серьёзные опросы пытаются обычно делать более ли менее симметричными (чтобы предрасположенность автора к определённой группе ответов не влияла на опрашиваемого).

С искуственными примерами можно заморочиться

Что уже для многих (на что вам указали в комментариях) является одной из причин не делать ревью вне рамок компании, но это не означает, что нужно от ревью отказаться.

29.01.2021 10:22 UTC
-1
Судя по всему, вы зациклились на том, что вам это не нужно именно здесь на Хабре, т.к. это делаете внутри компании, но я писал не про ваш вариант, что и отвечал комментаторам выше. Если вас все устраивает в рамках уже существующих процессов, вам не нужны никакие статьи на Хабре.

И хотя причин, по которым это может быть ненужно гораздо больше одной, но в рамках данной статьи такие подробности не интересны. Поэтому и существует только один пункт «ненужно».

29.01.2021 23:09 UTC
-1

В рамках компании меня тоже может не устраивать ревью, но это не значит, что если я не хочу проводить его здесь, должен быть только пункт в опросе "У меня не бывает ошибок, не нужно никакое ревью", вместо нескольких пунктов, включающих "Ревью нужно, только проводить его требуется на специализированном ресурсе".
И я не зациклился, а пытался вам показать, что ваш опрос не полон и не вполне отвечает требованиям для качественных опросов.
Но вы, похоже, с двух раз этого не поняли, так что я сомневаюсь, что и с третьего поймёте.
А "такие подробности" (какие?) вам не интересны потому, что статья видимо, не для того написана, чтобы обрисовать и решить проблему, а как неудачная попытка, чтобы потешить чьё-то самолюбие и насобирать "плюсов".
На этом разговор окончен, до свидания.

30.01.2021 07:36 UTC
-1
У меня не было цели с помощью опороса провести подробное изучение данной темы. Он был нужен только для приблизительной оценки мнения по теме данной статьи (использование читателей Хабра в качестве оппонентов при обсуждении концептуальных архитектурных решений, в том числе, когда в рамках собственной компании это сделать затруднительно или невозможно).

А сама статья была нужна для того, что бы поделиться данным инсайтом.
@KanuTaH
28.01.2021 12:13 UTC
+1

Вы же наверняка в курсе известного высказывания Лао-цзы "знающий не говорит, а говорящий не знает"?

@rsashka
28.01.2021 12:38 UTC
0
А еще я знаю, что «и на старуху бывает проруха», поэтому в критичных случаях лучше подстраховаться. И ни капельки не жалею habr.com/ru/post/536286
@amarao
28.01.2021 13:36 UTC
0

Именно по-этому Лао-цзы в разделе философии, а Лаплас и Ферми — в учебниках по физике. Хотя, наверное, Лао-цзы всё знал и ничего не говорил. Так и помер со своим знанием.

@amarao
28.01.2021 12:26 UTC
+2

Если вы возьмёте свою бизнес-задачу и сумеете её свести к minimal viable case (как на stackoverflow), есть значительная вероятность, что уже в процессе попытки обобщить задачу на вас обрушится шквал откровений. Очень полезно, очень сложно, и потребует невероятных усилий и концентрации.


У меня в черновиках в куче мест (хабр, медиум и т.д.) лежат десятками казалось бы умные и поучительные статьи, в процессе написания которых я понимал, что БЛИИИИН, ВСЁ НЕ ТАК, и статья так и оставлялась в черновиках, зато у меня появлялся большой инсайт по вопросу.


Однако, первое, что вы получите на хабре — это утверждение, что вы всё не так делаете, и вам придётся отстаивать шаткую позицию по технологиям на самом общем уровне (потому что оппоненту всё равно, что у вас там в компании эликсир с коболом корпоративный стандарт).

@rsashka
28.01.2021 12:35 UTC
0
А почему вы решили, что целью является «публикация на Хабре»?
Цель, проверить решение, либо попытаться его найти (выбрать одно из нескольких вариантов), а статья — только способ её достижения.
И если в процессе подготовки материала вы уже пришли к однозначному выбору, то в публикации на Хабре уже нет большого смысла.
28.01.2021 13:35 UTC
0

А почему вы решили, что я решил, что целью является публикация на Хабре?


Я говорю, что в процессе подготовки обобщённого текста (который могут другие понять) часто приходят инсайты, которые в контексте решения конкретной задачи не видишь.

28.01.2021 13:41 UTC
0
Я сложил два абзаца «в процессе написания которых я понимал, что БЛИИИИН, ВСЁ НЕ ТАК, и статья так и оставлялась в черновиках»… и «Однако, первое, что вы получите на хабре»…
Если вы уже получили ответ на свою проблему, то и публиковаться ненужно. Тогда «и шаткую позицию» отстаивать не придется.
@
28.01.2021 16:21 UTC
0
НЛО прилетело и опубликовало эту надпись здесь
@rsashka
28.01.2021 17:03 UTC
0
Не согласен. Q&A предполагает общение вопрос-ответ, причем довольно краткий, а для анализа решения требуется дискуссия.

Более того, как было отмечено в комментариях выше, велик шанс, что ответ будет найден в процессе подготовки статьи. А при кратком вопросе статья становится ненужна, а именно она и является систематизацией информации по вопросу.

Мне кажется, что Хабро статья — самое оно.
@toxicdream
01.02.2021 06:26 UTC
-1
Где варианты «Хабру это не нужно», «Хабр для этого не нужен» и «Хабр не может знать лучше вас что там у вас внутри компании творится»?