Timrael

30 мая 2016, Worldwide

# Понедельник 76 твитов

Всем привет, меня зовут Тимур @Timrael Козьменко. Я живу на Пхукете и работаю в @aviasales уже 3 года. А так сам родом из Владивостока.

12:22

Сначала я работал в команде поискового ядра и главного продукта - поиска авиабилетов, сейчас пустился в аналитику с новой командой.

12:27

После всех предыдущих ораторов сложно уже найти темы, которые не были обсуждены. Но я постараюсь такие найти :)

12:28
@backendsecret @Timrael @aviasales привет) что используете в бакэнде?

Каждая команда сама себе выбирает технологии. Например, из языков есть: php, ruby, python, elixir, go, js, coffee... twitter.com/Fardokbk/statu…

12:31
@backendsecret @Timrael @aviasales а как это все вместе стыкуется?

Стандартная архитектура на сервисах(SOA), все общаются между собой по API. twitter.com/Fardokbk/statu…

12:35

Первая тема которую я бы хотел поднять - это присутствие информационного барьера между программистом и бизнесом.

12:37

Когда программист знает только техническую часть своего продукта и не обращает внимание на бизнесовую. Почему это плохо?

12:38

Важно помнить, что "инженерия - сучка бизнеса"(с).

12:40

Эффективность работы команды должна оцениваться деньгами, а не кол-вом фич, кол-вом строк кода или его чистотой.

12:41

Поэтому цель "реализовать Х фич" перетекает в "заработать как можно больше денег, реализовав Х фич". И это не одно и тоже.

12:41
@backendsecret простому программисту очень редко рассказывают бизнес вещи. Ибо нефиг.

Я считаю это ошибкой, вся компания выиграет если программисты будут осведомлены о бизнес составляющей. twitter.com/dcromster/stat…

12:43

Например, вместо того чтобы реализовывать фичу долго и чисто, можно реализовать ее быстро и грязно, для того, чтобы дешего ее проверить.

12:44

Если фича взлетает, то ее уже можно нормально переписать. Таким способом можно экономить много времени, а значит и денег.

12:44
@dcromster @backendsecret Потому что это ему самому не нужно. Захочет, узнает, станет эффективнее.

Можно этому поспособствовать, например реализовав быстрый и легкий доступ к аналитике проекта и раздав доступ. twitter.com/webholt/status…

12:47

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

12:48

Сколько людей пользуются этой кнопкой, сколько людей посещают эту страницу, сколько денег теряется из-за вот этого бага и т.д.

12:49

Тем самым программист может дозировать кол-во времени вложенного в задачи для максимизации прибыли.

12:50
@webholt не согласен. Могут не пускать на тот уровень - "Тебе это не нужно". @backendsecret
12:50

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

12:52

Можно подумать, что это обязанности сугубо менеджера продукта, но нет.

12:53

Потому что одну и ту же задачу можно сделать за разное кол-во времени, в зависимости от выходного качества. И это качество контролируете вы.

12:53
@backendsecret ну хоть кто-то об этом говорит
12:53
Прошлась и оргазмически полайкала @backendsecret . У нас слишком модно среди программистов "решать задачки" без понимания ради чего это все.
12:54
@webholt @backendsecret вероятно, типичный эникейщик этих книг не читает, так как мнение "ибо нефиг" преобладает.

Обычный программист с самого начала нацелен в первую очередь решать интересные задачки и не задумывается об бизнесе twitter.com/katyabutenko/s…

13:00
@backendsecret я немного запутался, у вас зп программиста зависит от выручки компании?

Не линейно, но да, зависит. Выручка компании фигурирует в формуле подсчета зп сотрудника. twitter.com/_this_is_ak_/s…

13:03
@backendsecret но почему тогда вы занимаетесь оптимизацией clickthrough, да еще без мощности статистического теста? vc.ru/p/hotellook

Аналитикой стали серьезно заниматься буквально несколько месяцов назад, до этого были огрехи, в том числе и в А/Б. twitter.com/SiliconBangalo…

13:05
@backendsecret но почему тогда вы занимаетесь оптимизацией clickthrough, да еще без мощности статистического теста? vc.ru/p/hotellook

По этому поводу я внутри компании и проводил лекцию про А/Б, видео можно посмотреть тут: facebook.com/groups/2306314… twitter.com/SiliconBangalo…

13:06
@katyabutenko @backendsecret Собственно, вроде следствия две, а причина всё ещё одна: нежелание постигать новое.

В нашей профессии те, кто постоянно не постигает новое, оказывается очень скоро на профессиональном дне. twitter.com/webholt/status…

13:07
@backendsecret у обычного программиста как правило фиксед прайс и задумчивость про бизнес лишь умножает печали

Может пора уже директорам задуматься о поднятии мотивации, связав выручку компании и зп сотрудников. twitter.com/soulmusic/stat…

13:10
@backendsecret после этого напрашивается вопрос - как у вас с текучкой кадров, сколько средняя продолжительность работы человека?

Текучки нету, некоторые команды годами работают в том же составе. По желанию можно перейти из одной команды в другую twitter.com/andrey_68/stat…

13:19
@backendsecret выручку и зп могут связать, но ответственность за решения не делегируют никогда. В итоге твоя зарплата= fn(чужие ошибки)

Все верно, чем больше отвественность, тем больше денег ты получаешь. twitter.com/soulmusic/stat…

13:26
@backendsecret а какой размер компании и тип продуктов? Мнится мне что не везде такой подход применим.

Размер компании кажется в районе 150 человек. Основных продуктов 4, плюс команды веба и мобильная разделены. twitter.com/imdefined/stat…

13:33
@backendsecret в каком районе Пхукета находится офис и почему именно этот район?

Раваи, так он выглядит pp.vk.me/c629224/v62922… . Почему не знаю, может @mrXXXVII помнит... twitter.com/Gavruk/status/…

13:38
@backendsecret тогда все понятно. На компанию в 1000+ человек с парой сотен продуктов это будет масштабироваться сильно с трудом, кмк

Быть может тут поможет такая система как холакратия: ru.wikipedia.org/wiki/Holacracy twitter.com/imdefined/stat…

13:39
@katyabutenko @backendsecret думается, что просто не сразу к людям приходит понимание, что они решают бизнес-задачи. особенно, если это джун
13:43
@backendsecret @Gavruk тихий спокойный район, умеренные цены и возможность найти виллу прямо на пляже.
13:43
@backendsecret @Fardokbk @Timrael @aviasales с таким зоопарком видимо сложно между командами людей таскать?

При знании парадигм программирования и основ ОС новые языки и технологии учатся быстро. twitter.com/mpak999/status…

14:29
@backendsecret @Fardokbk @Timrael @aviasales с таким зоопарком видимо сложно между командами людей таскать?

Плюс мы стараемся делиться знаниями в компании, об этом я расскажу попозже. twitter.com/mpak999/status…

