А вы, в свою очередь, прочитайте про когнитивные искажения, а именно про апелляцию к авторитету. Дядя Боб написал много полезного, но он не пророк и его книга - не Библия, не надо все его слова воспринимать слепо на веру. В конце концов, он инженер, а не нейробиолог, верно?
Лично мой опыт кардинально отличается от написанного: в состоянии потока я как раз формирую структуру кода, потому что могу держать в голове абстракции, которые я уже придумал, но ещё не написал.
В обычном состоянии же я могу дописывать или переписывать отдельные куски кода. Соглашусь, что обычное состояние больше подходит для оценки читаемости и рефакторинга: если ты после обсуждения другого вопроса глянул на метод и в нём всё понятно, значит написано адекватно. Если тебе приходится вдумываться, значит код нужно декомпозировать.
Это очень громкое утверждение. Гвидо участвовал в разработке ABC, который задумывался как учебный, но Python сразу создавался как язык общего назначения.
Если вам так любопытно, он САМ написал сортировку вставками, которой его не обучали.
И вы буквально подтвердили мой тезис. Он всё ещё написал известный алгоритм. Если сравнить его реализацию с любой другой на том же языке - она не будет принципиально отличаться. Потому что этим алгоритмам сотни лет, и вероятность того, что вы на собеседовании, а тем более в школе, изобретёте что-то новое, пренебрежительно мала.
Вы всё таки считаете себя умнее Нильса Бора и Гаусса?
Вы, очевидно, считаете себя одного с ними ума, раз ваша басня про то, что вы в школе что-то там нарешали нестандартным способом резко превратилась в басню про Нильса Бора. Экий вы самодовольный врунишка.
Потому он придумал другой способ сортировки, который работает.
Для меня сюрприз, что вы называете это каким-то таинственным "другим способом", а не по общепринятому названию. Их не так много. Из этого я делаю вывод, что собеседуемый написал известный ему алгоритм, но вы его не знаете.
Кажется, вам самому не хватает базового образования, отсюда и ваши нелепые и абстрактные рассуждения о каких-то "нестандартных решениях".
Я в школе на экзамене доказал теорему совсем не так как как показывал учитель, и получил за это пять.
Либо это известное альтернативное решение, либо различия не так велики, как вы тут рассказываете. Это математика: из точки A в точку B можно прийти либо кратчайшим путём, либо неоптимально. Давайте конкретный пример или расписывайтесь в том, что троллите.
Это обучение тому чтобы думать самостоятельно.
Если тема занятия - сортировка пузырьком, вы не напишете сортировку слиянием, как бы нестандартно вы не мыслили. Потому что к тому моменту вы наверняка ещё не знакомы с рекурсией. Всё, что вы можете написать - это неверный алгоритм, который вылетает за пределы массива.
Вы занимаетесь какой-то софистикой, рассуждая о том, как работают профессиональные программисты - это не имеет отношения к вопросу. Мы говорим о школьниках, они ещё вчера не знали что такое цикл. Им нужно это узнать на конкретном примере. Весь креатив начнётся сильно позже.
Вы спорите ради спора? С какой стати преподавателю информатики ставить ученику плохую оценку за оригинальное решение? В отличие от гуманитарных наук (о которых и пели Pink Floyd) тут всё объективно: код либо работает, либо нет.
Суть в том, что оригинальное решение действительно должно быть нестандартным: язык для обучения не должен давать возможность себя хакнуть. А если у каждого ученика в классе задача решена своим способом, то это не обучение - это фарс, где никто не понимает как работает код соседа.
поощрять за тупую бездумную зубрёжку
Когда вы учите алгоритмы, ровно как и математические теоремы - вы их именно учите. Не бездумно: иначе не сможете воспроизвести, но и не отходя от оригинала, иначе решение не будет работать.
поощрять за умение скрытно списывать
А ещё поощрять правшей больше, чем левшей, потому что мышки обычно справа. Мы можем долго практиковаться в демагогии и накидывании несвязных аргументов, а можем проявить уважение друг к другу. Вы что выберете?
Секрет в том, чтобы привыкнуть к определённой музыке посредством длительного прослушивания, когда ваш мозг уже запомнил всю мелодию до подробностей и воспринимает её как белый шум. А если вы всегда под эту музыку занимались работай, то возникнет положительная обратная связь и мозг со временем будет охотнее переключаться в состояние фокуса как только услышит знакомую мелодию.
Так работают саундтреки к видеоиграм. Если вам доводилось во что-то задротить - попробуйте найти саундтрек и включить во время работы. Есть немалая вероятность, что после 10-минутного сопротивления вас унесёт в состояние глубокого фокуса)
Ну или наушники с шумоподавлением - прекрасное изобретение человечества.
После некоторых раздумий я, кажется, нашёл ещё одну причину, почему сообществу не понравилась оригинальная статья: она наивна и не предлагает никакой долгосрочной стратегии, только временные меры.
Многие из нас были с той или другой стороны описанной вами ситуации. Многие пытались найти универсальное решение. И после некоторого количества попыток многие пришли к выходу, что никакого универсального решения по большому счёту быть не может.
Забирая внимание на себя, вы неизбежно тратите полезное время специалиста. Отказываясь с вами взаимодействовать, специалист неизбежно вредит проекту. Это естественный баланс. Единственный лайфхак, который тут возможен - это взаимное уважение и компромиссы.
Однако, в ваших статьях не чувствуется уважения к коллегам: вы не понимаете их мотивацию, не рассматриваете их как рациональных акторов. Ваши советы сводятся к банальному принуждению, а потому закономерно вызывают отторжение.
Скорее возможен, но непродолжительно. Потому что когда от обилия костылей загнётся основной продукт, никому не захочется возиться в куче кода, который оставили разработчики, не боявшиеся отвлекаться.
Мне нужно еще как-то реализовываться на двух работах и учебе. А то сижу тут целыми днями, читаю портал...
А вот это грязненький риторический приём, который не располагает к общению с вами. Вы либо уважаете сообщество и пытаетесь что-то в него привнести, либо относитесь к нему снисходительно, пытаясь самоутвердиться за чужой счёт.
За одно это вам всю панамку минусов напихать можно.
Рад, что удостоился звания вашего любимого комментатора)
И отдельно рад, что вы выложили комментарий, в котором фигурирует понятие контекст. Со стороны кажется, что ваша собака зарыта как раз в способности работать с этим самым контекстом.
Прежде всего: контекст оригинальной статьи.
Если просмотреть комментарии, то видно, что есть люди, которые всё-таки восприняли первую статью полезной и релевантной. При внимательном прочтении нетрудно увидеть, что либо эти люди находятся с вами на одной позиции, либо находились на ней раньше, а следовательно могут вспомнить себя на вашем месте. Их не надо погружать в ваш контекст - они и так в нём находятся, а значит прочитанное не вызывает у них отторжения.
Что же не так с остальными комментаторами? Они восприняли статью в рамках своего контекста: специалиста, которому надо работать работу, а его бесконечно достают коллеги со своими "простыми вопросами на 2 минуты". Видит ли он в статье освещение своей стороны проблемы? Нет - он видит советы как задолбать его ещё сильнее. Естественно, это вызывает гнев.
Что вы могли бы сделать, чтобы избежать этого? Я вижу два варианта:
либо накинуть побольше особенностей своей работы, чтобы ввести читателя в свой контекст (да, у вас было интро, но, как видим, недостаточно развёрнутое), или чтобы сразу ограничить аудиторию статьи;
либо написать жирнющий дисклеймер, что мол все озвученные приёмы - крайняя крайность и в большинстве рабочих вопросов не должны применяться.
В пользу первого варианта говорит то, что вам пришлось писать пояснение в рамках дополнительной статьи:
Если это работа со смежной командой, то это значит, что проблема при ИХ игноре будет и у них тоже.
Если это работа с бизнес-заказчиком, то тут игнор с его стороны будет стоить дорого ему же.
Всё это - введение в ваш контекст, который вы не дали в оригинальной статье.
Я не буду писать подобные слова коллеге, который не в контексте нашего вопроса или нашей интеграции. Думала, что это очевидно
Как видите - нет. И это не про то, что мы такие недогадливые, это про искусство повествования.
я вижу, что сообщество Хабра любит копать глубоко, и надо было уделить details больше времени
Всё верно: на Хабре присутствует разная публика, вы же написали статью "только для своих", за что и отхватили.
Далее: уважение к контексту ваших коллег.
Тут просто отвечу на ваши цитаты:
Мне страшно представить, а если организм вас зовет справить нужду на пару минут или закинуть топливо в виде перекуса, вы тоже его будете игнорировать, потому что он отвлекает от состояния потока?
Да. Буквально так всё и есть. Способность к глубокой концентрации - отличительная черта всевозможных разработчиков, инженеров, математиков и т.д. За это нас ценят, это часть нашего рабочего процесса, но это не даётся просто так. Можете не принимать мои слова на веру (а поискать подтверждение самостоятельно), но считается, что немалая часть разработчиков, мягко скажем, нейронетипичные люди. Это скорее норма в индустрии, особенно на просторах бывшего СССР, где проблемы подобного характера принято игнорировать.
Мне казалось, что вся наша социальная жизнь до работы, от садика до универа, была направлена на то, чтобы учиться взаимодействовать в рабочем режиме с разными людьми.
Мы делаем одно общее дело: моя и твоя задача отвечать в рамках нашего продукта\функционала\интеграции.
Здесь вы исходите из предположения, что эффективная коммуникация и софт-скиллы в целом - ключевой навык для представителя любой профессии. В вашем случае это действительно приоритетное требование: вам изо дня в день приходится налаживать коммуникацию и добиваться решения своих вопросов. Однако задачей №1 любого разработчика всегда будет написание кода. Это в первую очередь проверяют на собеседованиях, за это, прежде всего, платят ЗП. Вы здесь всегда будете находиться в вынужденном противостоянии. Мудрость в том, чтобы уметь находить равновесие :)
Не сочтите за грубость, но вы напрашиваетесь на ответ: "Вот потому ваш язык и JavaScript" :D
А если серьёзно, то школьникам вот эта возможность сделать одно и то же сотней разных способов скорее вредит. Для обучения важнее, чтобы ученик мог самостоятельно прийти к верному решению, которое будет максимально похоже на решение преподавателя - тогда происходит обучение с подкреплением и все счастливы. Для этого язык должен быть простым как топор.
Всю эту вариабельность мы начинаем ценить позже, когда освоили базу и инструмент и ищем способы оптимизировать свою работу.
Или не выносят никому мозг и хранят суммы в копейках, если не надо возиться с конвертацией.
А вы, в свою очередь, прочитайте про когнитивные искажения, а именно про апелляцию к авторитету. Дядя Боб написал много полезного, но он не пророк и его книга - не Библия, не надо все его слова воспринимать слепо на веру. В конце концов, он инженер, а не нейробиолог, верно?
Лично мой опыт кардинально отличается от написанного: в состоянии потока я как раз формирую структуру кода, потому что могу держать в голове абстракции, которые я уже придумал, но ещё не написал.
В обычном состоянии же я могу дописывать или переписывать отдельные куски кода. Соглашусь, что обычное состояние больше подходит для оценки читаемости и рефакторинга: если ты после обсуждения другого вопроса глянул на метод и в нём всё понятно, значит написано адекватно. Если тебе приходится вдумываться, значит код нужно декомпозировать.
Это очень громкое утверждение. Гвидо участвовал в разработке ABC, который задумывался как учебный, но Python сразу создавался как язык общего назначения.
del
Этот бесполезный тролль так и будет выносить нам мозг, пока кто-то не придёт и не сольёт ему остатки кармы. Не ведитесь, не повторяйте моих ошибок.
И вы буквально подтвердили мой тезис. Он всё ещё написал известный алгоритм. Если сравнить его реализацию с любой другой на том же языке - она не будет принципиально отличаться. Потому что этим алгоритмам сотни лет, и вероятность того, что вы на собеседовании, а тем более в школе, изобретёте что-то новое, пренебрежительно мала.
Вы, очевидно, считаете себя одного с ними ума, раз ваша басня про то, что вы в школе что-то там нарешали нестандартным способом резко превратилась в басню про Нильса Бора. Экий вы самодовольный врунишка.
Для меня сюрприз, что вы называете это каким-то таинственным "другим способом", а не по общепринятому названию. Их не так много. Из этого я делаю вывод, что собеседуемый написал известный ему алгоритм, но вы его не знаете.
Кажется, вам самому не хватает базового образования, отсюда и ваши нелепые и абстрактные рассуждения о каких-то "нестандартных решениях".
Ну ещё статьи целиком копировать не хватало. Вы мыслите слишком нестандартно, чтобы приложить ссылку?
Вы тролль и демагог.
Либо это известное альтернативное решение, либо различия не так велики, как вы тут рассказываете. Это математика: из точки A в точку B можно прийти либо кратчайшим путём, либо неоптимально. Давайте конкретный пример или расписывайтесь в том, что троллите.
Если тема занятия - сортировка пузырьком, вы не напишете сортировку слиянием, как бы нестандартно вы не мыслили. Потому что к тому моменту вы наверняка ещё не знакомы с рекурсией. Всё, что вы можете написать - это неверный алгоритм, который вылетает за пределы массива.
Вы занимаетесь какой-то софистикой, рассуждая о том, как работают профессиональные программисты - это не имеет отношения к вопросу. Мы говорим о школьниках, они ещё вчера не знали что такое цикл. Им нужно это узнать на конкретном примере. Весь креатив начнётся сильно позже.
Вы спорите ради спора? С какой стати преподавателю информатики ставить ученику плохую оценку за оригинальное решение? В отличие от гуманитарных наук (о которых и пели Pink Floyd) тут всё объективно: код либо работает, либо нет.
Суть в том, что оригинальное решение действительно должно быть нестандартным: язык для обучения не должен давать возможность себя хакнуть. А если у каждого ученика в классе задача решена своим способом, то это не обучение - это фарс, где никто не понимает как работает код соседа.
Когда вы учите алгоритмы, ровно как и математические теоремы - вы их именно учите. Не бездумно: иначе не сможете воспроизвести, но и не отходя от оригинала, иначе решение не будет работать.
А ещё поощрять правшей больше, чем левшей, потому что мышки обычно справа. Мы можем долго практиковаться в демагогии и накидывании несвязных аргументов, а можем проявить уважение друг к другу. Вы что выберете?
Секрет в том, чтобы привыкнуть к определённой музыке посредством длительного прослушивания, когда ваш мозг уже запомнил всю мелодию до подробностей и воспринимает её как белый шум. А если вы всегда под эту музыку занимались работай, то возникнет положительная обратная связь и мозг со временем будет охотнее переключаться в состояние фокуса как только услышит знакомую мелодию.
Так работают саундтреки к видеоиграм. Если вам доводилось во что-то задротить - попробуйте найти саундтрек и включить во время работы. Есть немалая вероятность, что после 10-минутного сопротивления вас унесёт в состояние глубокого фокуса)
Ну или наушники с шумоподавлением - прекрасное изобретение человечества.
И музычку в уши.
Мы тут немножечко о разных стадиях обучения говорим. Вундеркинды найдут свой способ стать вундеркиндами - не переживайте за них.
Если внимательно почитать советы в комментах, это должно выглядеть так:
После некоторых раздумий я, кажется, нашёл ещё одну причину, почему сообществу не понравилась оригинальная статья: она наивна и не предлагает никакой долгосрочной стратегии, только временные меры.
Многие из нас были с той или другой стороны описанной вами ситуации. Многие пытались найти универсальное решение. И после некоторого количества попыток многие пришли к выходу, что никакого универсального решения по большому счёту быть не может.
Забирая внимание на себя, вы неизбежно тратите полезное время специалиста. Отказываясь с вами взаимодействовать, специалист неизбежно вредит проекту. Это естественный баланс. Единственный лайфхак, который тут возможен - это взаимное уважение и компромиссы.
Однако, в ваших статьях не чувствуется уважения к коллегам: вы не понимаете их мотивацию, не рассматриваете их как рациональных акторов. Ваши советы сводятся к банальному принуждению, а потому закономерно вызывают отторжение.
Скорее возможен, но непродолжительно. Потому что когда от обилия костылей загнётся основной продукт, никому не захочется возиться в куче кода, который оставили разработчики, не боявшиеся отвлекаться.
А вот это грязненький риторический приём, который не располагает к общению с вами. Вы либо уважаете сообщество и пытаетесь что-то в него привнести, либо относитесь к нему снисходительно, пытаясь самоутвердиться за чужой счёт.
За одно это вам всю панамку минусов напихать можно.
Рад, что удостоился звания вашего любимого комментатора)
И отдельно рад, что вы выложили комментарий, в котором фигурирует понятие контекст. Со стороны кажется, что ваша собака зарыта как раз в способности работать с этим самым контекстом.
Прежде всего: контекст оригинальной статьи.
Если просмотреть комментарии, то видно, что есть люди, которые всё-таки восприняли первую статью полезной и релевантной. При внимательном прочтении нетрудно увидеть, что либо эти люди находятся с вами на одной позиции, либо находились на ней раньше, а следовательно могут вспомнить себя на вашем месте. Их не надо погружать в ваш контекст - они и так в нём находятся, а значит прочитанное не вызывает у них отторжения.
Что же не так с остальными комментаторами? Они восприняли статью в рамках своего контекста: специалиста, которому надо работать работу, а его бесконечно достают коллеги со своими "простыми вопросами на 2 минуты". Видит ли он в статье освещение своей стороны проблемы? Нет - он видит советы как задолбать его ещё сильнее. Естественно, это вызывает гнев.
Что вы могли бы сделать, чтобы избежать этого? Я вижу два варианта:
либо накинуть побольше особенностей своей работы, чтобы ввести читателя в свой контекст (да, у вас было интро, но, как видим, недостаточно развёрнутое), или чтобы сразу ограничить аудиторию статьи;
либо написать жирнющий дисклеймер, что мол все озвученные приёмы - крайняя крайность и в большинстве рабочих вопросов не должны применяться.
В пользу первого варианта говорит то, что вам пришлось писать пояснение в рамках дополнительной статьи:
Всё это - введение в ваш контекст, который вы не дали в оригинальной статье.
Как видите - нет. И это не про то, что мы такие недогадливые, это про искусство повествования.
Всё верно: на Хабре присутствует разная публика, вы же написали статью "только для своих", за что и отхватили.
Далее: уважение к контексту ваших коллег.
Тут просто отвечу на ваши цитаты:
Да. Буквально так всё и есть. Способность к глубокой концентрации - отличительная черта всевозможных разработчиков, инженеров, математиков и т.д. За это нас ценят, это часть нашего рабочего процесса, но это не даётся просто так. Можете не принимать мои слова на веру (а поискать подтверждение самостоятельно), но считается, что немалая часть разработчиков, мягко скажем, нейронетипичные люди. Это скорее норма в индустрии, особенно на просторах бывшего СССР, где проблемы подобного характера принято игнорировать.
Здесь вы исходите из предположения, что эффективная коммуникация и софт-скиллы в целом - ключевой навык для представителя любой профессии. В вашем случае это действительно приоритетное требование: вам изо дня в день приходится налаживать коммуникацию и добиваться решения своих вопросов. Однако задачей №1 любого разработчика всегда будет написание кода. Это в первую очередь проверяют на собеседованиях, за это, прежде всего, платят ЗП. Вы здесь всегда будете находиться в вынужденном противостоянии. Мудрость в том, чтобы уметь находить равновесие :)
Не было тяжело, и ты справился? Рады за тебя.
Не сочтите за грубость, но вы напрашиваетесь на ответ: "Вот потому ваш язык и JavaScript" :D
А если серьёзно, то школьникам вот эта возможность сделать одно и то же сотней разных способов скорее вредит. Для обучения важнее, чтобы ученик мог самостоятельно прийти к верному решению, которое будет максимально похоже на решение преподавателя - тогда происходит обучение с подкреплением и все счастливы. Для этого язык должен быть простым как топор.
Всю эту вариабельность мы начинаем ценить позже, когда освоили базу и инструмент и ищем способы оптимизировать свою работу.