Комментарии 521
Вы хотите знать один «правильный» ответ вместо признания спектра «хороших» и «плохих» ответов.
…
Видеть полную картину, представлять себе различные возможности и доверять своей интуиции полезно для нахождения лучших решений, полностью удовлетворяющих вашей задаче.
Интересное мнение. Однако, нельзя написать две точки входа в одной программе. Всегда есть реализованное решение и остальные. Если вам кажется, что существует целый спектр «хороших» решений, значит вы недостаточно глубоко изучили вашу конкретную задачу. Всегда есть обстоятельства, иногда даже не связанные с программированием, которые выделяют из хороших то самое единственно верное решение.
Единственно верное решение — это "2 x 2 = 4".
Все остальные решения — это компромиссы.
Далеко не факт, плюс, на 0 в некоторых языках программирования начинаются восьмеричные числа.
Соответственно быстрее закрываются таски, проще получать премии и так далее.
А иногда 100% корректность не нужна в принципе: например вспомогательные скрипты, используемые для сборки программы — если они как-то отрабатывают на ваших данных, которые у вас есть и дают правильный результат… то вам же неважно что они сделают с другими данными, которых у вас нет!
В некоторых системах счисления может получиться не 4, а 10 или даже 11 :)
10 в любой системе счисления 10 ;)
0: _
1: 1
2: 11
3: 111
4: 1111
5: 11111
и т.д.
вот что вики знает: Унарная система счисления
Вам там не совсем корректно сказали.
0: Z
1: SZ
2: SSZ
3: SSSZ
и т. д.
S и Z — два знака. а в единичной системе возможен только один знак.
Z может быть только в конце строки и имеет по большей части техническую роль. Значение числа зависит только и исключительно от количества S в строке.
Короче, можете выкинуть Z.
так же в этой системе счисления невозможна (формализация) операция деления без перехода к другим системам счисления
Почему?
Система счисления — это всего лишь представление.
обучение детей счету о котором упоминается: надо вспомнить что обучают на палочках счету в десятичной системе, а не единичной
что с вами не так? палочки представляют собой обозначения в унарной системе. Если вы выложите палочками цифру 5 — будет цифра пять. А если это пять палочек — это пять в унарной системе.
В любой системе счисления, имеющей основание и цифры 1 и 0, так точнее.
В перле 2 x 2
даст 22. Как и 2 . 2
Все остальные решения — это компромиссы.
Вы не поняли смысл моего сообщения. Я об этом и написал, что из множества решений, удовлетворяющих требованиям, всегда можно выделить одно, наиболее оптимальное в данной ситуации.
А если кто-то из этого множества выбирает рандомное решение (они все кажутся одинаковыми), значит он просто не достаточно детально изучил данную ситуацию.
Как же скучно жить в черно-белом мире…
всегда есть не нулевая вероятность получить несколько оптимумов при конечном количестве параметров.
С чего бы, даже в теории, стремиться к 0...? Насколько я помню, математически было показано, что вероятность нахождения нескольких оптимумов стремится к 0 только при бесконечном количестве параметров/критериев. В практике(реальной жизни) оптимумов вполне может быть несколько. Классический бытовоц пример у нас — выбор рейса Москва -Питер. Чтобы выбрать рейс, постоянно нужно увеличивать число параметров/критериев.что бы в итоге остался 1. Причём в зависимости от индивидуума, набор этих параметров разный…
Назовите любой алгоритм сортировки и вам назовут мильйон причин, в чём оно не оптимально.
С сортировкой не так то, что сортировать можно очень разные данные и в очень разных условиях. Массив из 10 элементов эффективнее будет сортировать вставками. Из 10 миллионов элементов — квиксорт (если массив упорядочен случайно). Для 3 элементов эффективнее будет нахардкодить дерево из ифов. Если подключить сюда еще размер данных для сортировки (просто инты или 10-мегабайтные структуры?), тип структуры контейнера (массив или односвязный список?), характер данных (почти отсортированные? Случайно упорядоченные? Отсортированные в почти-обратном порядке?), то количество оптимальных для каждого отдельного случая алгоритмов растет еще больше.
sort из стандартной библиотеки — это компромисс, который good enough для самых распространенных случаев. Но даже в каждом из них — далек от оптимальности. Не говоря уже об искусственно созданных "плохих" входных данных, которые есть у любого алгоритма сортировки.
"Нулевая стоимость поддержки и реализации" не равно "оптимально по всем параметрам". Помимо стоимости поддержки и реализации есть и другие параметры. Часть из них я упомянул в своем комментарии.
А, у вас какое-то своё толкование задачи оптимизации. В классическом смысле это поиск минимума (или максимума) некоторой функции от этих самых параметров. Как правило, эта функция: полная стоимость решения с учетом ограничений. И в очень редких случаях sort не подходит, или не оптимален.
А, у вас какое-то своё толкование задачи оптимизации. В классическом смысле это поиск минимума (или максимума) некоторой функции от этих самых параметров.
Нет, у меня толкование вполне классическое.
Как правило, эта функция: полная стоимость решения с учетом ограничений.
Что конкретно входит в "полную стоимость решения с учетом ограничений"? И с какими весами?
И в очень редких случаях sort не подходит, или не оптимален.
И, как сказал Prototik, можно назвать мильйон таких "редких случаев", в которых библиотечный sort будет неоптимальным.
Найдёте хотя бы три?
Труда действительно не составляет. Правда не могу понять, чем вам не угодили библиотеки. Но да ладно.
https://github.com/git/git/blob/master/pack-revindex.c#L27
https://github.com/torvalds/linux/blob/master/lib/sort.c#L199
https://github.com/antirez/redis/blob/unstable/src/pqsort.c#L99
А мой вопрос вы решили проигнорировать? Про количественный и качественный состав "полной стоимости решения с учетом ограничений".
Если нет убедительных причин поступить иначе: берите sort из стандартной библиотеки, и не надо ничего выдумывать.
Особенно мне нравится вот этот коммит в гит. Тут и исследование, и обоснование, и видно как начали со стандартной сортировки.
С ядром линукса тоже была увлекательная история. Только редис выбивается немного, сишный кусорт вполне способен посортировать в середине массива.
Я не знаю, про какие критерии вы хотите узнать. Серебряной пули нет, и в каждом конкретном случае функция стоимости и набор критериев будет отличаться. Если у вас задача опубликовать статью про новый алгоритм сортировки, то очевидно что никакой существующий алгоритм не подойдёт.
Я немного утратил нить вашего тезиса.
Все началось с сообщения о том, что в любом алгоритме сортировки (к слову, даже не в реализации, а именно в алгоритме) есть минусы и что для любого из них можно назвать множество примеров, где этот алгоритм не будет оптимальным. Вы в ответ стали возражать, зачем-то приводя в пример sort из стандартной библиотеки исходя из его превосходства по каким-то отдельным критериям, которые далеко не всегда имеют решающее значение и которые, вообще говоря, никак не относятся к алгоритму как таковому.
Теперь вот оказывается, что вы все таки не считаете библиотечный sort той самой серебряной пулей, которая оптимальна всегда и везде. И для него тоже есть множество примеров, где он не оптимален.
Можете тогда пожалуйста конкретнее прояснить, с чем именно вы не согласны и каков ваш посыл? Что зачастую можно написать std::sort и все будет хорошо? Ну да. Только с этим никто и не спорил и речь вообще о другом была.
Конкретно про сортировки. Я не спорю, что есть разные алгоритмы с разными характеристиками. Но считаю, что в среднем программист скорее выиграет сто миллионов в лотерею и перестанет программировать вообще нежели ему придётся решать задачу где встроенная сортировка не подойдёт. И считаю неправильным употреблять для описания таких случаев эпитеты: «множество», «зачастую», «мильены».
Не говоря уже об искусственно созданных «плохих» входных данных, которые есть у любого алгоритма сортировки.
Это скорее для квиксорта характерно, там от способа выбора опорного элемента много зависит. Хипсорт и мержсорт к такому устойчивы вроде.
Мне нужно сложить 2 целых числа.
Можете назвать оптимальное решение, оптимизированное по всем параметрам сразу?
Всегда есть несколько оптимальных и удовлетворительных решений.
Потому что оптимизировать по всем параметрам невозможно. Мы не живем в статичном мире.
Не бывает абстрактно оптимальных решений. Решение может быть оптимальным только по определенному критерию оптимальности. При этом по другим критериям это решение зачастую не будет оптимальным (например, по времени решения задачи).
dic.academic.ru/dic.nsf/ruwiki/1587468
Выбор критериев, назначение весов критериям, путь до решения — всё это весьма субъективно. Каждый человек будет решать задачу по-разному. Каждое решение будет оптимально по одному критерию и минимально удовлетворять остальным критериям ТЗ. И все решения будут «хорошими», т.е. рабочими.
это весьма субъективно
Субъективно? Вы наверное забыли, что речь идёт о проблеме выбора для субъекта. Очевидно, что его выбор будет субъективным) Я говорю лишь о том, что этот выбор может и должен быть обоснованным, единственным. Всегда есть обстоятельства, которые склонят чашу весов в чью-то пользу. Невозможно существование двух разных, но равных по значениям критериев решений.
Я говорю лишь о том, что этот выбор может и должен быть обоснованным, единственным.Извините, но вы чушь пишите. Как может быть «обоснованным и единственным» выбор, когда речь идёт о задаче, точной постановки которой мы не знаем?
Мы не знаем как устроено железо, на котором это всё будет исполняться (потому что железо на котором мы начинаем всё это писать отличается от того, которое у нас будет к моменту, когда мы закончим), мы не знаем какие у нас будут данные к моменту, когда всё напишем (если бы знали всё в точности — то ничего писать было бы не нужно вообще) и так далее.
Невозможно существование двух разных, но равных по значениям критериев решений.Знаете — тут так же, как с Колмогоровской сложностью. Торетически — она для любых данных существует. Практически — вычислить её нельзя.
Да, в одном случае невычислимость — фундаментальное математическое свойство, в другом — банальное следствие того, что мы не располагаем полной постановкой задачи в момент, когда начинаем её решать… но практически — следствие одно: нам приходится использовать какие-то другие методы.
P.S. Вообще вся эта дискуссия напомнила мне одну хорошо известную всем статью где говорится что, в сущности, от программиста требуется всего две вещи:
1. Толковый и
2. Доводит дело до конца
И там же был пример того, почему пункт #2 неверноятно важен: Толковые, но не доводящие дело до конца работники обычно просиживают ученую степень в больших компаниях, где их никто не слушает из-за их полной непрактичности. Они скорее станут думать об академическом подходе к проблеме, а не о выпуске продукта в срок. Их легко узнать по склонности к поиску теоретического сходства между двумя совершенно разными концепциями. Например, они могут заявить: «Таблицы — это, в сущности, частный случай языка программирования», а затем исчезнуть на неделю и написать потрясающую статью о теоретических атрибутах вычислительной лингвистики электронных таблиц как языка программирования. Круто, но бесполезно.
Вот ваше рассуждение про существование оптимального решения «для сферической задачи в вакууме» — оно из той же оперы. Формально — круто, чё… философы были бы довольны… а практически — совершенно бесполезно.
Дано несколько альтернатив (в нашем случае решений поставленной начальником задачи/проблемы), каждая из которых имеет значения по всем критериям. Необходимо выбрать одну альтернативу.
Далее составляется матрица альтернатив, выставляются весовые коэффициенты критериям, выполняется свёртка, альтернативы ранжируются и выбирается лучшая.
1. Матрица альтернатив содержит в столбцах альтернативы, в строках — критерии, а в пересечениях — значения каждой альтернативы по каждому критерию.
2. Каждому критерию приписывается весовой коэффициент. Выбор весовых коэффициентов — отдельная известная задача, для которой придуманы 5-10 разных методов решения.
3. Свёртка, в общем случае, может быть разной. В нечёткой логике обычно используется минимаксная, кто-то использует сумму и т.д. В данной задаче я бы использовал сумму.
5. Ну и в качестве целевой функции выбора из ранжированного списка альтернатив я бы использовал [f(c1,c2,c3,...)=a]→min.
Соответственно, я утверждаю, что всегда есть одна и только одна альтернатива, минимизирующая целевую функцию. Почему? Потому что в реальности критериев очень много, и мы может увеличивать их количество при надобности. Критериями выступают не только технические характеристики типа скорости, памяти, но и такие как: перспективы развития продукта, опыт, наличие инструментов разработки, шаблоны, целевая аудитория, знание языка/системы… Следовательно, вероятность совпадения значений целевых функций альтернатив для такого огромного количества критериев (на практике, начиная с 5) стремится к нулю.
А вот что вы утверждаете, я понять не могу.
По каждому отдельному критерию отношение порядка между решениями будет разным. В общем случае, не существует такого решения, которое было бы лучше всех остальных по каждому параметру отдельно.
Взять тот же latency/throughput. Обычно они связаны обратной зависимостью и улучшая одно — неизбежно ухудшаешь другое.
Из этого следует, что не существует универсального критерия на все случаи жизни, и программист уровня миддл должен уметь предложить разные варианты: с лучшим latency, с большим throughput, более дешевое в реализации и пр.
Посмотрев на это, менеджер Коля замечает, что выбор оптимального решения это тоже задача сама по себе. И по его «матрице альтернатив» для сайта-визитки оптимальным способом решения этой задачи является выбор «шестым чуством по опыту», а потому Вася молодец а Петю уволить.
С такими матрицами альтернатив Вася так и будет клепать сайты-визитки, а Петя через пару лет научится обосновывать свои решения быстро и убедительно. Так что его схантят обратно уже на директорскую позицию.
А Петя тем временем напишет инструмент для составления матриц за 5 минут.
А академически верный подход Пети для бизнеса выглядит как саботаж и нежелание решить задачу. Потому из Пети не получится ни хороший программист, ни хороший директор.
Что важно для бизнеса, а что нет как раз и определяет эти веса параметров. Как вы собрались выяснять, что важно для бизнеса не спрашивая при этом, что ему важно?
… бизнес платит деньги Васе и Коле за опыт в принятии экспертных решений, и за то чтобы его спрашивали про веса только там, где бизнесу «важно». При этом чтобы они сами определяли, где именно «важно».
С параметром «стабильность в проде» ситуация противоположная, для доклада это не важно, и его вес равен нолю, а для визитки это критично.
Но определять, надо ли, и до каких пределов жертвовать параметром А в пользу параметра Б — это именно ответственность тех, кого мы тут называем «бизнес».
Иногда эти приоритеты долго не меняются и очевидны, тогда Коля может сэкономить пару минут на расспросах, но можно и спросить, никого никогда за это не увольняли. А вот истории, когда Вася сам попытался угадать что важно а что нет, но не спросил и в результате промахнулся — обычно заканчиваются очень печально.
А вот истории, когда Вася сам попытался угадать что важно а что нет, но не спросил и в результате промахнулся — обычно заканчиваются очень печально.
Из моего опыта, истории когда «Вася» выяснял и выяснял требования до мельчайших деталей и строго бездумно им следовал, заканчивались куда плачевнее. Правда, как правило только для «Васи».
Понятно, что нужен баланс. И высооплачиваемые специалисты за то и получают много, что в рамках своих компетенций много и хорошо «угадывают» (я бы скорее назвал это принятием решений, основанном на здравом смысле и опыте вместо строгого расчёта. Но можно и так). И чем выше должность и зарплата, тем больше свобода решений.
«Вася» выяснял и выяснял требования до мельчайших деталей и строго бездумно им следовалЭто скорее про soft skills, когда джун всех уже достал, но профита от него все равно как от джуна.
Мой опыт показывает, что если исполнитель здорово облажается с приоритетами, весом параметра в целевой функции, например ему скажут что прод критичен для бизнеса, а он там тестить начнёт потому что «а что такого-то?» то могут и уволить. Хотя такое случается редко, все же люди чаще склонны слушать что им говорят.
Если же он неверно предположит значение параметра целевой функции, например скажет что сделает за неделю, а провозится месяц — то обычно за это не наказывают вообще, просто не дают более ответственных задач.
Дано несколько альтернатив (в нашем случае решений поставленной начальником задачи/проблемы), каждая из которых имеет значения по всем критериям. Необходимо выбрать одну альтернативу.
А если альтернатив будет не несколько а несколько сотен, пока вы все пересчитаете, конкуренты уже уйдут вперед на не самом оптимальном решении, а лидер вообще на костыльном, но зато через год он скупит всех окружающих для рефакторинга.
Такой критерий как «время принятия решения» очень сильно меняет приоритет практически всех других критериев, что порождает множество оптимальных решений, а не только одно.
надо набрать максимальное количество шариков одного цвета.
Какой цвет набирать наиболее оптимальнее?))
Единственно верное решение — это «2 x 2 = 4».
Не всегда. На поле
Галуа это не так. Да и если вычислять во float, не в каждом языке программирования 2*2 точно равно 4
Ну и про системы исчисления (двоичные, шестнадцатеричные, десятичные) выше уже написали. Так что таки спектр верных ответов, а не один ответ на все случаи жизни. Такие дела.
Можно реализовать через сложение :)