14:29
@backendsecret а если начальство не считает нужным посвящать программистов в подробности? "Поставили задачу - делайте".
14:30
@chikiro_twi @backendsecret Это только с кодерами работает. Программисту нужно знать, что он делает. Он же предложит потом, как лучше.
14:30
@chikiro_twi @backendsecret Дайте программисту решать проблемы, а не задачи.
14:31
@webholt @backendsecret мне лень за такую зарплату убеждать в чем-то начальство, молча уволиться - самый правильный выбор.
14:43
@chikiro_twi @backendsecret Тебе не дают решать проблемы, потому и не видят, за что платить больше.
14:43

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

14:47

Мышление немного меняется, когда начинаешь думать через призму денег.

14:47

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

14:48

Если рассчитать экономию от рефакторинга (дальнейшего сопровождения кода) в виде $, то такой аргумент ваш менеджер уже вряд ли пропустит.

14:48

Частенько бывает и такое, что после расчетов ты сам понимаешь, что рефакторинг не выгоден, и целесообразнее будет оставить все как есть.

14:48
@backendsecret а нет внутренного конфликта, человек писал на Ruby и Elixir, а его бац и на php проект посадили, ибо людей не хватает, рук

Недавно был такой пример, но в php-ном проекте быстро уперлись в потолок и он сейчас переписывается на питоне. twitter.com/mpak999/status…

15:03
@backendsecret @Timrael @aviasales а АПИ какое? Rest, сокеты или еще чтото

Какое лучше подходит для решения конкретной задачи. twitter.com/Fardokbk/statu…

15:12
@backendsecret каким образом выполняется расчет?

Очень грубо: кол-во часов на рефаторинг * стоимость человека-часа(со всеми тратами) = это затраты. twitter.com/_this_is_ak_/s…

15:14
@backendsecret каким образом выполняется расчет?

Чтобы посчитать экономию нужно сначала выяснить сколько фич планируется на рефактируемый участок кода. twitter.com/_this_is_ak_/s…

15:15

Кстати про рефакторинг, советую прочитать книгу от Martin Fowler "Refactoring" martinfowler.com/books/refactor… . Она небольшая.

15:18
@backendsecret что за потолок, интересно?

Насколько мне известно, потолок был скорее архитектурный. Переписывать надо было, хороший повод сменить язык. twitter.com/nordicdyno_ru/…

15:34

Интересно посмотреть и на написание тестов с точки зрения бизнеса. За годы программисты уже возвели табу по этому поводу.

15:54

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

15:55

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

15:55

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

15:55

В связи с чем совет: перед планированием продукта/фичи узнайте у своего менеджера о дальнейших планах по поводу этой функциональности.

15:56
@backendsecret так ведь рефакторинг новые фичи не добавляет. Кстати, как у вас с покрытием тестами?

Цель рефакторинга сократить издержки на сопровождение будущего кода (добавление новых фич). twitter.com/_this_is_ak_/s…

15:58
@backendsecret почему никто не рассматривает тесты как средство повышение производительности, а только как инвестиции в будущее?
20:08
@backendsecret тесты еще хороший список todo, оставил вечером 3-4 хорошо описаных красных теста, на утро сразу знаешь что делать.

Я даже скажу, что с зелеными тестами спится лучше, но если они не оправданы с точки зрения бизнеса, то грош им цена. twitter.com/evgeniy_moroz/…

20:20
@backendsecret а зачастую тесты так используют. Написали кода который сидели руками тестили постоянно. Код залили в дев и тесты пилить...

Даже правильный подход к TDD/BDD может быть не целесообразен. twitter.com/evgeniy_moroz/…

20:23
@backendsecret аргументы?)

Как будете доказывать менеджеру, что вам нужно в два раза больше времени на реализацию фичи? twitter.com/evgeniy_moroz/…

20:28
@backendsecret а вот тут не правильная постановка,кто сказал что нужно в 2 раза больше времени?

"Средняя температура по больнице". Сколько в вашем случае уходит на них? twitter.com/evgeniy_moroz/…

20:31
@evgeniy_moroz @backendsecret тоже интересно, кто сказал, что тдд это в два раза дольше? Можно ссылку на исследование? :)

Никаких исследований, чисто личное наблюдение :) twitter.com/anton_davydov/…

20:37
@backendsecret если посчитать время проведенное в дебагере, ручном тестировани и холодной компиляции, то кто будет доказывать х2 без тестов?

Если у вас время разработки с тестами меньше как без них - то тут спорить бессмыслено. twitter.com/evgeniy_moroz/…

20:43
@backendsecret если посчитать время проведенное в дебагере, ручном тестировани и холодной компиляции, то кто будет доказывать х2 без тестов?

Все ли программисты могут похвастаться тем же? twitter.com/evgeniy_moroz/…

20:43
@backendsecret @anton_davydov research.microsoft.com/apps/mobile/ne… иследование от MS. С tdd дольше на 15-30%, но меньше на 90%! багов. И код лучше.

Если вы помните, я не говорил, что они вообще не нужны. А то, что есть кейсы, когда от них можно отказаться. twitter.com/evgeniy_moroz/…

20:45
@backendsecret так аргументов в противовес нету. Есть, например, инфраструктурные задачи, для которых Gui нету. Что будем делать?

То есть по вашему тесты нужно писать вообще всегда и других вариантов быть не может? twitter.com/evgeniy_moroz/…

20:48
@backendsecret рефакторинг быстрее в тестами, это очевидно.

Первое правило рефакторинга - напиши тесты на рефактируемый участок кода ДО внесения каких либо изменений. twitter.com/RusAlexander/s…

20:55
@backendsecret twitter.com/evgeniy_moroz/… тут отвечал уже, ещё как пример жёсткий multi-thread код, но иногда, думаю, можно декомпозировать.

Можно привести тысячи примеров когда тесты оправданы, я хотел обратить внимание на то, что не стоит их писать везде twitter.com/evgeniy_moroz/…

21:00
@backendsecret @evgeniy_moroz есть множество проектов без тестов (или с малым покрытием) и держаться на плаву. Например, Битрикс :)
21:18
@backendsecret @evgeniy_moroz давно не пробовал, но есть ощущение что могу потянуть проект без тестов. противно, но реально.
21:18
@backendsecret @evgeniy_moroz и, к слову, Magento (первая) тоже выходила без тестов
21:18

Спасибо вам за активную неделю и дискуссии, мы обсудили скользкие темы. С вами был @Timrael , пока!

5:48

# Вторник 59 твитов

Давай те сегодня поговорим об образовании и развитии в свободное время. Кто сколько времени тратит на это в неделю?

7:18
@backendsecret чтение книжек по теме считается?)

Конечно считается! twitter.com/strizhechenko/…

7:27

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

8:42

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

8:42

Многие думают, что переход по уровню от джуна к сеньору происходит автоматически, с годами опыта.

8:42

Мол поработал 1 год, становишься мидлом, проработал еще 3-5 вот и готов синьор, но это сильное заблуждение.

