Сегодня пост по-субботнему, ссылка, причём на перевод. Очень хорошо написано и не менее хорошо переведено.
https://habr.com/ru/post/450508/
https://habr.com/ru/post/450508/
Хабр
Джо Армстронг об Elixir, Erlang, ФП и ООП
В последние несколько дней на Хабре был опубликован ряд статей, общим лейтмотивом которых (особенно в комментариях) стало противостояние тупоконечников с остроконечниками – адепты ФП против ООП, хотя...
Совершенно очевидно, что за работу программиста нужно платить. Уже менее очевидно, но все ещё достаточно понятно сколько конкретно нужно платить тому или иному программисту. И совершенно неочевидно и совсем запутанно с тем, что же ещё влияет на желание работать и продуктивность разработчика.
Многие компании идут по пути наименьшего сопротивления и увеличивают разнообразие печенек на кухне, экзотичность кофейных зёрен, стриптизерш с иксбоксами и теннисных столов с корпоративами. Это, конечно же, помогает, но ненадолго.
Главными же побудителями хорошего настроения на работе является то, что составляет подавляющую часть рабочего процесса.
Если работа состоит в программировании, то важны технологии, техпроцесс и взаимодействие в команде. Если работа состоит в общении, то важным нужно считать дружелюбность и адекватность коллектива. Если работа состоит в организации всякого разного, то важным нужно считать правильно организованные штуки, вроде корпоративов или внутриофисных чемпионатов по бобслею. Ну, и так далее.
Очень жаль, что повышением настроения для тех, кто в основном программирует и заполняет джиру, занимаются те, кто в основном организовывает праздники и выбирает принты на футболки.
Многие компании идут по пути наименьшего сопротивления и увеличивают разнообразие печенек на кухне, экзотичность кофейных зёрен, стриптизерш с иксбоксами и теннисных столов с корпоративами. Это, конечно же, помогает, но ненадолго.
Главными же побудителями хорошего настроения на работе является то, что составляет подавляющую часть рабочего процесса.
Если работа состоит в программировании, то важны технологии, техпроцесс и взаимодействие в команде. Если работа состоит в общении, то важным нужно считать дружелюбность и адекватность коллектива. Если работа состоит в организации всякого разного, то важным нужно считать правильно организованные штуки, вроде корпоративов или внутриофисных чемпионатов по бобслею. Ну, и так далее.
Очень жаль, что повышением настроения для тех, кто в основном программирует и заполняет джиру, занимаются те, кто в основном организовывает праздники и выбирает принты на футболки.
«Я все, конечно, понимаю, но вы представляете себе праздник, организованный разработчиком? Ящик пива, мешок чипсов и турнир по третьему квейку — это максимум», пишет нам читатель «Экстраполяции» с крайне неочевидной отсылкой. Он, безусловно, прав. Программисты не умеют организовывать праздники, они умеют программировать.
Но вот глобальное заблуждение такой риторики состоит в том, что разработчикам плевать на праздники, им сильно не плевать на программирование вообще и проект в частности. Праздники, корпоративы, тимбилдинги и всякое такое, безусловно могут быть, и польза от таких штук есть. Но если в проекте используется джава 1.2 и джиквери, нет автотестов и дедлайны всегда сорваны, то корпоративы, иксбоксы и конкурсы будут чем-то вроде подорожника при открытом переломе.
Ответственным за хорошее настроение лучше бы заняться организацией труда, а не отдыха. Самое важное, что вы можете сделать для отдыха разработчиков, так это не мешать им отдыхать.
Но вот глобальное заблуждение такой риторики состоит в том, что разработчикам плевать на праздники, им сильно не плевать на программирование вообще и проект в частности. Праздники, корпоративы, тимбилдинги и всякое такое, безусловно могут быть, и польза от таких штук есть. Но если в проекте используется джава 1.2 и джиквери, нет автотестов и дедлайны всегда сорваны, то корпоративы, иксбоксы и конкурсы будут чем-то вроде подорожника при открытом переломе.
Ответственным за хорошее настроение лучше бы заняться организацией труда, а не отдыха. Самое важное, что вы можете сделать для отдыха разработчиков, так это не мешать им отдыхать.
Из отзывов к посту об пулл реквестах:
«А у нас борясь с херовыми кодревью решили, что кодревью станет лучше, если потребовать по два аппрува на пулл-реквест, вместо одного»
«А у нас борясь с херовыми кодревью решили, что кодревью станет лучше, если потребовать по два аппрува на пулл-реквест, вместо одного»
В телеграме работа с публичными каналами кардинально отличается от привычных площадок. В ютубе, например, все блоггеры, как один, начали просить нажимать на колокольчик, чтобы мгновенно узнавать о новой публикации, новостные ресурсы начали добавлять бесячую браузерную нотификацию о новых постах. А в телеграме же с точностью до наоборот. Пользователей просят нажимать «mute», чтобы новые посты не раздражали. Даже тем, кто не убрал звук оповещений, сообщение не приходит благодаря особому тихому режиму отправки сообщений. Попробуйте отжать «mute» на недельку на канале и убедитесь сами — появится значок непрочитанного сообщения, но форсированное уведомление приходить не будет. За другие каналы ручаться не могу :-)
Ещё в телеграме всё ещё напрочь отсутствуют встроенные механизмы продвижения и популяризации каналов. Тут нет вкладки «тренды», нет «мои друзья читают», нет «рекомендаций». С точки зрения пользователя это безусловный плюс. И именно поэтому масса каналов изобилует рекламой других каналов и подборками каналов. Просто это чуть ли не единственный способ рассказать о канале новым читателям. «Экстраполяция» уже давно не рекламируется в других каналах, а рекламы в «Экстраполяции» вообще никогда не было.
Интересно подмечено, что любой пост в канале — это причина мгновенного уменьшения подписчиков на пять-десять человек. Потом, со временем количество подписчиков восстанавливается. Наверное, автоудаляются аккаунты, которые давно не заходили и телеграм их удаляет, а с каналов отписка происходит в момент доставки публикации в удаленный аккаунт.
Хочу попросить вас, мои любимые, рассказать о моем канале вашим друзьям. В телеграме ли, на фейсбуке ли. Может даже при личном контакте. Особенно приятно мне будет, если вы вместе со ссылкой на «Экстраполяцию» опубликуете понравившийся пост у себя на соц.страничке.
Люблю, целую, ваша «Экстраполяция».
Ссылка для ответственных, но ленивых: https://t.iss.one/itextrapolation
Ещё в телеграме всё ещё напрочь отсутствуют встроенные механизмы продвижения и популяризации каналов. Тут нет вкладки «тренды», нет «мои друзья читают», нет «рекомендаций». С точки зрения пользователя это безусловный плюс. И именно поэтому масса каналов изобилует рекламой других каналов и подборками каналов. Просто это чуть ли не единственный способ рассказать о канале новым читателям. «Экстраполяция» уже давно не рекламируется в других каналах, а рекламы в «Экстраполяции» вообще никогда не было.
Интересно подмечено, что любой пост в канале — это причина мгновенного уменьшения подписчиков на пять-десять человек. Потом, со временем количество подписчиков восстанавливается. Наверное, автоудаляются аккаунты, которые давно не заходили и телеграм их удаляет, а с каналов отписка происходит в момент доставки публикации в удаленный аккаунт.
Хочу попросить вас, мои любимые, рассказать о моем канале вашим друзьям. В телеграме ли, на фейсбуке ли. Может даже при личном контакте. Особенно приятно мне будет, если вы вместе со ссылкой на «Экстраполяцию» опубликуете понравившийся пост у себя на соц.страничке.
Люблю, целую, ваша «Экстраполяция».
Ссылка для ответственных, но ленивых: https://t.iss.one/itextrapolation
Telegram
Экстраполяция IT
Канал об IT в целом и о программировании в частности.
На канале объявлено военное положение и поэтому по вопросам рекламы пишите: @aratak, а деньги отправляйте сюда: https://send.monobank.ua/jar/97f7LwGQJF
На канале объявлено военное положение и поэтому по вопросам рекламы пишите: @aratak, а деньги отправляйте сюда: https://send.monobank.ua/jar/97f7LwGQJF
Высшее образование не нужно только тем, кто не умеет им пользоваться. Джобс, Цукерберг и Гейтс добились успехов не из-за отсутствия высшего образования, а несмотря на то, что его не было.
#перечитываяэкстраполяцию
#перечитываяэкстраполяцию
После поста о том, как правильно организовывать ревью пулл реквеста все ещё остались вопросы и недопонимания этой техники. Дополняю.
1. Обычно ревьюверам нет дела до пулл реквестов соседей по парте, пока этот пулл реквест к ним не относится.
2. Отвлекаться от текущей задачи не хочется вообще, поэтому ревью пулл реквестов становится обузой.
3. Ревьювер не может быть слишком строгим, потому как относится к нему, как к человеку могут стать хуже.
В итоге проблема сводится к тому, чтобы вовлечь ревьювера в работу этого пулл реквеста. И «вовлечь» это:
1. Дать ревьюверу чувство ответственности за пулл реквест.
2. Показать исполнителю, что ревьювер — это не формальность или бюрократия.
3. Наладить правильный диалог между этими двумя.
Метод «командир-исполнитель» хорошо решает эту проблему. К слову, название у этого подхода крайне дурацкое.
Поможете придумать адекватное? Пишите в личку (@aratak), отберу лучшие и устроим голосование.
1. Обычно ревьюверам нет дела до пулл реквестов соседей по парте, пока этот пулл реквест к ним не относится.
2. Отвлекаться от текущей задачи не хочется вообще, поэтому ревью пулл реквестов становится обузой.
3. Ревьювер не может быть слишком строгим, потому как относится к нему, как к человеку могут стать хуже.
В итоге проблема сводится к тому, чтобы вовлечь ревьювера в работу этого пулл реквеста. И «вовлечь» это:
1. Дать ревьюверу чувство ответственности за пулл реквест.
2. Показать исполнителю, что ревьювер — это не формальность или бюрократия.
3. Наладить правильный диалог между этими двумя.
Метод «командир-исполнитель» хорошо решает эту проблему. К слову, название у этого подхода крайне дурацкое.
Поможете придумать адекватное? Пишите в личку (@aratak), отберу лучшие и устроим голосование.
Telegram
Экстраполяция IT
Мнения по поводу целей пулл реквестов разделились, значит подбросим ещё дровишек в огонь.
Как уже сказал Дима, ревью пулл реквеста нужно глобально только по двум причинам: с целью улучшения техники или стратегии. Техника — это когда Фаулер доволен и тесты…
Как уже сказал Дима, ревью пулл реквеста нужно глобально только по двум причинам: с целью улучшения техники или стратегии. Техника — это когда Фаулер доволен и тесты…
Сверхквалификация, как современный тренд разработчиков.
Уже неоднократно слышу от разработчиков о том, что на собеседовании отказывают по причине того, что разработчик прямо чересчур крут и вообще, амбиции компании намного ниже, чем зведность и ослепительность разработчика.
Это далеко не единичный случай и у этой проблемы несколько сторон. Попробуем обсудить эту штуку коллективно под тегом #экстраквалификация, пишите свои мысли личным сообщением. И тег не забывайте писать, а то потеряю сообщение ваше.
Уже неоднократно слышу от разработчиков о том, что на собеседовании отказывают по причине того, что разработчик прямо чересчур крут и вообще, амбиции компании намного ниже, чем зведность и ослепительность разработчика.
Это далеко не единичный случай и у этой проблемы несколько сторон. Попробуем обсудить эту штуку коллективно под тегом #экстраквалификация, пишите свои мысли личным сообщением. И тег не забывайте писать, а то потеряю сообщение ваше.
Очевидно, что арбалет, как устройство появилось значительно позже лука. Проблема, которую решал создатель арбалета достаточно проста и очевидна — хотелось сохранить кинетическую энергию натянутой тетивы без участия мускулатуры стрелка. В итоге арбалет получился более громоздким, менее дальнобойным, более дорогим в изготовлении, менее скорострельным, менее убойным на средних дистанциях. Лук (особенно длинный лук) уделывал арбалет по всем показателям, тем не менее, после популяризации арбалета практически все армии так или иначе использовали в первую очередь именно арбалет, а не лук. И причина этому очень простая.
Чтобы вырасти и Робином Гудом и сделать так, чтобы стрела хотя бы летела в нужном направлении, не говоря уже о хоть какой-нибудь точности, нужно потратить не один месяц, а может быть даже и не один год. А получить целый отряд справных лучников, работающих в команде, еще менее вероятно и более тяжело. А вот с арбалетами и арбалетчиками все намного проще, ведь пары часов инструктажа вполне достаточно, чтобы организовать заградительную стену стрел в ближайшей стычке с врагом. Экономически и стратегически легче найти и нанять десять арбалетчиков и вручить им десять арбалетов, чем воспитать одного лучника.
Само собой, сеньор-лучник будет в пять раз лучше любого джуниора-арбалетчика и бюрократии для одного лучника не требуется вовсе. И организовывать командную работу одному лучнику не нужно. На десять арбалетчиков нужно еще одного тим-лида, пару офис-менеджеров и одного кадрового агента, чтобы заменять убитых и уволенных арбалетчиков и придворного организатора праздников, чтобы развлекал толпу арбалетчиков, пока те не стреляют. В итоге владение луком стало приятным бонусом при найме арбалетчиков, а потом лук и вовсе перерастёт скорее в хобби, чем в основную профессию. Хотя, безусловно, на конференциях арбалетчиков говорят все исключительно о том, как правильно владеть луком и как сильно техника владения луком помогает стрелять из арбалета. И что на десять арбалетчиков в команде нужно иметь пару лучников. И что если бы все десять тысяч арбалетчиков в регулярной армии владели бы луком, то можно было бы и Византию захватить.
Но все мы знаем, что в результате побеждает стандартизация, а не профессионализм.
#перечитываяэкстраполяцию
Чтобы вырасти и Робином Гудом и сделать так, чтобы стрела хотя бы летела в нужном направлении, не говоря уже о хоть какой-нибудь точности, нужно потратить не один месяц, а может быть даже и не один год. А получить целый отряд справных лучников, работающих в команде, еще менее вероятно и более тяжело. А вот с арбалетами и арбалетчиками все намного проще, ведь пары часов инструктажа вполне достаточно, чтобы организовать заградительную стену стрел в ближайшей стычке с врагом. Экономически и стратегически легче найти и нанять десять арбалетчиков и вручить им десять арбалетов, чем воспитать одного лучника.
Само собой, сеньор-лучник будет в пять раз лучше любого джуниора-арбалетчика и бюрократии для одного лучника не требуется вовсе. И организовывать командную работу одному лучнику не нужно. На десять арбалетчиков нужно еще одного тим-лида, пару офис-менеджеров и одного кадрового агента, чтобы заменять убитых и уволенных арбалетчиков и придворного организатора праздников, чтобы развлекал толпу арбалетчиков, пока те не стреляют. В итоге владение луком стало приятным бонусом при найме арбалетчиков, а потом лук и вовсе перерастёт скорее в хобби, чем в основную профессию. Хотя, безусловно, на конференциях арбалетчиков говорят все исключительно о том, как правильно владеть луком и как сильно техника владения луком помогает стрелять из арбалета. И что на десять арбалетчиков в команде нужно иметь пару лучников. И что если бы все десять тысяч арбалетчиков в регулярной армии владели бы луком, то можно было бы и Византию захватить.
Но все мы знаем, что в результате побеждает стандартизация, а не профессионализм.
#перечитываяэкстраполяцию
Во многих языках есть штука, которую называют «тернарным оператором». Как правило, эта штука записывается, как
Даже если вы не знаете латинского, то совершенно очевидно, что смысл слова «тернарный» означает «тройной», что по сути сводит смысл оператора к тому, что у этого оператора три, вместо двух аргументов. Ну, вот оператор сложения
Это если бы в маленьком городке жил один негр по имени Степан Илларионович, а всё село его бы вместо этого называло Негр. Потому что он у них такой один. Вот такое себе легкое проявление расизма в программировании, ребята.
#перечитываяэкстраполяцию
'c ? t : f'
. Штука замечательная, без споров, но вот её название звучит как-то коряво.Даже если вы не знаете латинского, то совершенно очевидно, что смысл слова «тернарный» означает «тройной», что по сути сводит смысл оператора к тому, что у этого оператора три, вместо двух аргументов. Ну, вот оператор сложения
(a+b)
— с двумя аргументами, но мы не называем его «бинарным оператором», так как таких операторов у нас много и совершенно непонятно о каком конкретно операторе речь. А вот тернарник у нас один, и все как-то привыкли, что «тернарный оператор» — это на самом деле «условный оператор в тернарной форме».Это если бы в маленьком городке жил один негр по имени Степан Илларионович, а всё село его бы вместо этого называло Негр. Потому что он у них такой один. Вот такое себе легкое проявление расизма в программировании, ребята.
#перечитываяэкстраполяцию
. Небольшой дисклеймер. Всей редакции «Экстраполяции» в полном составе кажется, что корректных мнений может быть несколько и то, что декларируется в канале лишь мнение одного из авторов. Авторы даже не должны быть согласны друг с другом, чтобы опубликовать пост в канале.
Более того, ваши мнения, которые вы присылаете, публикуются в канале не по принципу схожести мышления, а только если мысль сформулирована целостно и мысль не сильно банальная. А согласен ли я с ней или не согласен не имеет никакого значения. Об этом как-то отдельно напишем.
#экстраквалификация от трёх подписчиков. Предысторию ищите по тегу.
1. Я всегда думал, что под сверхквалификацией просто подразумевают «парень, ты слишком много хочешь!».
2. Если ты оверквалифайед в одном месте - то иди в то место, где ты недоквалифайед и расти там.
3. Мне кажется, что причина прагматичная и на поверхности. Таким крутым спецам будет скучно на проекте и вскоре они слиняют, т.к. скукота и рутина будет их угнетать.
Интервьюеру приходится на собеседовании тяжелее, чем кандидату по многим причинам. И, как следствие, интервьюер должен быть как бы опытнее и умнее кандидата, иначе какое, к черту, это собеседование. Это более-менее очевидно, да?
Ещё понятно, что компании очень хочется получить сотрудника, набор знаний и умений которого расширит общий набор знаний и умений в компании. Иначе говоря, новый чувак должен знать и уметь что-то такое, что не знает чувак, который его собеседует. Вроде бы мысль простая и вывод тоже простой.
И, соответственно, цель собеседования — выяснить в чем же таком крут кандидат, в чем вообще не крут интервьюер и его команда.
Получается, интервьюер должен быть умнее и опытнее там, где интервьюер разбирается хуже, чем кандидат. Чертовщина какая-то.
#экстрасобеседование
Ещё понятно, что компании очень хочется получить сотрудника, набор знаний и умений которого расширит общий набор знаний и умений в компании. Иначе говоря, новый чувак должен знать и уметь что-то такое, что не знает чувак, который его собеседует. Вроде бы мысль простая и вывод тоже простой.
И, соответственно, цель собеседования — выяснить в чем же таком крут кандидат, в чем вообще не крут интервьюер и его команда.
Получается, интервьюер должен быть умнее и опытнее там, где интервьюер разбирается хуже, чем кандидат. Чертовщина какая-то.
#экстрасобеседование
Опять про пулл реквесты. Прошлый раз мы пытались придумать название этой методологии и, признаться честно, вариантов хороших нет. Был «метод самурая» но там вообще как бы не о самурайстве, был «master/slave», но никому не охота быть рабом, была даже раздача военных званий, вроде «один лейтенант, а второй сержант». Но это все не то.
Лучшее, что удалось придумать — это «метод наводчика».
Всем известно, что прежде чем жахнуть из гаубицы, нужно знать куда жахать. И после всех совместных тактических и стратегических рассуждений один мастерски говорит куда, а второй мастерски жахает.
Название тоже не идеальное, но вроде как соответствует сути. Что думаете?
Лучшее, что удалось придумать — это «метод наводчика».
Всем известно, что прежде чем жахнуть из гаубицы, нужно знать куда жахать. И после всех совместных тактических и стратегических рассуждений один мастерски говорит куда, а второй мастерски жахает.
Название тоже не идеальное, но вроде как соответствует сути. Что думаете?
Как известно, обучаться лучше всего на практике и очень желательно, чтобы практика была своей, а не чужой. Учиться лучше всего на ошибках, правда ведь?
Метод наводчика предполагает, что наводчиком может быть и молодой разработчик, а опытный будет исполнителем. В этом случае за молодым будет окончательное решение, но это не значит, что опытный должен выключить мозги и работать клавишами, нет. У опытного будет сложная задача давать советы, аккуратно возражать и так помогать, чтобы решение действительно было принято молодым наводчиком, а не опытным бойцом. Но решение должно быть принято правильное.
В методе наводчика это и есть немаловажный бонус, который получается как бы сам собой. Джуны учатся быстрее и правильнее и на своих действиях, а не на чужих. Да и забористые сеньоры тоже учатся правильно обучать молодняк.
Метод наводчика предполагает, что наводчиком может быть и молодой разработчик, а опытный будет исполнителем. В этом случае за молодым будет окончательное решение, но это не значит, что опытный должен выключить мозги и работать клавишами, нет. У опытного будет сложная задача давать советы, аккуратно возражать и так помогать, чтобы решение действительно было принято молодым наводчиком, а не опытным бойцом. Но решение должно быть принято правильное.
В методе наводчика это и есть немаловажный бонус, который получается как бы сам собой. Джуны учатся быстрее и правильнее и на своих действиях, а не на чужих. Да и забористые сеньоры тоже учатся правильно обучать молодняк.
Давайте поговорим об локальном и глобальном экстремуме.
Наверняка многие из вас помнят этот термин из школьно-институтского курса, но я все равно напомню. Экстремум — эта такая штука, которая показывает максимальное значение функции в каком-то интервале. Если говорить об экстремуме функции, и если нарисовать функцию с помощью графика, то визуально экстремум найти очень просто. А вот если нужно найти экстремум в чем-то таком, которое нарисовать сложно и вообще понять где там параметры, то сделать это крайне нетривиально.
Допустим, нужно найти идеальный алкогольный напиток. И есть такой вот нехитрый способ. Берем совершенно любой напиток и начинаем потихоньку его улучшать. С каждым новым улучшением мы приближаемся к идеальному напитку и будем делать это до тех пор, пока любое изменение продукта не будет приводить к его ухудшению. Когда мы достигнем такого состояния, мы по идее должны получить идеальный напиток. Все хорошо, только мы таким способом получаем локальный экстремум, а не глобальный. А вот глобальный экстремум найти таким способом гарантировано не получится.
Вот пиво, как напиток, появилось очень давно (V век до нашей эры) и служило с одной целью — получить алкогольный напиток хоть каким-нибудь способом. Пиво горькое, невкусное, но голову кружит и язык развязывает. Поэтому пиво начали закусывать всякими сильнодействующими закусками с ярко выраженным вкусом, допустим рыбой. Таким образом пиво хоть как-то можно было пить, хоть немного забив его горький вкус. Позже получили способ достигать алкогольного опьянения более эффективно, но пиво, как напиток осталось. Время шло, пиво варили все лучше и лучше, закуски находили все изысканней и хитрее. Пиво, как пиво сейчас уже тяжело улучшить, хотя идеальным этот напиток назвать нельзя. Более того, за последние десятилетия появилось безалкогольное пиво! Безалкогольное, ребята! То, ради чего пиво, собственно, создавалось, сейчас безбожно убрали из этого напитка, оставив все то, за что пиво ненавидели последние семь тысяч лет — горький вкус и неприятное послевкусие. Путем постепенных улучшений и маленькими шагами человечество получило горький невкусный безалкогольный напиток из напитка, целю которого изначально был алкоголь. Если бы человечество стремилось получить идеальный напиток, то безалкогольное пиво, да и вообще пиво не появилось бы вообще или бы кануло в лету.
Теперь поговорим об разработке проектов. Сейчас преобладающим способом разработать любое приложение является аджайл-методология в том или ином виде. А этот способ работать над проектом предполагает какой-то минимально работающий проект, скажем, первым попавшимся способом. И потом постепенно маленькими шагами развивать систему, чтобы после каждого улучшения система становилась все лучше и лучше. Уже видна аналогия? Минимально работающий продукт (MVP) — это то самое горькое пиво, которое нужно пользователям из-за какого-то набора функций (в нашей аналогии — алкоголя). Постепенное улучшение такого продукта рано или поздно сделает из него безалкогольное пиво, хотя пользователям нужен алкоголь!
Вместо выводов можно предложить подумать над алгоритмом получения идеального алкогольного или безалкогольного напитка. Ну или стратегией развития продукта, чтобы получить идеальный продукт, тут уж вам видней какую абстракцию легче представлять.
#перечитываяэкстраполяцию
Наверняка многие из вас помнят этот термин из школьно-институтского курса, но я все равно напомню. Экстремум — эта такая штука, которая показывает максимальное значение функции в каком-то интервале. Если говорить об экстремуме функции, и если нарисовать функцию с помощью графика, то визуально экстремум найти очень просто. А вот если нужно найти экстремум в чем-то таком, которое нарисовать сложно и вообще понять где там параметры, то сделать это крайне нетривиально.
Допустим, нужно найти идеальный алкогольный напиток. И есть такой вот нехитрый способ. Берем совершенно любой напиток и начинаем потихоньку его улучшать. С каждым новым улучшением мы приближаемся к идеальному напитку и будем делать это до тех пор, пока любое изменение продукта не будет приводить к его ухудшению. Когда мы достигнем такого состояния, мы по идее должны получить идеальный напиток. Все хорошо, только мы таким способом получаем локальный экстремум, а не глобальный. А вот глобальный экстремум найти таким способом гарантировано не получится.
Вот пиво, как напиток, появилось очень давно (V век до нашей эры) и служило с одной целью — получить алкогольный напиток хоть каким-нибудь способом. Пиво горькое, невкусное, но голову кружит и язык развязывает. Поэтому пиво начали закусывать всякими сильнодействующими закусками с ярко выраженным вкусом, допустим рыбой. Таким образом пиво хоть как-то можно было пить, хоть немного забив его горький вкус. Позже получили способ достигать алкогольного опьянения более эффективно, но пиво, как напиток осталось. Время шло, пиво варили все лучше и лучше, закуски находили все изысканней и хитрее. Пиво, как пиво сейчас уже тяжело улучшить, хотя идеальным этот напиток назвать нельзя. Более того, за последние десятилетия появилось безалкогольное пиво! Безалкогольное, ребята! То, ради чего пиво, собственно, создавалось, сейчас безбожно убрали из этого напитка, оставив все то, за что пиво ненавидели последние семь тысяч лет — горький вкус и неприятное послевкусие. Путем постепенных улучшений и маленькими шагами человечество получило горький невкусный безалкогольный напиток из напитка, целю которого изначально был алкоголь. Если бы человечество стремилось получить идеальный напиток, то безалкогольное пиво, да и вообще пиво не появилось бы вообще или бы кануло в лету.
Теперь поговорим об разработке проектов. Сейчас преобладающим способом разработать любое приложение является аджайл-методология в том или ином виде. А этот способ работать над проектом предполагает какой-то минимально работающий проект, скажем, первым попавшимся способом. И потом постепенно маленькими шагами развивать систему, чтобы после каждого улучшения система становилась все лучше и лучше. Уже видна аналогия? Минимально работающий продукт (MVP) — это то самое горькое пиво, которое нужно пользователям из-за какого-то набора функций (в нашей аналогии — алкоголя). Постепенное улучшение такого продукта рано или поздно сделает из него безалкогольное пиво, хотя пользователям нужен алкоголь!
Вместо выводов можно предложить подумать над алгоритмом получения идеального алкогольного или безалкогольного напитка. Ну или стратегией развития продукта, чтобы получить идеальный продукт, тут уж вам видней какую абстракцию легче представлять.
#перечитываяэкстраполяцию
#экстраквалификация от подписчика.
1. Острой проблемы при найме оверквалифаев нет ни для одной из сторон. Обыденные несостыковки как и в любых человеческих отношениях. На каждого разработчика найдётся компания и наоборот. Нужно лишь искать.
2. Для оверквалифая искать место где он будет джуном что бы расти - контрпродуктивно и почти лишено смысла. Человек подобного уровня должен уметь расти везде и при любых условиях. Условия и среду себе нужно уметь создавать везде и всегда. Если компания мешает — нужно менять компанию.
3. Умение уходить от скуки — дело собственных рук. Компания, менеджмент и проект имеют значение, но обвинять лишь этот набор, а не искать проблему в себе нерационально. Ладно ещё, когда скучно условному PHP-разработчику, котоырий днями CRUD пилит. Но жаловаться на скуку оверквалифаю - ни в какие рамки не лезет. И компании при найме должны это понимать.
1. Острой проблемы при найме оверквалифаев нет ни для одной из сторон. Обыденные несостыковки как и в любых человеческих отношениях. На каждого разработчика найдётся компания и наоборот. Нужно лишь искать.
2. Для оверквалифая искать место где он будет джуном что бы расти - контрпродуктивно и почти лишено смысла. Человек подобного уровня должен уметь расти везде и при любых условиях. Условия и среду себе нужно уметь создавать везде и всегда. Если компания мешает — нужно менять компанию.
3. Умение уходить от скуки — дело собственных рук. Компания, менеджмент и проект имеют значение, но обвинять лишь этот набор, а не искать проблему в себе нерационально. Ладно ещё, когда скучно условному PHP-разработчику, котоырий днями CRUD пилит. Но жаловаться на скуку оверквалифаю - ни в какие рамки не лезет. И компании при найме должны это понимать.
#экстраквалификация от редакции.
Во-первых, нет никакой сверхквалификации. Вообще. Если разработчик претендует на должность с полным пониманием того, что от него требуется, то любые дополнительные скиллы будут несомненным плюсом, а не лишней обузой.
Во-вторых нет никаких завышенных амбиций у разработчика. Если разработчик решил, что он стоит стотыщмильёнов, то это его право. Парень хочет ровно столько, сколько он хочет хотеть. А если что-то не так, то рынок его исправит.
Нет никакой скуки, а есть недостаточный стимул. Обычно (и ошибочно) скучные и неинтересные задачи пытаются компенсировать печеньками и иксбоксами. Отсюда и косвенный признак неинтересных задач, к слову: чем больше развлечений в шаговой доступности от рабочего места, тем хуже будет работа. Или больше зарплата.
А вот что действительно есть, так это желание сэкономить у компаний. Если специалист не очень, ему говорят, что он не очень. Если специалист мудак, говорят «вы нам не подходите». Если есть из кого выбрать, говорят «было тяжело выбрать, но мы решили взять другого». Если спец хороший, но просит больше положенного, начинают торговаться. А если спец и хороший и денег просит адекватных и точно лучше большинства других, но хочется сэкономить, то говорят «ты слишком крутой для нас».
И вообще, как по мне, такой отказ к лучшему. Не стоит работать в компании, которая стремиться сэкономить на сотруднике прям с первых дней.
Во-первых, нет никакой сверхквалификации. Вообще. Если разработчик претендует на должность с полным пониманием того, что от него требуется, то любые дополнительные скиллы будут несомненным плюсом, а не лишней обузой.
Во-вторых нет никаких завышенных амбиций у разработчика. Если разработчик решил, что он стоит стотыщмильёнов, то это его право. Парень хочет ровно столько, сколько он хочет хотеть. А если что-то не так, то рынок его исправит.
Нет никакой скуки, а есть недостаточный стимул. Обычно (и ошибочно) скучные и неинтересные задачи пытаются компенсировать печеньками и иксбоксами. Отсюда и косвенный признак неинтересных задач, к слову: чем больше развлечений в шаговой доступности от рабочего места, тем хуже будет работа. Или больше зарплата.
А вот что действительно есть, так это желание сэкономить у компаний. Если специалист не очень, ему говорят, что он не очень. Если специалист мудак, говорят «вы нам не подходите». Если есть из кого выбрать, говорят «было тяжело выбрать, но мы решили взять другого». Если спец хороший, но просит больше положенного, начинают торговаться. А если спец и хороший и денег просит адекватных и точно лучше большинства других, но хочется сэкономить, то говорят «ты слишком крутой для нас».
И вообще, как по мне, такой отказ к лучшему. Не стоит работать в компании, которая стремиться сэкономить на сотруднике прям с первых дней.
#перечитываяэкстраполяцию наткнулся на свой старый пост об общении с клиентами и кастомерами. Да и ещё с хорошей аналогией. Статья называется «Синдром выбора арбуза»
Telegraph
Как выбирать арбузы
Существует масса правильных способов того, как правильно выбирать арбузы, причём каждая легенда правильней и точнее всех остальных. Кто-то их сжимает, кто-то стучит. Многие щёлкают по ним пальцем и слушают глубину звука и тональность звучания. Некоторые смотрят…