Обожаю комментарии на хабре, под комментарием "2x2=4" — пара десятков комментариев с аргументированными возражениями и контр-примерами, где ещё такое встретишь?
"Лучшее" — по каким критериям?
"Мы делаем быстро, дешево и качественно. Выберите 2 из 3".
Выберите "лучшее".
Тут нету понятия быстро и дёшево
Разве? Программирование — это активность, она занимает время. Следовательно, есть "быстро" и "медленно". Программирование так же требует ресурсов (и как активность, и как решения), и эти ресурсы могут стоить денег. Отсюда — "дорого" и "дешево".
В моем понимании лучшее, это наиболее понятное и менее ресурсоемкое.
Бывает так, что увеличение понятности приводит к увеличению потребляемых ресурсов. И как же выбирать "лучшее" в вашем понимании?
Вы про просто хобби программирование? Хотя даже тут, можно вечно искать наиболее понятное и менее ресурсоемкое решение.
Я вот свой код 3 летней давности считал тогда простым и оптимальным. А сейчас смотрю и удивляюсь, как такая лажа в продукт шла? Но если бы я 3 года назад продолжил бы искать более оптимальное и понятное решение, то возможно, уже программистом и не был бы — уволили бы меня.
А тебе попадается необъяснимое поведение в ЯП
Это странно, потому что обычно все объясняется стандартом ЯП, иногда бывает необъяснимое поведение компилятора, но тогда скорее всего надо просто прочитать Errata на него.
Что именно нельзя и не работает? Пример кода, плз.
Есть интересные случаи, на которые можно попасться, вроде описанного тут, но вообще никто не запрещает использовать Runnable так, как вздумается.
… ну то есть (периодически) весьма противоречащие друг другу вещи.
Во-первых, не всегда красивая реализация легка в поддержке.
Во-вторых, далеко не всегда красивая или легкая в поддержке реализация потребляет меньше или хотя бы столько же ресурсов, чем некрасивая и сложная в поддержке.
Ну так на это я и написал. Компромисс
Ну так компромис — это как раз когда вы балансируете между противоречащими друг другу вещами. Странно, что вы продолжаете спрашивать, "в чем противоречие".
Всегда можно сложную реализацию обернуть в еще одну функцию/процедуру. С соответствующим комментарием. Что сюда нельзя, тут начинается магия. И не стоит это место трогать.
Это как раз называется "сложно в поддержке".
Значит это сложно в поддержке: вместо того, чтобы поменять одно место в коде, тебе надо разобраться в логике его работы и написать всё заново, но уже с новыми свойствами. На это может уйти много времнни
А в чем сложность поддержки в этом?
В том, что "сюда нельзя". Непонятно, что делать, если там проблема, или если маленькая проблема вокруг, или если надо переиспользовать с изменениями.
Заметил тенденцию, все что ранее написано, не трогают. А пишут новое.
Ну то есть ставим крест на переиспользовании.
В моем понимании лучшее, это наиболее понятное и менее ресурсоемкое.
Вы точно программизмом занимаетесь?
Или нагуглили это всё?
Ну, если когда-нибудь займетесь программированием (не только 1С), то сами выведете, что:
"Лучшим решением является то, которое оптимально удовлетворяет требования заказчика".
На минуточку — "оптимально", а не "наилучшим образом".
Потому что удовлетворить наилучшим образом все требования — невозможно как класс.
Для меня оптимально и наилучшим образом — синонимы.
dic.academic.ru/dic.nsf/ruwiki/1587468
Видимо в понятие «наилучшим образом» вы не закладываете все нужные заказчику критерии, оставшиеся в умолчаниях, такие как время и финансовые затраты.
Если в требованиях не было про то, как должны храниться пароли, то вполне себе нормальное решение. Может там защита не нужна… Например, какой-нить внутрикорпоративный сервис, для поиска общедоступной информации… Зачем городить огород, где он не нужен?
Реализовано правильно, это когда по требованиям.
Кроме явных требований заказчика есть неявные у него же, есть требования регуляторов разных юрисдикций, есть лучшие практики (юридически я бы их отнёс к обычаям делового оборота). И может иск о ненадлежащем исполнении договора или служебных обязанностей и не выиграет в суде, но репутацию вам подмочит, если будете хранить пароли в открытом виде, когда даже на сайте ЯП указано, что так делать нельзя
И что? У нас, например внутренняя система учёта времени, там мой пароль 1. Ну утечет он, что с этого? Данные с этой системы чисто информативные для сотрудников…
Зачем там сложная система аутентификации? 7
Смотря где в открыом виде. В дженкинсе есть защищённые переменные, но они отдаются приложению строкой, только в логах маскируются. Это, разве, плохая практика?
Реализовано? Реализовано. Быстро. Дешево.
Не нужно пилить фейсбук там, где достаточно 2 html страничек.
«то, что реализовано — правильно» — неверный в корне.
Расскажите погроммистам 1С
Я сам (сдуру) заглядывал в исходники фреймворка от той же конторы (Битрикс) а от того, что я там увидел, меня трясет от каждого упоминания — такое впечатление, что его делали люди, которые только вчера научились включать комп, а сегодня ваяют на пхп.
А вот «реализаторы через Ж» как раз «недостаточно глубоко изучили конкретную задачу».Ну, если задача стояла «сделать максимально быстро и забыть», то «М и Д», наоборот — молодцы. Просто, возможно, ТЗ поменялось и «забыть» было вычеркнуто.
Речь скорее всего о том, что программных реализаций решений, позволяющих получить искомый результат — более одного. Кроме того, сам результат может быть гибкой функцией, если нет железобетонного ТЗ с эскизами форм, отчетов и т. п. Заказчик не всегда может внятно представлять автоматизацию глубже понятия "должно что-то стать быстрее и удобней".
Тут главное не забывать, что от смены обстоятельств этим самым "единственно верным решением" может оказаться какое-то другое из спектра "хороших".
А риски и перспективы развития следует, конечно же, учитывать. Может программист знает не всё, но предусмотреть банальное масштабирование желательно.
Мне часто помогает представить как бы какая-то штука была реализована в идеальном мире. Типа, решение, повторяющее или моделирующее логику того, что нужно сделать как оно есть. А уже потом компромиссами превратить его в то, что можно сделать в конкретных условиях. А иногда, если костылей «вынужденных решений» накопилось еще не много, получается и без компромиссов.
Однако, нельзя написать две точки входа в одной программе
Легко. У меня есть сервис (use-case) регистрации пользователя. Одна точка входа через web-морду, вторая — через CLI.
В этом и соль: есть реализация, но если ты не видишь её сильных или слабых сторон, то ты не станешь успешным программистом. Есть задача: вывести результат 2x2. Хороший программист обязан:
- Вывести значение сразу. Тут нефиг думать.
- Прогнать в голове все варианты контекста применения этой функции. Потому, что завтра заказчик скажет: ой, ну это чисто пример, там надо чтобы пользователь руками вводил формулу (любой сложности в рамках средней школы), вводил значение всех переменных и получал результат. И ты такой садишься на жопу и начинаешь писать за 1000 рублей калькулятор для алгебры и начала анализа.
Поэтому, ты обязан знать паттерны решения твоего вопроса. Полюбому, есть набор решений, которые подскажут тебе, что контекст использования может отличаться от ТЗ. Или было бы разумно реализовать паттерн, который отвечал бы ожиданиям большинства вариантов юзкейсов.
Но можно написать две точки входа для компиляции, если тебе нужен вариативный результат
Получается, не выйдет из вас хорошего программиста. Так?
Кроме №9 все тезисы могут быть применены к любой профессии.
Вообще к любой.
Всю статью можно переписать так:
"Если будешь хорошим — то будешь хорошим. А если будешь плохим — то ничего у тебя не получится."
Подставьте "дворник".
«Дворник», вроде, к интеллектуальным профессиям не относится…
Кто так решил?
И что есть "интеллектуальная профессия"?
Илита?
PS. ну разве что под "интеллектуальной профессией" понимать вид деятельности, при котором больше работают головой меньше работают руками, и основная физическая нагрузка приходится на пятую точку.
Я думаю что выделять илиту интеллектуальную деятельность как нечто особенного немного неверно.
Работа как работа. Ничего особенного. Дворником отнюдь не проще.
Точнее не махать метлой, а мести.
Махать-то сможет, мои дети в 2 года так могли. Именно махать метлой, не мести.
Для этого требуются какие то особенные умственные способности, что вы дворника в интеллектуальную профессию записали?
Я могу делать работу любого дворника
Я бы развалился через полчаса подметания улиц. То, что господин Hivemaster может подметать улицы и не умирать от этого — хвала ему во всех смыслах
Но, например, любознательность или там терпение в учёбе явно не являются важным профессиональным качеством дворника. А для программиста — являются. Значит, совершенно одинаковыми эти две профессии не являются...
Конечно не являются!
Чтобы быть нормальным дворником, надо чтобы руки нормально отросли.
А вот людям с проблемными руками альтернативной моторкой приходится идти в погроммисты и выкручиваться как получится.
PS. надеюсь понятно, что это просто взгляд с другой кочки зрения, а не повод для холивара :-)
Но интелектуальной профессия "дворник" от смены точки зрения всё равно не становится.
Конечно не становится!
Чтобы быть дворником, надо кроме головы еще и прямые руки иметь.
А с прямыми руками ту же Windows написать сложно (такой, какая она есть)
Так что нет, не становится.
«Если вы несамостоятельный ленивый нелюбознательный хмыропуз, то из вас ничего не получится».
Тут дело в наборе навыков и характере, кому-то проще стать сеньором, кому-то депутатом. От человека зависит.
Но с другой стороны, дефицит специалистов во многих (во всех?) отраслях довольно велик, как и в политике тоже.
Если вам не очень любопытно как работает компьютер и технологии в целом, вам ни за что не стать успешным программистом.
Мне интересно, как написан код библиотек\фреймворков и т.д., но мне всё равно, как устроен компьютер (знаю на уровне школьника и ладно)
Если вы не разовьете в себе умение решать проблемы самостоятельно, вам ни за что не стать успешным программистом.
Я не хочу потерять день на решение проблемы мучаясь дебагом, которое способен мгновенно выдать интернет\коллега\мануал.
Если вы сдаетесь, едва столкнувшись с проблемой, вам ни за что не стать успешным программистом.
Решит коллега. Поменяю саму задачу или способ решения.
Если вы не испытываете чувство восторга и выполненного достижения, когда решили проблему, вам ни за что не стать успешным программистом.
Нет, ведь самое трудное еще впереди. Или просто еще 10 таких же проблем (тикетов)
Если вы ощущаете нехватку терпения в учебе и ждете, что вы сможете все освоить легко и быстро, вам ни за что не стать успешным программистом.
Когда мне было 20 — все давалось легко и быстро. Теперь я точно знаю, что мне не понять, например, криптографию и другую высшую математику, и просто туда не лезу.
Если вы ленитесь думать и вы считаете сконцентрированное размышление скучной рутинной обязанностью, вам не стать успешным программистом.
Потому что, шьёрт побьери, это рутина! Это выматывает! Это бессонные ночи и литры кофе! И вообще, очевидное и изящное решение, как известно, приходит
Изучая что-то новое, очень часто мы чувствуем что наших знаний и опыта недостаточно для того, чтобы иметь собственное мнение. Выступить с инициативой, сделать или сказать что-то неправильно кажется очень рискованным.
От нас требуется писать быстро и без ошибок, у нас нет времени на рефакторинг и глобальные переделки, нет мотивации среди нескольких неплохих решений долго выбирать наилучшее. ***к ***к и в продакшн!
Ваше мышление негибкое, узкое и/или неорганизованное
Поэтому важно работать в команде. За годы работы на почти каждую проблему сразу всплывает собственный типичный подход «я всегда так делал», и уже не видно альтернатив.
Если воспринимать конечную цель программирования как нахождение верного решения, а не спектра возможных решений, вам ни за что не стать успешным программистом.
Когда-то я доводил код до формы, устраивающей меня. Сначала писал простыню говнокода, которая просто работает, а потом рефакторил, придавая универсальность и гибкость, в попытках написать идеальный код… Теперь я останавливаюсь на простыне, которая хотя бы не плоха — идеальный код никому не нужен, да и тот код, что я нахожу красивым, врядли *всем* покажется тоже красивым.
Если вы пренебрегаете деталями и упускаете из вида мелочи, вам ни за что не стать успешным программистом.
Я крайне нетерпелив и невнимателен. Тот код, который еще мной же не пересматривался и не правился, набит ошибками «нулевого указателя» и «лишней единицы». Я это знаю, а потому не проверяю, как учитель орфографию учеников, а пишу юнит-тесты. Только тесты могут выявить эти глупые ошибки из невнимательности. Я не стараюсь.
А потому, у меня много опыта и я не был и не буду хорошим программистом :D
Однако я пишу код так, что он может быть нечитаем со стороны. Например, я инлайню сложные выражения, если они используются однажды, вместо вынесения их в отдельную переменную. Также (речь про Java) раньше я ставил final и this. везде, где только можно (сейчас я так не делаю)
Т.е. меня будут ругать за то, что я не пишу
int width = innerWidth/2; // здесь может быть выражение и посложнее этого
int height = innerHeight/2;
out(width, height, text);
а пишу
out(innerWidth/2, innerHeight/2, text);
за что меня часто и ругают «непонятно, что здесь написано!»
Хмф, зато я сразу вижу возможные ошибки («а что, если аргумент будет null — все упадет с NPE», «слишком большая область видимости — руками изменят и все упадет») и пишу код так, чтобы уменьшить вероятность ошибок и неправильного обращения с обьектом.
Зато подход «сначала пишем как пишется, потом рефакторим до годного» оправдывает себя тем, что не приходится задавать вопросы «а что, если...» на раннем этапе — сначала ставится вопрос «как решить эту задачу», и когда уже PoC-код работает, переходим к рефакторингу «сделать код универсальным, сделать код безопасным»
Я благодарен отцу за то, что еще раньше, когда мне было 10 лет, у него получилось заинтересовать меня программированием и обучить основам бейсика на Спектруме, поэтому вопрос «кем я буду, когда вырасту» был однозначно «программистом».
Мне было интересно все, это был сумбурный подход «все интересно, во всем разобраться, все попробовать сделать самому», кладбище мертворожденных проектов тянет на отдельный мир.
Извините, а отвечая на Ваш вопрос «как стать опытным программистом если нет ни любопытства, ни желания что-то изучать» — иметь мотивацию, которую я наблюдал у младших коллег «за это хорошо платят, поэтому идем на SO, копипастим работающий код и изменяем под свои нужды»
Эх, каюсь, но подходом «не знаю как сделать — нахожу решение на SO, понимаю принцип и пишу свой код» пользуюсь и до сих пор, а то и даже «не понимаю код, что написали на SO — копирую как есть, изменяю те места, которые понимаю, но до тех пор, пока код работает»
Прямо про себя прочитал.))
То ли специально чрезмерно иронизируете, то ли преувеличиваете своё ощущение усталости от похожих задач, то ли еще как назвать. Например:
Я крайне нетерпелив и невнимателен. Тот код, который еще мной же не пересматривался и не правился, набит ошибками «нулевого указателя» и «лишней единицы».
Противоречит упомянутому ниже вашему хорошему качеству:
Хмф, зато я сразу вижу возможные ошибки («а что, если аргумент будет null — все упадет с NPE», «слишком большая область видимости — руками изменят и все упадет») и пишу код так, чтобы уменьшить вероятность ошибок и неправильного обращения с обьектом.
В любом случае, хочу отметить пару опасных допущений данной фразы:
мне не быть хорошим программистом несмотря на 15 лет опыта… А потому, у меня много опыта и я не был и не буду хорошим программистом.
1) «Хороший» программист (инженер) — не звание на всю жизнь, нельзя лишь почевать на лаврах прошлых заслуг, человек на определенном этапе развития может быть таковым, а потом может выгореть или решить немного отдохнуть и перейти в режим просто «Норм» — в среднем нормально решает знакомые задачи знакомыми методами без лишнего погружения и разбора деталей.
2) Цифра стажа — не определяет автоматически попадение в категорию «Хорошего», лишь повышая вероятность накопления определенного опыта, т.к. см. 1 первый — важно и как человек провел эти года, и каков он сейчас.
Честно говоря, первым делом полез посмотреть, сколько у вас подписчиков и не входите ли вы в Кольцо Переводов… =D
Ну а про способы борьбы с рутиной и депрессией, они у всех разные. К сожалению, многие идут по пути наименьшего сопротивления и выбирают один из трёх вариантов: спиться, зожнуться, либо сектантствовать. Хотя как по мне, эти варианты практически бесполезны, и огонёк не возвращают. Творческую натуру надо кормить разнообразными творческими занятиями, тогда она будет периодически проявляться и в работе.
Суть программирования есть решение проблем. Это и есть причина создания компьютеров! Всякий раз, когда вы начинаете работать над программой, вы сталкиваетесь с целой «стопкой» проблем
Мне кажется, лучше рассматривать программирование как стопку задач, а не стопку проблем )))
Проблема — это ИМХО нечто внезапное и неприятное. Например, когда посреди разработки монитор сдох.
А написание кода — какая же тут проблема, если добровольно за это взялся?
Проблема: аргх, у нас в системе опять что-то сломалось, пользователи злы и не могут работать, репутация тает
Задача: выяснить, что сломалось, почему сломалось и как быстро это исправить
Анализ: возник непредвиденный кейс, невыявленный ранее из-за сложности системы
Сопутствующая проблема: Исправить сходу не получится из-за ограничений платформы и отсутствия нужных инструментов
Сопутствующая задача: выяснить способы обхода проблемы
Сопутствующий анализ: определить наилучшее в данной ситуации обходное решение
Сопутствующее решение: реализовать решение
Решение: выкатить сопутствующее решение, устранить возможность похожих проблем в будущем.
И при таком подходе «проблема -> задача -> анализ -> решение» не возникает противоречия, а неизбежный фрустрирующий фактор сведен до минимума.
Решение:
В английском слово «problem» имеет смысл «задача», в контексте решения задач. «Solve this problem» — «Решите эту задачу». Во время перевода смысл слегка потерялся :)
Для многих достаточно одного: вам 18+ лет и вы ни разу ничего не прогали в 3 часа ночи.
Поясню. Призвание к 18 годам должно уже проявится, и что-то на каком-то языке программирования вы уже должны уметь писать. Без призвания сидеть перед монитором с буквами — это свою угробить жизнь. Чтобы сидеть и прогать в 3 часа ночи нужно 1) любопытство и я бы даже сказал страсть 2) воля к победе и бесстрашие перед множеством проблем, упорство 4) способность разгребать доки и чужой код 5) самостоятельность… короче, 1 критерий вместо 10, и в отличие от перечисленных в статье этот один легко определяется (каждый сам для себя легко на него ответит, самообман невозможен).
Напротив, если парень не сидел за программированием ночами уже в школе, то его шансы стать хорошим программистом сильно падают, потому что большинство из них сидит.
Офтоп: Как-то в детстве я сказал, что не намерен плакать по поводу смерти Брежнева, потому что мы не родственники и получил кучу «минусов» от учителя и одноклассников, хотя в целом это была правда. Что изменилось с тех пор? Покажи людям красную тряпку и готовься отгребать :).
То есть вы считаете, что поведение (в отношении учебы) увлеченного школьника зависит от того, какие у этого школьника гениталии?
Считается, что представителям мужского пола легче войти в состояние потока, в то время как женщины более способны к многозадачности.
О справедливости судить не возьмусь.
Все проще. Я просто заметил что критерий неверный. Потому что школьницы не сидят ночами экспериментируя с технологиями программирования. Но все равно некоторые потом становятся программистами.
Но борцы с предрассудками читают между строк то что им хочется.
школьницы не сидят ночами экспериментируя с технологиями программированияВы не могли бы пометить, на основании чего такой вывод сделан? Мне действительно интересно =D
Друзья, знакомые, коллеги, искал персонал, люди рассказывали о себе.
Предубеждений у меня нет.
Так не бывает, прямо скажем. Предубеждения есть у любого человека, воспитанного в обществе.
Я не воспитан в обществе.
Гм. Мне казалось, вы упоминали одноклассников. Следовательно, вы учились в школе. Нет? У вас нет высшего образования? Вы не работали в коллективе?
У меня критический научный склад ума.
Это очень легко сказать, но очень сложно доказать. На мой личный вкус для научного склада ума вы слишком легко обходитесь с наблюдениями.
Критерий, несомненно, неверный: школьники не сидят ночами, экспериментируя с технологиями программирования, но некоторые все равно потом становятся программистами. Я вот, например.
Но сказали вы совсем не это.
Сидят. Я сидел. Все мои друзья программисты которых знаю сидели. Моя жена программист но у нее даже компьютера не было. Критерий годный для мужчин но сильно недостоверный для женщин.
Сидят. Я сидел. Все мои друзья программисты которых знаю сидели.
Я же вам уже сказал, что я вот не сидел. Почему-то этот пример — в отличие от примера вашей жены — вы отвергаете.
Так что нет, для мужчин этот критерий такой же негодный.
Настолько же не годный? В точно такой же степени? Т.е. если навскидку спросить среднюю жену на должности программиста программировала ли она по ночам до 18 то вероятность положительного ответа та же что для парня? Моя статистика говорит обратное. Возможно ваша выборка предвзята?
В точно такой же степени?
Ну да. Вы привели один контр-пример, я привел один контр-пример.
Моя статистика говорит обратное.
На какого размера выборке собрана ваша статистика, как проводились измерения, какой критерий оценки статистической достоверности использовался?
Мне, впрочем, вообще интересно, как вы собираетесь подтверждать критерий "если не засиживался — хорошим программистом не станет", безотносительно пола.
На какого размера выборке собрана ваша статистика, как проводились измерения, какой критерий оценки статистической достоверности использовался?Для меня это выглядит как троллинг. Вам хочется нарисовать себе врага и переболтать его и все тут.
Мне, впрочем, вообще интересно, как вы собираетесь подтверждать критерий «если не засиживался — хорошим программистом не станет», безотносительно пола.Это был довольно несерьезный критерий, высказанный не мной. Заключался он в том, что те кто не заболел с самого начала в последствии не будут слишком хороши. В основном это верно. Не считая, того факта, что женщинам психологически в гораздо меньшей степени свойственно «болеть» технологиями. Или вы хотите спорить именно насчет фактов нарушения режима дня, засиживания ровно до 3 часов и так далее?
Собственно единственный тезис заслуживающий обсуждения — это тот факт, что мужчинам свойственно гораздо сильнее увлекаться техникой и в частности программированием чем женщинам. Увлечение, которое для мужчины почти как основной инстинкт, для женщины карьера, хобби, самоутверждение, одна из интересных вещей. Сидеть в подвале, набитом электроникой и компьютерами, как доктор зло — типичная мечта мальчишки конца 80, и фактически ниодной девчонки того времени (исключения конечно существуют всегда, но это исключения). Кстати, я начинал работать в отделе АСУ, полностью состоящем из женщин программистов, а потом работал в коллективе где отношение было пополам. Так что я знаю о чем говорю.
Сейчас программирование превратилось в рутину, обычную профессию, поэтому не особо знаю что твориться в головах у молодежи сейчас.
Для меня это выглядит как троллинг. Вам хочется нарисовать себе врага и переболтать его и все тут.
Неа, мне хочется обойтись без голословных утверждений.
Это был довольно несерьезный критерий, высказанный не мной.
Вы однако, с ним согласились: "Критерий годный для мужчин".
В основном это верно.
В основном это верно ровно настолько, насколько верно, что чем раньше начнешь заниматься чем-то, тем больше у тебя времени на освоение навыка. И, одновременно с этим, чем сильнее ты увлечен тем, чем занимаешься, тем больше ресурсов ты в это можешь вложить. И, внезапно, это одинаково верно вне зависимости от пола.
Но вот насчет "заболеть" вопрос сильно отдельный, и как раз с ним я и спорю в первоначальном критерии. Не надо "болеть" программированием, чтобы быть хорошим программистом.
Или вы хотите спорить именно насчет режиа дня, засиживания ровнго до 3 часов и так далее?
… а если не спорить, то может внезапно выясниться, что все-таки нет никакой разницы между применимостью этого критерия в зависимости от пола.
В основном это верно ровно настолько, насколько верно, что чем раньше начнешь заниматься чем-то, тем больше у тебя времени на освоение навыка. И, одновременно с этим, чем сильнее ты увлечен тем, чем занимаешься, тем больше ресурсов ты в это можешь вложить. И, внезапно, это одинаково верно вне зависимости от пола.Стать программистом можно исходя из разных мотиваций и эти мотивации зависят от пола. Поэтому это работает по разному. В общем это уже стало слишком сложно. Я сам запутался что мы тут друг другу доказываем.
Но вот насчет «заболеть» вопрос сильно отдельный, и как раз с ним я и спорю в первоначальном критерии. Не надо «болеть» программированием, чтобы быть хорошим программистом.А, вы об этом. Совершенно верно. Можно быть хорошим программистом не болея программированием. В 90-е годы правда таких почти не было. Сейчас есть, потому что это уже просто работа за деньги а не увлечение.
Холодный профессионал почти всегда может не уступать горячему энтузиасту в практических задачах. Энтузиаст, но плохой профессионал понапишет или понапихает фреймворков, на-изобретает сложных алгоритмов. Профессионал, но не энтузиаст просто найдет хорошее решение задачи. В итоге реальный эффект будет примерно одинаковым.
Хотя, если брать средне-статистически, таки энтузиастов среди сильных программистов пока еще большинство. Кого ни спроси, все нерды с детства по сути.
эти мотивации зависят от пола.
Почему?
(ну и сразу: как это доказать?)
Кого ни спроси, все нерды с детства по сути.
Я не знаю, кого вы считаете сильным программистом, но я знаю достаточно хороших программистов, которые не были нердами в детстве.
Я не знаю, кого вы считаете сильным программистом, но я знаю достаточно хороших программистов, которые не были нердами в детстве.Вспомнил одного такого. Написал буквально пару программ для себя после школы, а потом после первого же проекта попал в тимлиды и ведущие разработчики без особых усилий. По-моему фишка была в том, что у него был старший брат, который перехватывал инициативу и ему было уже просто не интересно идти по следам. Поэтому случайно он не был нердом. Больше особо не вспоминается. Возможно поколение 2000-х оно другое, не знаю.
Сильные — это конечно не те которые могут написать код или UI по спецификации. Те кому доверяют отвечать за архитектуру чего-то не совсем ординарного или ее часть как минимум.
Насчет зависимости мотиваций от пола, тут можно приводить тысячу примеров, даже не знаю с чего начать. Внешняя сторона очевидна: программистов мужчин больше, увлекающихся техникой мальчишек больше и так далее. Конкретно, я в детстве писал игры на ассемблере и пара моих одноклассников увлекались чем-то подобным, а мои одноклассницы вообще не интересовались что такое компьютер. Однажды я написал «мега-фреймворк» чисто из программистского зуда и подсадил на него свою компанию, хотя мне это фактически запрещали. Можете представить, чтобы подобную глупость сделала женщина, и которая при том была бы довольно средним программистом вроде меня? Зачем ей это (откуда такие мотивации)? И так далее. В чем причина — в гормонах или в воспитании, это более сложный вопрос, который мы тут явно не решим.
Можете представить, чтобы подобную глупость сделала женщина
Да, глупость не уникальна для мужчин
Зачем ей это (откуда такие мотивации)?
Затем же зачем и вам
программистов мужчин больше
В восьмидесятые, в СССР, было ровно наоборот и програмирование считалось более женской професией (сужу по рассказам родителей) да и сейчас ситуация исправляется и женщин в ИТ все больше
Я говорю о той действительности которую вижу. В вашем круге знакомств есть женшина-крутой программист, которая и фреймворк напишет если надо и архитектуру спроектирует и проект вытянет? В моем нет никого даже близко похожего. С одной стороны в программировании в целом пока женщ н мало. Но с другой стороны раз их мало, значит туда должны попадать самые лучшие и самые мотивированные. Значит в среднем они должны превосходить мужчин. Но ведь нет такого. В общем извините, платон мне друг но истина дороже. Может я что-то упускаю, время покажет.
В вашем круге знакомств есть женшина-крутой программист, которая и фреймворк напишет если надо и архитектуру спроектирует и проект вытянет?
В моем круге знакомств и мужчин таких крайне мало. Если посчитать их долю от доли всех виденных мной мужчин-программистов, а потом взять ту же долю от всех виденных мной женщин-программистов, получится сильно меньше единицы.
Но с другой стороны раз их мало, значит туда должны попадать самые лучшие и самые мотивированные. Значит в среднем они должны превосходить мужчин.
Эээ… конечно, нет. Даже если предположить, что первое предложение верно (что не факт), второе из него никак не вытекает.
Т.е. вы их не видели, я их не видел, но они точно есть и в приличном количестве. Понимаете же что это не убедительно. Заметте, я не говорю что женщины менее способны. По моей выборке в способностях разницы нет. Им просто не так интересно по каким-то причинам. Больше гормональным или больше культурным не знаю.
По последнему вашему возражению не понял. Выглядит как отрицание очевидного.
они точно есть и в приличном количестве.
… а откуда взялось "в приличном количестве"?
Им просто не так интересно по каким-то причинам.
… в вашей выборке?
Больше гормональным или больше культурным не знаю.
Не знаете, но говорите, что причина в поле.
Выглядит как отрицание очевидного.
Вам очевидно, что женщины в среднем должны превосходить мужчин? Или вы о каком-то другом возражении?
… а откуда взялось «в приличном количестве»?Слово «приличном» появилось, чтобы вы не привели единичный пример из интернета. Но вы все равно нашли к чему прицепиться. Раз вы выкручиваетесь, значит у вас нет настоящих оснований для уверенности. Вам просто хочется отстаивать модное мнение, выгодное вам психологически. Если бы сейчас был СССР, то вы так же горячо убеждали бы меня в преимуществах коммунизма.
Если бы вы вместо демагогии сразу привели какие-то убедительные примеры, я бы сразу сдался. Потому что была бы ваша выборка против моей.
… в вашей выборке?В вашей в целом тоже, если судить по примерам, которые вы приводили выше.
Не знаете, но говорите, что причина в поле.Мотивация скорее всего связана с полом, но я не уверен, что эта связь настолько сильная, что будет иметь принципиальное значение в другой культуре воспитания женщин.
Вам очевидно, что женщины в среднем должны превосходить мужчин? Или вы о каком-то другом возражении?Вроде того. Тезис был довольно ясный, возражений к нему я не увидел.
Чтобы вы не привели единичный пример из интернета.
Ну то есть это какое-то придуманное вами утверждение. Окей.
Раз вы выкручиваетесь, значит у вас нет оснований правоты.
Оснований какой правоты, собственно? Я пока просто задаю вопросы и привожу примеры.
В вашей в целом тоже.
О нет. В моей выборке женщинам не менее интересно, чем мужчинам.
Мотивация скорее всего связана с полом
Почему бы? Как это доказать?
Тезис был довольно ясный, возражений к нему я не увидел.
Я могу повторить возражение, если вы с первого раза не увидели: высказывание "в среднем они [женщины] должны превосходить мужчин" никак не вытекает из утверждения "раз их [женщин] мало, значит туда [в программирование] должны попадать самые лучшие и самые мотивированные". Впрочем, и высказывание "должны попадать" не вытекает из "раз их мало", но это уже нюансы. Оба ваших "значит" ничем не обоснованы.
Я могу повторить возражение, если вы с первого раза не увидели:Это не возражение. Это просто отрицание. Давайте поясню.
Возьмем 100 китайцев и 100 индусов. Допустим, все индусы работают программистами, а китайцы пока не имеют такой возможности или желания по каким-то причинам. Потом китайцы открывают для себя эту возможность. При этом, работа интересная и платят дочерта. В какой-то момент 10 китайцев тоже пробились в программисты.
Теперь сравниваем средний уровень китайцев и индусов на рынке. Если даже предположить, что в программисты попали совершенно случайные китайцы, то они должны иметь тот же средний уровень что и индусы. Но на самом деле это очень мало вероятно. Первые — это всегда лучшие, потому что это те кому интереснее и у кого лучше получается. Значит средний китаец на рынке должен быть сильнее среднего индуса (пока соотношение типа 10 к 100).
И аналогично это по идее должно работать для женщин и мужчин…
Если даже предположить, что в программисты попали совершенно случайные китайцы, то они должны иметь тот же средний уровень что и индусы.
Совершенно не обязательно, потому что вы исходите из равных возможностей, которые в вашем примере отсутствуют. Но не суть. Дальнейшего это не меняет.
Первые — это всегда лучшие, потому что это те кому интереснее и у кого лучше получается.
А чем, простите, обосновывается это утверждение? Первые — это просто… первые. Те, кто первым попробовал. Может быть, они просто самые жадные. Или самые бедные. Или самые удачливые.
И особенно это относится к "лучше получается". Лучше, чем у кого? Они первые, им не с кем сравнивать.
Что конкретно вам не понятно в моем комментарии? Вопрос, на чем основано ваше утверждение, что первые — всегда лучшие?
Такой фактор конечно же есть, и это именно он: изначально более низкая мотивация к подобного рода работе. Другого не видно.
это естественное предположение для высокооплачиваемой, престижной и не пыльной работы
Вот вам и наглядная демонстрация ваших предубеждений.
То, что для вас это "естественное предположение", не делает его верным — или хотя бы очевидным для других. Я вот не понимаю, почему первые люди, рванувшие в сторону "высокооплачиваемой, престижной и непыльной работы" должны быть лучше подходящими для этой работы.
Проще говоря, вот у вас есть сто человек. Проходит слух, что где-то есть какая-то хорошая работа. Какие десять человек первыми пойдут на этот слух?
Вытекающая из вашего сообщения гипотеза, что по настоящему потенциально одаренные в области программирования женщины пока не пошли в программирование мне кажется крайне неубедительной. Как минимум она противоречит тому что вы выше сами же утверждали: что для них все работает так же как для мужчин. Опровергнуть что-то подобное конечно нереально, но я работал с женщинами, ставил им задачи, брал их на работу. В этом смысле у них все работает в точности как у мужчин, только в меньшем масштабе (из за менее прямой мотивированности по моим оценкам).
Не важно кто пойдет. Важно кого в итоге возьмут на работу.
… а возьмут на работу тех, кто удовлетворяет условиям. Не лучших из лучших в популяции, а тех, кто удовлетворяет условиям. Пришло десять человек, все десять выше минимальной границы — взяли. При наличии конкурса — взяли тех, кто лучше других конкурсантов (а не, опять же, всей популяции).
Скорее возьмут все равно тех что выше среднего.
Выше среднего чего? Среди кого?
Вытекающая из вашего сообщения гипотеза, что по настоящему потенциально одаренные в области программирования женщины пока не пошли в программирование
Эта гипотеза никак из моего сообщения не вытекает. Это ваша гипотеза, вы с ней и разбирайтесь.
Эта гипотеза никак из моего сообщения не вытекает. Это ваша гипотеза, вы с ней и разбирайтесь.Я вынужден был ее сочинить от вашего имени, потому что вы не объясняете как так получается. Вы просто пишите что не согласны и все. Типа это все равно ничего не доказывает и всегда можно найти другие объяснения. Можно всегда, но обычно работает наиболее простое и понятное объяснение (а не наиболее политкорректное, увы).
Я и говорю: сами сочинили — сами и разбирайтесь.
А я пока даже не понимаю, что именно вы ожидаете, что я объясню. В основном меня интересуют основания для ваших утверждений и доказательства для ваших выводов, и пока что с ними весьма скудно.
Объясните по каким причинам немногочисленные работающие женщины программисты обычно в среднем не дотягивают по уровню даже до среднестатистического случайно взятого программиста-мужчины на этом же предприятии.
Я не вижу смысла (и не могу) объяснять что-то, чего я не наблюдаю. В компании, где я работаю, ситуация другая.
Что останавливает женщин, которые потенциально могут быть ведущими программистами компаний, но сегодня не работают программистами пойти в программисты
О, множество вещей, вот прямо начиная с общественной позиции "это не женское дело" и распространенного мнения, что женщины худшие программисты, чем мужчины. На следующем месте будут наниматели, которые принципиально не берут женщин на работу, потому что, в числе прочего, женщина может в любой момент уйти в декрет, а зачем им это надо. На этом список не заканчивается, но уже достаточно, в принципе.
(Что характерно, примеры этих позиций сравнительно регулярно встречаются в комментариях на хабре)
Я не вижу смысла (и не могу) объяснять что-то, чего я не наблюдаю. В компании, где я работаю, ситуация другая.Хорошо, принимается. Но я пока такого не видел. Предполагаю, что вы рассматриваете только подмножество программистов, делающих довольно простую и рутинную работу, исключая из выборки тех кто решает действительно сложные задачи. Это подгон под желаемый результат.
О, множество вещей, вот прямо начиная с общественной позиции «это не женское дело» и распространенного мнения, что женщины худшие программисты, чем мужчины.Не проходит. Через это сито предрассудков первыми на работу должны пробиться одаренные женщины-прирожденные программисты. Женщин со средними способностями прокинут из за предвзятости. И затем мы должны наблюдать картину, когда средняя женщина программист намного круче среднего программиста мужчины (хотя возможно ее никуда особо не пускают). Но это не та картина, которую мы наблюдаем. Нужно другое объяснение.
Через это сито предрассудков первыми на работу должны пробиться одаренные женщины-прирожденные программисты.
«одаренный специалист» и «умеет пробиваться через сито предрассудков» это разные скиллы.
Женщин со средними способностями прокинут из за предвзятости.
«Способности» это нечто трудно измеримое, на работу принимают по измеряемой опыту и квалификации. А они не бывает врождёнными, и те кого откинут на нижнем уровне просто не имеют шанса дорасти до верхнего.
«одаренный специалист» и «умеет пробиваться через сито предрассудков» это разные скиллы...«Способности» это нечто трудно измеримое, на работу принимают по измеряемой опыту и квалификации.Не видел такого. Нпример, я после как-то после 3 слов взял на работу программистку без опыта и она до сих пор лучший специалист во отделе (парни приходили и покруче, но больше чем на пол-года не задерживались). Потому что если человек говорит с тобой на одном языке, это сразу понятно независимо от пола и даже опыта. Проблемы предрассудков сильно преувеличены.
Не видел такого.
Какого конкретно?
Проблемы предрассудков сильно преувеличены.
Это так кажется, пока эти предрассудки не направлены на вас. А когда ты каждый день слышишь какую-нибудь фразу, которую ничем, кроме предрассудка, объяснить нельзя (и регулярно сталкиваешься с последствиями этих фраз) — так уже не кажется.
Это так кажется, пока эти предрассудки не направлены на вас. А когда ты каждый день слышишь какую-нибудь фразу, которую ничем, кроме предрассудка, объяснить нельзя (и регулярно сталкиваешься с последствиями этих фраз) — так уже не кажется.
Вы так говорите, будто предрассудки — это что-то, что относительно мужчин не бывает.
Отнюдь. Бывает, и я регулярно с ними сталкиваюсь. Просто многие люди их не замечают (и/или не испытывают от них дискомфорта).
Скорее «не замечают». Я лично почти уверен, что ещё не до конца осознал, насколько я зависим от «мужчина должен» (хотя казалось бы — даже детей кормить не надо).
Интересно, кстати, что когда на этом же хабре в комментах кто-то говорит про неженское дело (как вы абсолютно справедливо вспомнили), то его, гм, не одобряют. Когда кто-то говорит про то, что надо кормить семью, то такого неодобрения нет. Но это так, мысли вслух.
Скорее «не замечают».
И это лишний раз подтверждает, что проблема предрассудков не преувеличена.
Собственно, ни в оригинальной фразе, ни в моем ответе не было ничего про предрассудки в сторону женщин (или вообще по гендерному признаку).
Когда кто-то говорит про то, что надо кормить семью, то такого неодобрения нет.
Я подозреваю, что от формулировки зависит. Лично меня позиция "давайте платить мужчине больше, ему семью кормить" раздражает не меньше, чем соседняя гендерно-ориентированная. Позиция "давайте платить семейному больше, у него семья" — тоже, как и позиция "людям после X лет надо больше денег, им надо семью кормить". При этом позиция "я хочу больше денег, мне семью кормить" меня лично ничем не раздражает (до тех пор, пока человек не считает, что у него большее право на деньги, чем у конкурента, которому надо кормить не семью, а хобби), потому что каждый сам для себя выбирает свои расходы.
Собственно, ни в оригинальной фразе, ни в моем ответе не было ничего про предрассудки в сторону женщин (или вообще по гендерному признаку).
Я лёгкий намёк на это распарсил в первой фразе из того, что я тогда процитировал: «Это так кажется, пока эти предрассудки не направлены на вас.» Сорян, если вы это не имели в виду.
Я подозреваю, что от формулировки зависит.
Да просто сам факт. Это (и реакция социума) реинфорсит позицию мужчины как добытчика, что мужчинадолжен (в данном случае зарабатывать бабло), не так ли?
Я лёгкий намёк на это распарсил в первой фразе из того, что я тогда процитировал
Вы распарсили неверно (что, кстати, опять показывает распространенность предрассудков). Но не суть, да.
Это (и реакция социума) реинфорсит позицию мужчины как добытчика, что мужчинадолжен (в данном случае зарабатывать бабло), не так ли?
Если в формулировке упоминается гендер, то да. Но из приведенных мной примеров это есть только в первом, и я сразу явно говорю, что это меня раздражает не меньше любого другого гендерного стереотипа.
Там по полу автора всё видно, плюс по некоторым оценкам гендерного распределения людей на хабре (ну это что касается заплюсованности/незаминусованности соответствующих комментов).
Никогда не встречались с феминистическим мнением, что когда конкретная женщина говорит, что не её дело карьеру строить, а её дело — дом-семья-быт, то, в общем, она поддерживает этим патриархат?
Там по полу автора всё видно
Эээ… но нет же. Если мужчина пишет "мне семью кормить", это не обязательно значит, что ему кормить семью, потому что он мужчина. А какие еще выводы вы можете сделать из пола автора?
Никогда не встречались с феминистическим мнением
Встречался. Я с каким-то невообразимым количеством мнений встречался, и далеко не со всеми из них согласен, безотносительно привязанного ярлыка.
Ну вот, значит, вы знаете, о чём я говорю. А отсутствие таких же возражений (при наличии аналогичных возражений женщинам про киндер-кирхе-кюхе) — ИМХО ещё один признак предубеждений, просто уровнем выше.
Предполагаю, что вы рассматриваете только подмножество программистов, делающих довольно простую и рутинную работу, исключая из выборки тех кто решает действительно сложные задачи. Это подгон под желаемый результат.
Ровно наоборот, ваше предположение — это подгонка под тот результат, который вам бы хотелось. И оно неверно: все девушки-программисты, с которыми я контактирую в компании, работают в команде, отвечающей за ядро системы, и там предостаточно "действительно сложных задач".
Через это сито предрассудков первыми на работу должны пробиться одаренные женщины-прирожденные программисты.
Снова нет: мне неизвестно о какой-либо корреляции между способностью к программированию и способности преодолевать общественное сопротивление. Вам известно? Можете показать хорошее исследование?
Женщин со средними способностями прокинут из за предвзятости.
Опять-таки, люди, которые не берут женщин на работу, потому что это женщины, в моем опыте, не смотрят на их квалификацию. Поэтому я нахожу это ваше утверждение безосновательным.
И затем мы должны наблюдать картину, когда средняя женщина программист намного круче среднего программиста мужчины
Я, прямо скажем, не понимаю, как вы оцениваете "средних", и как вы их вообще берете. Зато я могу поделиться тем наблюдением, что в конкретно моей выборке (в конкретных компаниях, опять-таки), худшая женщина-программист была лучше худшего мужчины программиста, причем с хорошим отрывом.
Необходимая оговорка — я, естественно, сравниваю в рамках сопоставимого опыта: если, грубо говоря, все девушки распределены в опыте 3-15 лет, мужчин с опытом 25-35 мы не рассматриваем.
Почему (в моей нынешней зоне наблюдения) среди разработчиков нет женщин старше — вопрос отдельно интересный, конечно.
И оно неверно: все девушки-программисты, с которыми я контактирую в компании, работают в команде, отвечающей за ядро системы, и там предостаточно «действительно сложных задач».Если так, это круто и необычно для меня. Возможно я что-то не учитываю в своих выводах.
Снова нет: мне неизвестно о какой-либо корреляции между способностью к программированию и способности преодолевать общественное сопротивление. Вам известно? Можете показать хорошее исследование?Конечно. Называется «Капитал» К. Маркса. Никакие предрассудки не заставят бизнес закономерно брать слабых женщин вместо умных женщин просто потому, что слабые лучше сумели себя подать.
Называется «Капитал» К. Маркса.
Это не исследование.
просто потому, что слабые лучше сумели себя подать.
Вообще-то, это регулярно происходит безотносительно пола собеседуемого.
Никакие предрассудки не заставят бизнес закономерно брать слабых женщин вместо умных женщин
А я, собственно, нигде и не говорил о том, чтобы брать слабых вместо сильных. Я говорил о том, что не брать вообще. И вот это я видел своими глазами.
А я, собственно, нигде и не говорил о том, чтобы брать слабых вместо сильных. Я говорил о том, что не брать вообще. И вот это я видел своими глазами.Но этот факт не связан с природной мотивированностью женщин к программированию. Т.е. предрассудки могут существовать как на пустом месте, так и на реальной почве. Для того, чтобы рассматривать природу отдельно а предрассудки отдельно я и предложил сравнивать не количество женщин и мужщин в программировании а средний уровень среди имеющихся. И дальше смотрите про китайцев-индусов и все покругу…
Но этот факт не связан с природной мотивированностью женщин к программированию.
Не связан. Потому что нет никакой "природной мотивированности" к профессиям.
Но. Вы спросили "что останавливает женщин [...] пойти в программисты" — я ответил.
я и предложил сравнивать не количество женщин и мужщин в программировании а средний уровень среди имеющихся
И как вам это поможет оценить мотивированность?
Что еще веселее, как вообще вы предлагаете оценивать (не то что сравнивать) "средний уровень"? Как правильно составить выборку? По какой методике оценивать? Как усреднять?
Если же говорить об обычных человеческих наблюдениях, то мы уже выяснили, что они у нас с вами радикально отличаются, а потому обсуждать их весьма бесполезно.
Но. Вы спросили «что останавливает женщин [...] пойти в программисты» — я ответил.Вы ответили что останавливает всех женщин, но не объяснили почему это отсеивает лучших программистов-женщин но не отсеивает худших. В целом ваш ответ был «такой аномальный отсев возможен», возможен, но это не убедительно.
И как вам это поможет оценить мотивированность?Никак. Мотивированность — самое простое объяснение аномалии в относительном качестве специалистов мужчин и женщин, которую я наблюдаю. Учитывая насколько мало женщин идут в программисты можно ожидать, что это будут просто супер-специалисты, но они в лучшем случае не уступают. Другие объяснения для меня выглядят слишком сложными и высосанными из пальца.
К слову говоря, я не уверен даже что я прав. Поэтому и поддерживал этот спор. Слишком долго его к сожалению поддерживать не получается, потому что карма и так уже улетела слишком далеко.
Вести подобные споры, увы, то же самое что отстаивать генетику во времена Мичурина. Очень неблагодарное занятие. И кстати, этот слив кармы указывает на то, что большинство поддерживает вашу позицию. Тогда где все эти жено-ненавистники о которых вы говорите непонятно.
Вы ответили что останавливает всех женщин, но не объяснили почему это отсеивает лучших программистов-женщин но не отсеивает худших.
Ну да. Я не вижу, зачем "лучших" должно отсеивать больше, чем "худших".
Учитывая насколько мало женщин идут в программисты можно ожидать, что это будут просто супер-специалисты, но они в лучшем случае не уступают. Другие объяснения для меня выглядят слишком сложными и высосанными из пальца.
Для меня высосанным из пальца выглядит утверждение "учитывая, насколько мало Х идет в У, можно ожидать, что это будут супер-специалисты".
Ну да. Я не вижу, зачем «лучших» должно отсеивать больше, чем «худших».Конечно не должно, потому и не видите.
Нарисуйте картину, как вы себе это представляете. Имеется, скажем 5% потенциально гениальных и мотивированных женщин программистов. И 15% менее способных, которые тоже хотят быть программистами.
Допустим, среди общего числа программистов женщин 5%. Тогда почему это не те 5% гениев? Какой фильтр остановил эти 5% гениев и вместо этого пропустил всех понемногу?
Предрассудки не могут фильтровать только гениев. Это вы вроде согласились.
Бизнес IT всегда берет лучших из приходящих кандидатов и никогда намеренно не будет искать посредственностей, отвергая умных (потому что посредственности «удовлетворяют требованиям»). С этим почти согласились.
Возможно эти 5% просто не идут работать программистами. Тогда это подтверждает мою теорию: женщинам не интересно. Другой мой вариант — они идут, но не реализуют свой природный потенциал в полной мере потому что им не настолько интересно как мужчинам.
Ваша версия фильтра? Моя картина проста и понятна.
Вы не можете предложить никакой убедительной картины. Вместо этого вы только обвиняете мою в недоказуемости.
Могу опять предложить гипотезу от вашего имени. Допустим, одаренные женщины не ходят идти программистами, потому что тоже верят в предрассудки, что это не для женщин и что с серьезными задачами им все равно не справиться, а посредственным все равно — они просто хотят денег. Т.е. женская половина человечества просто еще не открыла для себя всю притягательность IT и не верит что может работать наравне с мужчинами. Это возможно, хотя не очень соответствует тому что я вижу.
Замечание: ваш пример с любителями бабочек в другом сообщении ошибочен. Если бы любители бабочек подвергались необоснованной дискриминации при приеме на работу программистами, то средний любитель бабочек тоже был бы лучше среднего не-любителя по тем же причинам: бизнес предубежденный против любителей бабочек принимал бы их только если они действительно блестящие специалисты.
Имеется, скажем 5% потенциально гениальных и мотивированных женщин программистов.
Не так. Имеется 5% потенциально гениальных и, вообще говоря, независимо выбранные 5% мотивированных.
1. Утверждение, что есть некая «врождённая гениальность в программировании», которая видна работодателю сразу и бесспорно. Уже от рождения известно, что конкретно эта девочка может попасть в те самые 5% гениальных программистов.
2. Утверждение, что такая «гениальность» не всеобщая, а конкретно в программировании.
Я не вижу этому сколько-нибудь заметных подтверждений. Можно ли было в возрасте 10 лет сказать про Дональда Кнута или Линуса Торвальдса, что они станут программистами хоть чуть выше среднего? Или что они не стали бы отличными хирургами, космонавтами или водителями автобусов?
Что ещё важнее, а понимали ли они сами это, чтобы делать хоть какие-то усилия чтобы куда-то «отфильтровываться»?
Ну то есть теперь, постфактум, конечно можно найти кучу свидетелей, которые «уже тогда видели». А реально, посмотрите на группу школьников — кто из них в будущем станет гуру программирования? Да даже на собеседовании джуна попробуйте понять, кем он будет через 5 лет.
Ваша версия фильтра?
Вы правильно описали, но только с поправкой — это не сами девочки «не верят», а их окружение. Например, я изучал компьютеры с 1 класса, на кружок по программированию пошёл в 7м. Даже если у меня и был к тому интерес, то всё равно это не было 100% только моё желание, особенно в коллективе, где от мальчика уже много лет ожидается любить футбол и программирование, а от девочки шитьё и готовку. И уж тем более я в том возрасте не понимал «всю притягательность IT», а просто ходил в школу как положено.
В Вашей теории есть сразу 2 спорных момента:Эти моменты спорные, но они симметрично влияют и на статистику для мужчин, если предполагать что мужчины и женщины одинаковы. В итоге аномалия с гениальными женщинами в IT все равно должна работать.
Если бы природные способности вкупе с природными мотивациями вообще почти ни на что не влияли, тогда да, это испортило бы картину. Но по моим наблюдениям почти только они и важны.
Да даже на собеседовании джуна попробуйте понять, кем он будет через 5 лет.Если нужно отличить два противоположных типа людей — будущих блестящих специалистов и обузу для коллектива, то по-моему это очень легко отличить.
Вы правильно описали, но только с поправкой — это не сами девочки «не верят», а их окружение. Например, я изучал компьютеры с 1 класса, на кружок по программированию пошёл в 7м. Даже если у меня и был к тому интерес, то всё равно это не было 100% только моё желание, особенно в коллективе, где от мальчика уже много лет ожидается любить футбол и программирование, а от девочки шитьё и готовку. И уж тем более я в том возрасте не понимал «всю притягательность IT», а просто ходил в школу как положено.У меня другой опыт из конца 80-х. Я не ходил на кружки, но все детство ждал и мечтал, пока в продаже появятся компьютеры. Когда появились всякие БК-РК (в 8-м классе), сидел безвылазно. При этом программистом я быть не планировал (IT как отрасли еще не существовало), на программирование не поступал и начал пытаться жить программированием только после института. Получалось не очень, действительно пошло только после 38 лет.
Мой одноклассник тоже мечтал «о подвале с электроникой как у доктора зло», купил комп и сидел за ним днями и ночами. После многих попыток в программисты так и не пробился. Отец моего друга работал сантехником. Он купил комп и сидел с ним ночами, не планируя менять род деятельности (его дети стали программистами). И так далее.
Я здесь не вижу каким образом «окружение» заставляло нас всем этим заниматься. Это был просто некий техно-инстинкт в чистом виде. И я не уверен, что при должном воспитании он в той же степени был бы свойственен женщинам. В какой-то да, но не уверен что в той же.
Сейчас ситуация размылась: компьютеры везде, одиночка не может сделать ничего существенного а программирование стало просто обычной профессией, поэтому та важность изначальной природной мотивации и различия в мотивациях, которые мне были видны со всей очевидностью сейчас не так заметны.
Мой одноклассник тоже мечтал «о подвале с электроникой как у доктора зло» [...] Я здесь не вижу каким образом «окружение» заставляло нас всем этим заниматься.
Какого пола Доктор Зло?
Это был просто некий техно-инстинкт в чистом виде. И я не уверен, что при должном воспитании он в той же степени был бы свойственен женщинам.
Вы слышали про Грейс Хоппер?
Какого пола Доктор Зло?Конечно-же его привлекал подвал доктора Зло а не пример доктора Зло. Вообще, это было в СССР, «доктор зло» — это мой сегодняшний обобщенный образ, неизвестный на тот момент детям и я не помню в каком контексте в его мечте фигурировал этот подвал с компьютерами.
Вы слышали про Грейс Хоппер?Отличный пример. Девочка родилась с стойким врожденным влечением к технологиям и в результате ни женское воспитание, ни окружение ни предрассудки (это в начала 20-го века то, когда непокорное дитя родители могли в психушку сдать или лоботомию сделать!), не смогли ее остановить. Отсюда следует, что основной фактор успеха в области технологий — природная тяга к технологиям а не то, кем ребенка видит общество, предрассудки, воспитание, социальные препоны.
О том, насколько часто с подобной тягой рождаются девочки и мальчики этот пример ничего нам не говорит.
Ответить на другое ваше сообщение уже карма не позволяет. Общая суть ответа была бы в том, что вы не желаете объяснять механизм (случайность и все), хотя случайность там где должна быть закономерность просто так не рождается. Насчет overqualified-кандидата — он все равно найдет работу в другом месте а вашу компанию смутили по сути его явные перспективные зарплатные и карьерные ожидания а не его квалификация.
Очень важно, чтобы этот спор не воспринимали всерьез прочитавшие его женщины программисты. Обращаясь к ним: любая cтатистика в любом случае большая ложь и средняя температура по больнице. Если вы лично (девушка-программист) что-то хотите и добиваетесь этого, никакая статистика по вашему полу не должна вас волновать :).
Конечно-же его привлекал подвал доктора Зло а не пример доктора Зло.
А как вы можете это достоверно определить? Какой механизм позволяет вам сказать, что привлекательность этого подвала для мальчиков и девочек не различалась благодаря полу Доктора Зло?
О том, насколько часто с подобной тягой рождаются девочки и мальчики этот пример ничего нам не говорит.
По крайней мере, он говорит нам, что эта тяга не является исключительно мужской прерогативой.
Общая суть ответа была бы в том, что вы не желаете объяснять механизм (случайность и все), хотя случайность там где должна быть закономерность просто так не рождается.
Ровно наоборот: закономерности так просто не рождаются. Поэтому начинать надо с гипотезы, что процесс случаен, а потом пытаться ее опровергнуть.
Насчет overqualified-кандидата — он все равно найдет работу в другом месте а вашу компанию смутили по сути его явные перспективные зарплатные и карьерные ожидания а не его квалификация.
Но на наблюдаемое мной (и особенно — моими коллегами, которые не ведут собеседования) распределение навыков это повлияет.
В целом все это типичные приемы демагогии. Так спорить неинтересно.
Первый аргумент — слишком слабый
… вы так говорите.
третий не верен применительно к нашему случаю (рекрутинг изначально не случаен с обоих сторон)
А кто что-то говорил о рекрутинге? Речь шла о том, кто стал программистом, а это не рекрутинг.
Потому что как только мы говорим о целенаправленном рекрутинге, надо говорить, по каким критериям этот рекрутинг проводился, а этого нигде не было сделано.
четвертый — опять подмена начального тезиса
Отнюдь. Я просто показываю, почему наблюдаемые распределения могут отличаться от общих.
речь о всем рынке IT
А вы лично наблюдаете за всем рынком IT, чтобы делать о нем выводы? Я вот точно нет.
Если бы природные способности вкупе с природными мотивациями вообще почти ни на что не влияли, тогда да, это испортило бы картину. Но по моим наблюдениям почти только они и важны.
Проблема в том, что эти «наблюдения» регистрируют неизмеримо слабый шум на фоне огромного сигнала ошибки выжившего. Никто не пробловал провести эксперимент строго одинакового воспитания мальчиков и девочек с замерами что из этого вышло.
Я здесь не вижу каким образом «окружение» заставляло нас всем этим заниматься. Это был просто некий техно-инстинкт в чистом виде.
Уже после 3х лет говорить об инстинктах слишком сложно. С одной стороны я тоже на удивление замечаю, что в 2 года моему сыну интересны тракторы а дочери куклы. С другой — я лишь хочу себя тешить уверенностью, что я воспитывал их одинаково (включая выбор одежды, слов, интонаций). При этом абсолютно очевидно, что бабушки/дедушки, друзья, садик и т.д. не настроены так нейтрально. В какой степени это повлияло — можно только гадать, измеримых данных нет.
Сложно сказать, где тут «природная мотивация», а где влияние общества.
Тогда почему это не те 5% гениев?
А почему должны быть?
Какой фильтр остановил эти 5% гениев и вместо этого пропустил всех понемногу?
Например, случайный отбор.
Ваша версия фильтра?
… вот, например, случайный отбор. В этом случае, при ваших цифрах, на больших выборках вы будете наблюдать среди всех программистов распределение, близкое к оригинальному (т.е. ~1/4 "гениев").
Бизнес IT всегда берет лучших из приходящих кандидатов
Это, заметим не всегда так. Мы вот в прошлом году не взяли "лучшего" кандидата, потому что этот кандидат был overqualified для нашей позиции. На одного, в вашей терминологии, гения меньше в нашем распределении.
Могу опять предложить гипотезу от вашего имени.
Пожалуйста, предлагайте свои гипотезы от своего имени.
Замечание: ваш пример с любителями бабочек в другом сообщении ошибочен.
Отнюдь, я достаточно аккуратно его переписал из вашего текста.
бизнес предубежденный против любителей бабочек принимал бы их только если они действительно блестящие специалисты.
… и вы только что это подтвердили, приведя ту же самую аргументацию.
К слову, отказать overqualified человеку, если он сам на позицию стремится — это адский ад. Правильным здесь должно быть расписать позицию максимально достоверно, чтоб он сам отказался, если не готов. А если готов, то на это должны быть причины. Например, жрать нечего, потому что все ему на основании этого overqualified отказывают!
О, множество вещей, вот прямо начиная с общественной позиции "это не женское дело" и распространенного мнения, что женщины худшие программисты, чем мужчины.
Забавно, что у вашего оппонента отсылки к распространённости вы критикуете, но при этом сами же их делаете.
У вас есть что-то кроме anecdotical evidence?
На следующем месте будут наниматели, которые принципиально не берут женщин на работу, потому что, в числе прочего, женщина может в любой момент уйти в декрет, а зачем им это надо.
Есть работодатели, которые не берут мужчин без военного билета, потому что они могут уйти в армию.
У вас есть что-то кроме anecdotical evidence?
Лично у меня — нет.
Есть работодатели, которые не берут мужчин без военного билета, потому что они могут уйти в армию.
Есть.
Лично у меня — нет.
Ну, тогда я только могу повторить предыдущую фразу про забавность.
Есть.
То есть, получается, что разницы-то между полами в этом плане и нет? А учитывая, что декрет закон защищает, а уход в армию — нет (за вами не обязаны держать место), и в требованиях к работнику вы можете написать «наличие военного билета», но не можете написать «бесплодность» или, не знаю, «неуход в декрет за всё время работы под угрозой штрафа в 100500 денег», то что ж получается? Получается, что женщинам тут лучше?
Ну, тогда я только могу повторить предыдущую фразу про забавность.
Я, собственно, с ней и не спорю.
То есть, получается, что разницы-то между полами в этом плане и нет?
Нет, не получается. В моих наблюдениях работодатели, которые не берут мужчин из-за армии, встречаются намного реже чем те, которые не берут женщин из-за декрета.
Получается, что женщинам тут лучше?
Не, не получается. Именно потому, что (в России в этой области) закон смещен в сторону защиты женщин, женщины оказываются менее привлекательными кандидатами для работодателей.
Нет, не получается. В моих наблюдениях работодатели, которые не берут мужчин из-за армии, встречаются намного реже чем те, которые не берут женщин из-за декрета.
А по моим — ровно наоборот.
Именно потому, что (в России в этой области) закон смещен в сторону защиты женщин, женщины оказываются менее привлекательными кандидатами для работодателей.
На закон, я слышал, можно влиять.
Предполагая, что среди женщин есть рациональные агенты, и предполагая, что женщины действительно оказываются менее привлекательными, можно было бы ожидать наличия более-менее выраженных идей типа «а давайте отменим обязательный декрет» или хотя бы «а давайте добавим в ТК возможность прописывать отказ в трудовом договоре от возможности ухода в декретный отпуск».
Однако, мы этого почему-то не наблюдаем.
А по моим — ровно наоборот.
Вполне возможно.
На закон, я слышал, можно влиять.
Можно.
Однако, мы этого почему-то не наблюдаем.
Что, в частности, может означать, что ваш рациональный подход к проблеме отличается от рационального подхода других людей.
Что, в частности, может означать, что ваш рациональный подход к проблеме отличается от рационального подхода других людей.
Рациональный подход — это такая штука, которая при равных вводных приводит к равному результату.
Так что либо среди женщин нет рациональных агентов (с чем даже последний сексист не согласится, думаю), либо они считают, что профиты от защиты перевешивают недостатки от порождаемой ей непривлекательности.
Либо, конечно, ну вот просто везёт мне не натыкаться на такие мнения, но внутренний Байес говорит, что этим событием можно пренебречь.
Рациональный подход — это такая штука, которая при равных вводных приводит к равному результату.
Но почему вы думаете, что у вас равные вводные? Одна из проблем общественных начинаний именно в том, что вводные слишком обширны и разнообразны, чтобы различные рациональные агенты опирались на гарантированно один и тот же их набор.
Я исхожу из довольно небольшого множества предположений. Помимо уже упомянутых, например, это и желание быть привлекательным в глазах работодателя и строить карьеру (или что-то такое, лень формулировать формально). Понятно, что если женщинам плевать на карьеру, то от привлекательности будет ни холодно, ни жарко.
10 признаков того, что хороший программист из вас не получится