8:43

Для каждого качественного перехода нужно обладать еще и необходимым кол-вом знаний.

8:43

Вот один из примеров, где вы примерно можете оценить свой профессиональный уровень sijinjoseph.com/programmer-com…

8:44
@backendsecret у нас работа и образование это один и тот же процесс

Верно, мы неизбежно учимся в процессе работы, но скорость обучения можно легко увеличить книгами/курсами/статьями... twitter.com/Fodoj/status/7…

9:14

Я же советую тратить как мин. несколько часов в неделю на развитие, чтобы был хоть какой-то прогресс. Вы же не хотите остаться мидлом в 40?

9:55

Чувствуете пробел в какой-то области? Открываете топ 100 лучших книг cspray.net/my.so-archive/… выбираете книгу и читаете.

9:55

В некоторых книгах могут решаться проблемы, на которых вы еще не набили шишок.Чтобы не нарваться на такие книги внимательно читайте описание

9:56

И не в коем случае не изучайте теорию в отрыве от практики, иначе эта информация быстро забудется и время будет потрачено зря.

9:56

Так же могу посоветовать курс "Учитесь учиться" coursera.org/learn/learning… . Там рассказывают как эффективно изучать новое.

10:57

Про курсеру не слышал разве что ленивый, но на всякий случай оставлю эту ссылку здесь. coursera.org

10:57

Хочу порекомендовать замечательный обуч. ресурс от @mokevnin и @freetonik ru.hexlet.io , где теория и практика идут рука об руку.

10:58

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

10:58

А помогает ли вам ваша фирма развиваться как профессионалам? Поделитесь своим опытом.

10:59
@backendsecret ни одна в которой работал наёмником. А вот СВОЯ очень сильно развивает во всех направлениях.
11:03
@backendsecret нет, никогда
11:05
@dcromster @backendsecret а у меня наоборот, в чужих конторах я узнал много интересного, а в своей как-то всё наоборот

Если хочешь быстрого проф. роста, то ты должен быть не самым скилловым в своей команде, чтобы было у кого учиться. twitter.com/Bashnya_est/st…

11:10
@backendsecret да, постоянно
11:10
@backendsecret нет, сейчас больше сам отдаю, чем получаю.
11:14

Есть кто из долины? Правда ли, что во многих фирмах там есть спец человек, который занимается развитием сотрудников?

12:20

Парное программирование - тоже хороший способ прокачаться. Но засиживаться с одними и теми же людьми не стоит.

12:26

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

12:28

Как только приступите к написанию, поймете, что ваши знания не так глубоки в этой теме нежели вам казалось изначально.

12:29

Делитесь ли вы опытом внутри компании? Например, выступает кто-нибудь раз в неделю/месяц перед всеми программистам

12:32

Мы в @aviasales пытаемся завести привычку проводить по докладу раз в неделю, выкладываем все видео в группу: facebook.com/groups/2306314… Join us

12:35
@backendsecret как правило раз в неделю есть небольшие презентации.

Можете и компанию свою упоминать, чтобы мы знали героев в лицо :) twitter.com/iscawn/status/…

12:42

Идем дальше про рост: codewars.com - неплохой инструмент для прорешивания задачек на разных языках. Таких на самом деле много.

12:46
@backendsecret решил сложную проблему - сделал доклад. Без привязки к календарю

Многие после того как разобрались со сложной проблемой, думают что она простая и там нечего рассказывать. Это НЕ так twitter.com/_this_is_ak_/s…

12:48
@backendsecret Недавно на codewars подсел, да. И мозги размять, и чужие решения посмотреть.
12:49
@backendsecret у нас каждую пятницу кто-то выступает с лекцией о чем-то новом и интересном, компания @RaccoonGangCom :)

Вот, молодцы! twitter.com/vZ10/status/73…

12:49
@backendsecret exercism и codility поинтереснее

exercism.io и codility.com - для задачек twitter.com/_sashashakun/s…

12:51
@backendsecret реквестирую больше подробностей от тех, кто выбрал "делимся"
13:00
@backendsecret работа консультанта - делиться знаниями в компаниях :-) так и живём :-)
13:01
@backendsecret еще очень хорошо делать доклады из серии, что нового в OS X, Wordpress или MySql и как мы это будем/можем внедрять
13:17
@backendsecret epam

"как правило раз в неделю есть небольшие презентации." Компания Epam. twitter.com/iscawn/status/…

13:18

Отличная статья от @freetonik про обучение в области программирования в целом: habrahabr.ru/company/hexlet…

13:24
@backendsecret это перевод отличной статьи Эрика Траутмана vikingcodeschool.com/posts/why-lear… ;-)
13:28

Еще один способ держать себя в тонусе от @ramilmustafin : проходите переодически собеседования. Они спустят вас на землю.

13:32

На собеседованиях можно совместить приятное с полезным: 1. быть в курсе реальных трендов 2. узнать слабые места 3. узнать свою цену на рынке

13:33
@backendsecret у нас тоже такие люди есть, да и вообще много где видел подобных выделенных сотрудников

Расскажи в какой компании работаешь и где она базируется twitter.com/dlagoza/status…

14:27
@backendsecret вообще, этим должны заниматься люди из HR.

В российских конторах я про такой уровень HR не слышал, а вот в американских слышал и не раз. twitter.com/Shoonoise/stat…

14:33
@backendsecret SoftServe. Базирует во Львове, а офисы в Украине, Польше, Болгарии и в США.
14:35
@backendsecret это больше характерно для больших компаний (с системами грейдов типа выучи-сделай это и получи это)
14:39
@backendsecret в моей конторе это поставленно "на рельсы" (епам)
15:39
@ynelin у тебя есть два менеджера: проектный(1) и ресурсный(2)
1:чтобы проект копал
2:чтобы доволен был в целом и развивался @backendsecret
15:40
@ynelin помимо ресурсного менеджера за развитие ответственны HRы
также тренинги/порталы/митапы/библиотеки и т.д. @backendsecret
15:40
@ynelin мое личное и основное ощущение от компании: тут все процессы настроенны на развитие работников @backendsecret
15:40

Ну и напоследок: не дайте вашему мозгу закостенеть, получайте новый опыт и в повседневной жизни от обычных вещей. blog.bufferapp.com/novelty-and-th…

18:24

Доедьте на работу другим маршрутом, поешьте в новом кафе, зайдите в новый магазин, и тд. Пробуйте новое, это здорово и полезно!

18:27
@fliptheweb да, Тренинг Центр—джунов берут только от туда (говорю за Киев). Я чрз него прошел @backendsecret @ynelin
20:44
@Bubyakin @backendsecret @ynelin дико круто, что есть компании готовые вот так выращивать специалистов и поднимать отрасль. Прям браво!
20:44
@fliptheweb если копнуть немного глубже и разобраться то компании занимаются исключительно поднятием бабла @backendsecret @ynelin
20:45
@fliptheweb развитие работников, обучение и тренинг центры—это необходимость,поднятие отрасли — позитивное побочное @backendsecret @ynelin
20:55

# Среда 81 твит

Проводите ли вы у себя А/Б тесты? Если да - то какими инструментами пользуетесь, если нет - то почему?

6:19
. @backendsecret у нас в @grammarlyeng мало того что каждый четверг такая встреча, но ребята ещё ведут внутренние курсы по всяким штукам
9:06
@_sashashakun @backendsecret например у нас был внутренний курс по алгоритмам, а сейчас курс по нейронкам.
9:06

Если грубо, суть А/Б в следующем: вы делаете изменение в проекте и пускаете трафик на две версии, оригинальную и измененную.

9:11

Та версия, что покажет большую конверсию выигрывает, и можно судить о прибыльности этого изменения. Тут подробнее: ru.wikipedia.org/wiki/A/B-%D1%8…

9:11

Идея проста: если изменение приносит убытки - переделываем или убираем, если доход - оставляем или улучшаем еще.

9:11

Выгода большая, реализация дешевая, поэтому многие компании прибегают к этому виду тестирования.

9:11
@backendsecret Как избавляться от локальных максимумов? Постоянно перепрогонять все возможные варианты? Их же бесчисленное множество.

О максимумах чего идет речь? twitter.com/webholt/status…

10:23
@backendsecret нужно еще пройти церемонию посвящения в сеньоры )))
10:24
@backendsecret многие верят еще и не в такие мифы. “Можно не переучиваться”, “Не работать на дядю”, “Само как-нибудь получится”...
10:27

Залили две версии, сделали разделение трафика, пустили пользователей и сразу возникает вопрос - а сколько нужно то их чтобы завершить тест?

10:28

Многие просто берут цифру из головы: "а давайте проводить А/Б 1 день / 1 неделю / 1 месяц?"

10:29

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

10:29

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

10:33

Статистическая мощность — это вероятность того, что тест определит разницу между двумя вариантами, если эта разница действительно существует

10:34

Предположим, вы хотите определить, есть ли разница между ростом женщин и мужчин.

10:34

Если вы измерите одну женщину и одного мужчину, может оказаться так, что вы не заметите того факта, что мужчины выше женщин.

10:34

Быть может вам попалась волейболистка и мужчина роста ниже среднего.

10:34

Однако, измерив достаточное количество разных мужчин и женщин, вы придете к выводу, что на самом деле мужчины выше.

10:34

Все это потому, что статистическая мощность увеличивается при увеличении размера выборки.

10:34
@backendsecret есть отличный критерий Нильсена - опрос 6 пользователей дает 75% результат.
Т.е. в теории их достаточно чтобы делать вывод

С таким не знаком, почитаю на досуге, спасибо twitter.com/mr_mig_by/stat…

10:38

Статистическая значимость - шанс того, что разница видна там, где ее на самом деле нет.

10:47

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

10:47

А/А тест - это А/Б тестирование двух одинаковых версий.

10:47

Если она велика — результат может быть чистой случайностью (погрешностью) и ему не стоит доверять.

10:47

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

10:47

Даже если результат при этом является статистически значимым — это верный путь получить false-positive (ложноположительный) результат!

10:47

Несмотря на то, что тест стат значимый, это не значит, что он верный. Возможно он ошибочен, т.к. не достигнут необходимый размер выборки.

10:47
@backendsecret Вот, кажется, релевантная статья: nngroup.com/articles/how-m…

Про критерий Нильсена twitter.com/mr_mig_by/stat…

10:50
@backendsecret А что если пускать A/A/B/B-тест?

Тогда придется влить в 2 раза больше трафика, плюс увеличится вероятность ошибки I рода. twitter.com/webholt/status…

10:52

Какой же размер выборки можно считать достаточным? Она зависит от стат мощности, стат значимости и от конверсий на вариантах А, Б.

10:59

На вашу с нами радость в интернете полно А/Б калькуляторов. Я предпочитаю этот - clincalc.com/Stats/SampleSi…

10:59

Group 1, Group 2 - конверсии в вариантах А и Б соотвественно.

11:00

Alpha - это ошибка I рода, величина обратная стат значимости. Если alpha = 5%, то стат значимость -> 100% - 5% = 95%

11:00

Power - стат мощность или величина обратная ошибке II рода, считается аналогично. мощность = 100% - ошибка II рода

11:01

Стат мощность обычно ставят в 80%, 90%, 95%. Стат значимость в 95%, 99%. Зависит от минимального порога ошибок.

11:01

Как это читать? Если вы влили 25551 пользователей в каждую версию, и конверт на А 4%, на Б 4.5%, то тест достоверен. pic.twitter.com/EG1uk7g1rP

11:01

Так как конверсии постоянно меняются в процессе теста, то калькулятором нужно проверять постоянно, до тех пор пока тест не будет достоверным

11:02
@backendsecret А нельзя взять некоторый порог стабильности выборки? Скажем, если она устаканивается в некоторых пределах, значит всё.

Так и делается, выбираются допустимые значения ошибок первого и второго рода, чтобы не гонять тест вечность twitter.com/webholt/status…

11:03

Подробнее вы можете почитать про А/Б тут: blog.driveback.ru/2015/04/why-a-… или глянуть мою лекцию youtube.com/watch?v=u7maxF…

11:18

С первым днем лета кстати! У нас на Пхукете его нет, поэтому я совсем про него забыл =)

12:01
@backendsecret Отличный курс! Прошёл его пару месяцев назад. Если не хватает английского, советую упоминающуюся там книгу. Но в курсе больше
12:39

Какой методологии вы придерживаетесь на работе?

12:42
@backendsecret programming, motherfucker, хотя по “бумажкам” - скрам
12:49
@backendsecret "Хуяк-хуяк и в продакшн" - опасно, "Семь раз отмерь, один раз отрежь" - долго. "Семь раз хуяк, один в продакшн"-наш выбор (с)
12:49
@com_bat @backendsecret предпочитаю "один раз хуяк, семь раз отрежь - и в продакшен"
12:51

Давайте делиться удачными решениями с ретро, я начну.

12:58

Проблема 1: застревают задачи в "need to test". Тестировать никто не любит и берут на тест, только когда достигают предел фич в прогрессе.

12:59

Решение 1: брать задачу из "todo" нельзя, пока есть что либо в "need to test". Цель - максимально пропушить задачу, если ее уже сделали.

12:59
@backendsecret кейс из agile команды где нету выделенных QA и все делают всё?

Совершенно точно twitter.com/evgeniy_moroz/…

13:02
@backendsecret Еще хорошо бы уточнить, что люди понимают под скрамом. Обычно это итерация на n недель и ежедневные митинги.

Так и есть, плюс демо и ретро в конце итерации. И соблюдение правил с доской. twitter.com/vfurso/status/…

13:03

Проблема 2: некоторые люди систематично нарушают процесс. Например, не хотят тестировать вообще.

13:04

Решение 2: у нас есть вонючая статуя крокодила в метр высотой, её мы и ставим на стол нарушителю и нарекаем крокодилом-позора :)

13:05
@backendsecret в одной компании на стол ставили вантуз.

хаха, тоже вариант :) twitter.com/evgeniy_moroz/…

13:07
@backendsecret а еще предмет желательно менять. А то через год-два к нему привыкают, и не обращают внимания уже.
13:08

Проблема 3: некоторые личности опаздывают на стэндап. Решение 3: тот кто опаздывает - покупает пиво всей команде. Тут главное не спиться.

13:09
@evgeniy_moroz @backendsecret накопительная система крокодилов

Хорошая идея! twitter.com/market_ops_cre…

13:10
@backendsecret Распивать начинаете прям там же?

На работе не пьем. После работы частенько выезжаем командой поужинать, там можно и распить уже. twitter.com/webholt/status…

13:12
@backendsecret может оно и весело, но не являются ли такие общественно-порицающие методы ведущими к унижению человека?

На то оно и направлено, вызвать стыд у человека. Не хочешь стыда - следуй процессу. twitter.com/com_bat/status…

13:13
@backendsecret сделать стэндап позже не вариант?

Как показывает практика, перенос стэндапа не влияет на процент опозданий. Дело в отношении к работе. twitter.com/evgeniy_moroz/…

13:14
@backendsecret если не можете работать с человеком - не работайте с ним. Что за детский сад с тотемами?

Ну нельзя же так категорично, за любую оплошность увольнять. Ряд предупреждений явно должен быть. twitter.com/_this_is_ak_/s…

13:16
@backendsecret а во сколько стэндап?

От команды зависит, в среднем в 12:30 дня. twitter.com/evgeniy_moroz/…

13:16
@backendsecret если человек проштрафился - это дело его и ТимЛида, остальным совсем не обязательно об этом знать. Еще доски позора нацепите

Вы случайно не в гос учреждение работаете? У нас дружеская команда, все относятся к этому с юмором :) twitter.com/_this_is_ak_/s…

13:37
@backendsecret а говорить с человеком пробовали? нарушение процесса это, конечно, не хорошо. но что для вас важнее - процесс или человек?

Ес-но с человеком говорят прежде, а не просто ставят крокодила на стол. Важно и то и другое. twitter.com/com_bat/status…

13:38
@_this_is_ak_ @backendsecret ну человек каждый раз вешает лапшу "попал в пробку, больше так не буду", но все равно-опаздывает, дальше что?

Я не руководитель, но будь им, пошел бы наверное по пути кнута. Сначала бы лишил премии, а потом и уволил. А вы? twitter.com/curpeng/status…

13:40
@backendsecret вы либо школьники, либо ебанутые

Мы не зануды это точно twitter.com/truetobetrue/s…

13:41
_любая_ публичная критика - это очень классное унижение. Ниже написали, что вы либо школьники, либо ебанутые twitter.com/backendsecret/…

Спасибо, я умею читать. То есть вы согласны, что это мощный инструмент? twitter.com/LordOfBoredom/…

13:44
@backendsecret @LordOfBoredom мощный инструмент прослыть хреновым лидером и испортить человека, да

Члены команды у нас не только коллеги, но и друзья, поэтому это все воспринимается полностью в другом ключе. twitter.com/mr_mig_by/stat…

13:48
@backendsecret нет, просто кому-то это смешно, кому-то обидно - у всех свои тараканы
13:48
@_this_is_ak_ @backendsecret Если человек адекватный, то он быстро сообразит, что стоит воспринимать как обиду, а что — нет.
13:52
@backendsecret это хорошо, что говорят :) да, важно и то и то. а что важнее? и меняете ли вы процессы? или один раз придумали и всё?

Благодаря ретро, процесс постоянно эволюционирует в лучшую сторону. twitter.com/com_bat/status…

13:52
@backendsecret а это я считаю плохо. Может не друзья а временные френды (на время работы вместе)?

Ок, поднимаешь этот вопрос на ретро и решаете проблему. Все решения принимаются только единогласно. twitter.com/dcromster/stat…

13:53
@backendsecret это прозвучало как будто у вас есть процесс в котором описано как решать друзья вы или нет. для меня это звучит странновато

Ну давай зайдем с другой стороны. Решение с крокодилом принималось всей командой, никто против не был. twitter.com/com_bat/status…

14:03
@backendsecret попробывал бы "дарить" вонючий тотем, при сборе 3 тотемов за месяц - минус премия.
14:04
@backendsecret это очень важная деталь без которой ваши методы звучат как совок :)

Для меня она была сама собой разумеющаяся, потому что все решения на ретро принимаются только единогласно командой. twitter.com/_this_is_ak_/s…

14:22
@webholt @backendsecret самое смешное, что я единственный, кто пока набрал достаточное количество, чтобы проставиться на всю команду :)
14:35
@webholt @_this_is_ak_ @backendsecret ребят, мы сами придумали эту штуку единогласно, потому что очень смешно, знали бы как он воняет 😃
14:35
@webholt @backendsecret не, одно опоздание - одно пиво. Если бы было по-другому, я бы всю зп спускал на это😄 pic.twitter.com/F8EfP8VaTA
14:36
@fliptheweb @backendsecret Восхитительно)
14:36
@curpeng @_this_is_ak_ @backendsecret но судя по всему нет, раз обходятся крокодилом и всем этим детсадом

Вы невнимательно меня читали, крокодила за другое дают. И критиковать решение бессмысленно, если оно работает ;) twitter.com/SiliconBangalo…

14:41

# Четверг 42 твита

Проблема 4: Очень частая ошибка в скраме - долгие стэндапы и ретро. На стэндапах уже стоять невозможно, на ретро люди спят.

7:09

Решение 4: Лечится просто - стоите с секундомером и не даете говорить много. 1 минута на чел. на стэндапе, 5-8 минут на команду на ретро.

7:09

Проблема 5: подошел день демо, а показывать нечего. Одни баг фиксы и инфраструктурные задачи.

7:09

Решение 5: на планировании договариваться какие задачи будут показаны на демо и их делать первыми

7:09

Проблема 6: не все понимают как решать задачу и молчат об этом на планировании. В итоге задачу эту они брать не будут под любым предлогом.

7:10

Решение 6: отчасти эту проблему решают скрам карты но лучше примерное решение обговорить с каждым кто молчит и не подает признаков понимания

7:10

Проблема 7: задача общая и человек не понимает, где заканчивается его задача и начинается другая. В итоге он ее не берет или делает долго.

7:10

Решение 7: либо задачу декомпозировать, либо поставить четкое определение завершенности этой задачи.

7:10
@backendsecret не понимают технически или с точки зрения требований?

И так и так бывает. twitter.com/evgeniy_moroz/…

8:52
@backendsecret кто в таком случае контролирует выполнение? И что значит "обговорить"? Можно ведь просто получить ответ "да, понял".

Ну это уже на усмотрение скрам мастера.Пусть непонимающий сам объяснит как решал бы задачу, а остальные его проверят twitter.com/evgeniy_moroz/…

9:47

Кстати да, можете смело задавать вопросы по процессу или технологиям в Aviasales, постараюсь на все ответить.

9:52
@backendsecret расскажите как вы эстимируете и набираете адекватное количество тасков в спринт?

Задачи оцениваются на глаз и интуицию продуктовода, когда он их достает из бэклога/роадмэпа на недельный спринт. twitter.com/mkuleshov/stat…

10:33
@backendsecret расскажите как вы эстимируете и набираете адекватное количество тасков в спринт?

Набираются в нужной пропорции задачи первого приоритета, стратегические и тех долги. twitter.com/mkuleshov/stat…

10:34
@backendsecret Т.е. только один человек наполняет спринт или вся команда? Часто ли не успеваете всё закончить?

Спринт наполняет один продуктовод. Чаще всего задач набирается сверх спринта, так что частенько остается что-то. twitter.com/mkuleshov/stat…

11:23
@backendsecret Как поступаете если задача не влезает в спринт но по частям она не приносит value продукту?

Она пилится по частям, параллельно с другими задачами, и её не показывают пока она не будет доделана полностью. twitter.com/mkuleshov/stat…

11:28
@backendsecret, стендапы ограничены 15 минутами, а ретро не может быть скучным, иначе это какое-то неправильное ретро.

Я с вами полностью согласен, к этому и должны все стремится. И чтобы так было надо порой следить за ним. twitter.com/ilnurkhalilov/…

11:30
@backendsecret секундомеры, стоять во время стендапа, ретро…я так рад что всего этого аджайл говнотреша нет в аджасте :)

Кидай ссылку на материалы по процессу =) twitter.com/damirca/status…

11:31
@backendsecret 1. расскажите про систему поиска; 2. Правда, что цены зависят от кук, браузера и проч. 3-х факторов?

Набор гейтов и цены зависят от кук, тут подробнее можно про это прочитать и понять почему: blog.travelpayouts.com/10-mifov-iz-mi… twitter.com/_this_is_ak_/s…

11:37
@backendsecret Стремитесь ли к T-Shape или у каждого своя узкая специализация?

До T-Shape так и не дошли, но активно стремимся. Стараемся брать задачи друг друга и парно-программировать. twitter.com/katyatyukova/s…

11:39
@backendsecret Стремитесь ли к T-Shape или у каждого своя узкая специализация?

Знание смежных областей очень сильно ускоряет работу команды. Я бы посоветовал подписчикам попробовать во фронтенд. twitter.com/katyatyukova/s…

11:41
@backendsecret По какому принципу разделяются команды, по знаниям/проектам или смешанные (все делают всё)?

Команды строго по проектам, например: aviasales.ru travelpayouts.com hotellook.ru twitter.com/katyatyukova/s…

11:43
@katyatyukova @backendsecret обязательно стремиться к Т-shaped и качать работу с людьми. Иначе будете ниочем

Солидарен с Алексеем. twitter.com/mr_mig_by/stat…

11:44
@backendsecret @evgeniy_moroz вообще не задача СМ. Если есть проблемы, то команда сама ищет решения, СМ просто фасилитирует дискуссию
11:46
@backendsecret а просветите что такое T-Shape и где можно об этом адекватно почитать? А то я об этом, к сожалению, и не слышал раньше

en.wikipedia.org/wiki/T-shaped_… blog.cindypotvin.com/highly-product… и дальше гуглите сами =) twitter.com/com_bat/status…

12:06
@backendsecret @mkuleshov э-э-э, да это же кошмар! Команда должна оценивать задачи.

Давай те начнем с начала: зачем команда должна тратить ресурсы на оценку задач? twitter.com/ilnurkhalilov/…

12:36
@ilnurkhalilov @backendsecret @mkuleshov Задачи вообще не должны оцениваться. Оценивай их или не оценивай, быстрее они делаться не станут.

Собственно вот такого же мнения я и придерживаюсь twitter.com/webholt/status…

12:57
@ilnurkhalilov @backendsecret @mkuleshov Оценил на слишком короткий срок — проебал дедлайн. Слишкой длинный — будет тянуться до упора.
12:57
@ilnurkhalilov @backendsecret @mkuleshov А на оценку чьи-нибудь ресурсы да тратятся. Одни проблемы от этих оценок.
12:57
Хуяк хуяк и в продакшн. twitter.com/backendsecret/…

Не нужно слепо перебирать всё, берите от методологии только лучшее и необходимое. twitter.com/redmoonstudio/…

12:59
Хуяк хуяк и в продакшн. twitter.com/backendsecret/…

Мы, например, постепенно вносили практики из скрама, чтобы прочувствовать и понять необходимость каждой детали. twitter.com/redmoonstudio/…

13:00
@backendsecret а откуда у команды ресурсы на "слепо перебирать всё"?

Мы видимо не поняли друг друга. Я имел в виду, что не стоит воплощать скрам 1 в 1 как в учебнике. twitter.com/redmoonstudio/…

13:01
Хуяк-хуяк скрам. twitter.com/backendsecret/…

Может зарегистрируем название?) twitter.com/webholt/status…

13:05
@backendsecret чтобы бизнес знал, сколько будет стоить фича, не?

Как говорил до этого @webholt, быстрее от этого задача делаться не будет, а ресурсы на оценку будут потрачены зря. twitter.com/nordicdyno_ru/…

14:24
@backendsecret Тут проблема другая. Заказчику нужно что-то сказать. Хотя бы примерно. Неделю ему ждать или год.

Если есть заказчик, то без этого никак. twitter.com/webholt/status…

14:27
@backendsecret @webholt а как понять то - фича Х будет стоить 100 баксов или 20к? Ведь при цене в 20к - она может быть и не нужно.

Для тех фич,что балансируют на рентабельности, можно и оценку провести. Большая стоимость видна не вооруж. вгзлядом twitter.com/blia/status/73…

14:30
@blia @backendsecret Как и всегда в разработке. Высасываем стоимость из пальца и умножаем на 2 + Math.random().
14:30
@_this_is_ak_ @backendsecret Ебёшь заказчика по ТЗ. По опыту прикидываешь. Добавляешь резерв. Делишь на степень пидорства заказчика ([0, 1])
14:34
@ilnurkhalilov @backendsecret @mkuleshov у нас в команде никогда такого не было :) прод только вытаскивает их на спринт, команда оценивает
14:34
Очень плюсую! Наконец эту тему поднимают. Особенно забавно, когда команды тратят целые дни на оценки и скрам-покер. twitter.com/webholt/status…

А потом появляются сайты по типу programming-motherfucker.com =) twitter.com/SBozhko/status…

15:50
@webholt @ilnurkhalilov @backendsecret @mkuleshov и все равно не укладываются в те оценки. А на ретро решают,что надо тщательнее планировать
15:51
@SBozhko @ilnurkhalilov @backendsecret @mkuleshov Потому что оценка времени — такая же взятая с потолка сумма, как и оценка бюджета.
15:52
@SBozhko @ilnurkhalilov @backendsecret @mkuleshov А если делать её с запасом, то «Ну мы с запасом ж взяли, можно попроёбываться».
15:52

# Пятница 43 твита

Есть ли у вас в компании QA или программисты сами тестируют свой код?

9:29
@backendsecret Есть отдел так называемых консультантов, они проверяют правильность работы и с ними приходится согласовывать интерфейсы.
10:11
@backendsecret недавно взяли qa, но "кати на прод, не ссы" никуда не делось(
10:11
@backendsecret "у нас орды автотестов" относить к "программисты сами тестируют"?

Ну если программисты сами пишут эти автотесты, то да twitter.com/gvsmirnov/stat…

10:12
@backendsecret юниты пишут программисты, все остальное qa. На прод без подтверждения qa выходить нельзя :-)
10:12
@backendsecret у нас наметился переход от классического QA к полному отказу от QA (девы полностью отвечают за качество)
10:13
@backendsecret есть ещё практика, когда QA выступает клиент/конечный пользователь (стадия UAT). Перед этим внутренний QA проходит по ТЗ
12:00
@Dronmdf @backendsecret программисты не могут сами всё оттестировать: глаз замылен, да и некогда бывает.
12:01
@backendsecret а у вас как с этим?

У нас нету QA, все тестируем сами. twitter.com/merry_ejik/sta…

12:01
@backendsecret смок/интеграционные -> test team. QA и тестировщики у нас заняты разным
12:02
Подборка полезных команд и трюков для git – github.com/git-tips/tips
13:10
Обсуждаем православный деплой проектов в дев чатике #aviasales pic.twitter.com/qFy1sZeGgw
13:11
@dcromster @backendsecret @Dronmdf читал еще про подсознательный барьер, когда не тестируются сложные кейсы в которых не уверен
13:35
@SBozhko @webholt @ilnurkhalilov @backendsecret @mkuleshov По-моему, покер - инструмент, показывающий, что все в команде понимают задачу.

Вот эта сторона покера очень полезна. Сложно дать оценку задачи, если ее не понимаешь. twitter.com/uber_nil/statu…

13:36
@backendsecret Знаю пару менеджеров, которые потом докапываются, почему в заданные покером сроки не уложились Тт
15:57

Пятничого холивара ради, активно ли вы комментируете код?

16:01

Если у вас есть сложное место и хочется добавить комментов - задумайтесь, может стоит это место переписать попроще?

16:03

Я придерживаюсь мнения, что чем выше уровень программиста, тем проще он пишет код, и тем меньше нужны комментарии к его коду.

16:05
@backendsecret Именно. Если коммент понадобился, вероятно, что-то тут не так.
16:05
@backendsecret сколько не переписывай черз год будешь тупить и думать "кто эту Х написал?". А посторонний через месяц скажет такое.

Я всегда когда код пишу, думаю о том, пойму ли я этот код через месяц. twitter.com/dcromster/stat…

16:06
@backendsecret Но иногда это либо вынужденная мера, либо «Сейчас будет нормально и так, но потом надо переписать». Всякие TODO, HACK.

"ПЕРЕПИШИ МЕНЯ" twitter.com/webholt/status…

16:07
@backendsecret Очень стараюсь, чтобы мой код был понятен. Но как угадать, что себе думает читатель? Да и не все можно в коде выразить.

А можете привести пример того, чего нельзя выразить в коде? twitter.com/Dronmdf/status…

16:11
Наконец то, нормального парня в акк пустили twitter.com/backendsecret/…
16:12
@backendsecret Был случай, что драйвер FreeBSD, некорректно работал с опцией. В коде стоит if re in name: off(opt), Как сохранить знание?

Может так: if has_buggy_option(): skip_option(). Без деталей сложно имена функциям давать, но общей смысл понятен. twitter.com/Dronmdf/status…

16:32

Знаете ли вы сложность (ru.wikipedia.org/wiki/%D0%92%D1…) хотя бы половины функций, которые используете каждый день?

16:36
@backendsecret Ты констатируешь всего лишь, что есть бага. В какой версии FreeBSD? Когда этот код можно будет выкинуть? Длинное название...

Солидарен с вами, в таком случае без коммента не обойтись. twitter.com/Dronmdf/status…

16:38
@backendsecret только на уровне «ага, неявно выделяет память, значит будет тормозить если вызывать ≈ 2000000 раз в секунду».
16:38
@backendsecret OffByFreeBSD8HasBuggyReDriver(); Не, я не отрицаю такой подход. Но слишком мелкие функции в большом количестве - тоже зло.

В мелких проектах без разницы, в нагруженных twitter.com/Dronmdf/status…

16:41
@backendsecret кажется, что достаточно знать только асимптоматику, а не точную формулу

Это и имелось в виду. twitter.com/Shoonoise/stat…

16:41

Вот пример из питона, по типам данных и операциям над ними: ics.uci.edu/~pattis/ICS-33…

16:45

Поищите доки по сложностям операций над типами данных в своих языках. Будете писать более экономный по ресурсам код.

16:47
@backendsecret это если изучать и разбираться. как справочник вот эта страница, имхо, лучше wiki.python.org/moin/TimeCompl…
16:52

Знание структур данных тоже может помочь ускорить и упростить код. Например, кто из вас знает что за структура Set?

16:56

Знаете ли вы какие структуры данных представляют индексы БД и за счет чего достигается скорость? Если нет, то самое время погуглить.

17:07
@backendsecret ответил да, но на вопрос как реализовано и сможете ли реализовать сами? Отвечу, скорее всего нет! :с

Можно реализовать как dict, в значениях которых неважно что: под капотом {'a': true, 'b': true}, сверху - {'a', 'b'} twitter.com/FlyDieFly/stat…

17:11
@webholt @backendsecret например оптимизированное по быстродействию насилие над компайлером :3 Битовые сдвиги, все дела.

Оптимизированные по быстродействию места обычно не читаемы, там без комментов никак =) twitter.com/ostelaymetaule…

17:13
о некоторых секретах бэкенда я бы лучше не знал(ожидал, что щас про реализацию хэштаблиц, бакеты, это все расскажут) twitter.com/backendsecret/…

Хаха, это был просто пример =) twitter.com/LordOfBoredom/…

17:14
@backendsecret @FlyDieFly рекомендую глянуть вот этот курс edx.org/course/introdu… там как раз рассказывается про словари, хэш функцию etc
17:15
@gorancheg @backendsecret неее, я имею представление о деревьях и тому подобное, но если попросят написать реализацию красно-черного? Нет. )

Если есть университетское образование, то не должно стать проблемой.Там на первых курсах реализуешь многие структуры twitter.com/FlyDieFly/stat…

17:18
@backendsecret есле лень гуглить: eftimov.net/postgresql-ind… , eftimov.net/postgresql-ind…

Про индексы в БД, но там только про B-Tree twitter.com/poctek/status/…

17:45
@backendsecret для меня Григорий Петров поставил точку в вопросе комментирования кода youtube.com/watch?v=-SRUct…
17:56
@backendsecret раньше чем это будет нужно :)
18:09

# Суббота 30 твитов

@backendsecret вопрос немного с опозданием, у вас на каждую команду по выделеному Скрам мастеру?

Роль скрам мастера берет кто-нибудь из команды. twitter.com/evgeniy_moroz/…

8:36
@backendsecret на постоянной основе или ротация присутствует?

Ротация случается если пропадает предыдущий скрам мастер, а так нет twitter.com/evgeniy_moroz/…

8:42
@backendsecret именно технологии, помню года четыре у вас там монгодб нахваливал коллега, что с ним стало и что теперь? :)

Коллега, как и монга, больше не с нами :) twitter.com/mpak999/status…

9:15
@backendsecret именно технологии, помню года четыре у вас там монгодб нахваливал коллега, что с ним стало и что теперь? :)

Поисковый движок написан на питоне с торнадо - это самый высоконагруженный проект twitter.com/mpak999/status…

9:18
@backendsecret воооот ну и побольше таких инсайдов бы что внутри технологически, кто рулит щаз, а не о-метрики питонов

Генератор статики для СЕО страниц на эликсире в одной команде и на Го в другой twitter.com/mpak999/status…

9:22
@backendsecret а как вы релизы планируете в командах? Или готово - льем?

Готово - льём. Чем больше релизов - тем лучше. twitter.com/evgeniy_moroz/…

9:26
@backendsecret а как вы релизы планируете в командах? Или готово - льем?

Фича должна максимально быстро доходить до пользователей. twitter.com/evgeniy_moroz/…

9:27
@backendsecret воооот ну и побольше таких инсайдов бы что внутри технологически, кто рулит щаз, а не о-метрики питонов

Всякие лендосы и промо проекты на руби и рельсах, иногда нода twitter.com/mpak999/status…

9:28
@backendsecret как сравнительно показывают себя? Грабли может какие?

Показывают хорошо, скорость приличная. Про грабли не скажу, так как мало участвовал в написании. twitter.com/ajieks/status/…

9:52

Старайтесь хотя бы переодически пробовать новые технологии в бою.

9:56

Как кстати вам такая стратегия: пишете проект быстро, набираете тех долг и через 2 года переписываете проект на новых технологиях.

9:59

Из плюсов: время сэкономленное на устранении тех долга идёт в счёт на написание кода на новых технологиях, а они уже дают буст

10:03

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

10:04
@backendsecret опа, а как они отрабатывают js код. Через phantomjs?

Этот инструмент генерирует статику: html, js, css. Зачем им отрабатывать js? twitter.com/vanadium23/sta…

10:13
@backendsecret не надо так. переписывать - это супер дорого.

Поддерживать проект в хорошем состоянии тоже дорого, а так и технологии новые можно внедрить. twitter.com/borovikov/stat…

10:15
@backendsecret просто для СЕО надо сгенерить конечную html, которую прожуёт робот. А если это SPA, то надо думать о том, как отработать js.

SPA под СЕО? Зачем себе в ногу стрелять? :) twitter.com/vanadium23/sta…

10:20
@backendsecret переписывание - это такой стандартный путь проектов, когда нормальных программистов не сразу наняли

Предположим, что уровень у них высокий. Часто бывает, что фичу можно внедрить быстрее, но грязно. twitter.com/borovikov/stat…

10:27
@backendsecret потому что альтернатива иметь два несвязанных проекта и что хуже ещё неизвестно (:

У нас это и есть два разных проекта, не вижу в этом проблемы. twitter.com/vanadium23/sta…

10:28
@backendsecret как это устроено? Надо на тест обязательно не свою задачу брать?

Да, тестируем фичи друг друга. Голландское тестирование. twitter.com/merry_ejik/sta…

11:27
@borovikov @backendsecret можно же проект сделать так что бы было легко переписать весь или какую-то часть.
11:27
@borovikov @backendsecret в случае аутсорса ещё и спасибо скажут.
11:27
@backendsecret @evgeniy_moroz, а как такие релизы тестируются? Если функционала много и выпускается он часто нужно несколько тестовых нод ->

Сделал фичу, закинул на бету, протестили и выкатили на прод. Тестовых нод много. twitter.com/ultd39/status/…

11:29
Читаю я @backendsecret про зоопарк технологий и постоянные релизы и понимаю: как хорошо в компиляторах - только Си, релиз раз в год

Программистам может и хорошо, бизнесу плохо :) twitter.com/alexanius/stat…

11:30
@backendsecret часто бывает так : "Пишете быстро проект, набираете тех.долг. Через 2 года сваливаете и его переписывает новая команда."
11:36
А кто ведет @backendsecret на этой неделе что он в качестве советов выдает все самые плохие практики какие можно?

Давайте обсудим, называйте любую. twitter.com/anton_sunrise/…

15:47
@nmatuhin @backendsecret все зависит от бизнеса и финансовой стороны, и от размеров тех долга
15:48
@backendsecret сильно зависит от размера переписываемого. Для такой стратегии микросервисы рулят и бибикают.
15:48
@backendsecret ради того, чтобы просто попробовать, - мало выхлопа, много усилий. Надо решать конкретные проблемы
15:48
@nmatuhin @backendsecret хорошо, если то, что надо переписать, не надо развивать, а то придётся ещё фичи в обе системы добавлять
15:48
@backendsecret @merry_ejik всегда привожу аналогию из школы, когда менялись тетрадями на диктантах для проверки.
15:48

# Воскресенье 8 твитов

@anton_sunrise @backendsecret кто сказал, что проект будет кому-то нужен через 2 года? )))
9:10
@codeninja_ru @backendsecret когда в проект вваливают пару мультов евро он нужен и через 2 и через 10 лет
9:10
@anton_sunrise @backendsecret тогда эджаил не подходит для таких проектов
9:10
@backendsecret зачем? Работает - не трожь!

Так можно пробовать на новых проектах twitter.com/de_gis/status/…

9:11
@alexanius @backendsecret разные бизнесы требуют разный подход,где и бета-тест на юзерах ОК,лишь бы завтра фичу дать,а где-то нет
9:11
@backendsecret @alexanius бизнесу пофиг на заморочки технарей - важно,чтобы задачи бизнеса были решены в срок и заданные расходы
9:11
@grigoriy_orlov @de_gis @backendsecret @alexanius Такое редко бывает с опытными разрабами, которые называют сроки с 3-х кратным запасом )
12:56

Знает кто аналог MyDBR(построение веб отчетов), но только для PotgreSQL?

15:23

other