nazarov_tech

25 сентября 2017, Санкт-Петербург, Россия

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

привет, зайцы :)

Эту неделю тви для вас ведёт @nazarov_tech из Петербурга. Питонист, джаваскриптер (ну, такое) и организатор айти-движа.

12:11

Сейчас я пишу всякий веб для финтеха в @EXANTE_EU: ритейл-платформу, медиа. Помимо этого я член программного комитета конфы @PiterPy :)

12:19

ещё два проекта, где я орг: @spbpython (сообщество питонистов петербурга) и @djangogirls_spb (однодневный воркшоп для девушек).

12:20

допускаю, что кто-то может знать меня как автора "Эти токсичные, токсичные собеседования" ^^

habrahabr.ru/company/exante…

12:22

Суммарный опыт у меня лет 5, если верить моемукругу. Сейчас я пишу и фронт, и бэк. Как я дошёл до такой жизни?

12:31

Всё началось в маленьком городке под названием Уфа, где я, будучи студентом матфака, нашёл летнюю стажировку в дочерней структуре Роснефти.

12:32
@backendsecret Ничоси, "маленький городок" )

Ну, там почти нет айти-движа, и rabota.yandex.ru отдавала вам в те годы пустой лист по запросу "Python" twitter.com/fenix_gf/statu…

12:35
@backendsecret @EXANTE_EU @PiterPy У вас еще прием докладов на PiterPy ведется?

Ведётся. Если вы из питон-мира и вам есть, чем поделиться — piterpy.com twitter.com/Randomazer/sta…

12:36

(зато оттуда Шевчук, Земфира, и Георгий Албуров @alburov)

12:37

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

12:38

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

12:40

я нигде не видел, чтоб люди так пили (а я видел медиков, например).

12:42

И ещё здесь я впервые увидел, как программисты (!) рисуют кнопки в фотошопе, чтобы подделать отчётность по ГОСТу. Неэффективность во всём.

12:43

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

12:45

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

12:46

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

12:49

Этот человек научил меня многим очень правильным вещам: питону, гиту, Фейнману. Теперь я в свою очередь учу этим вещам других, отдавая долг.

12:50

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

12:52

Следующим этапом стал @TheUfanet — это крупнейший местный провайдер. Там меня @ufaweb приобщил к вебу и к джанге :)

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

человек с большим практическим опытом разработки, мудрый и добрый. И молодой, так что хорошо понимал студентов. twitter.com/kmaxat/status/…

12:57

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

13:00
@backendsecret Я тут и битрикса пытаюсь сбежать -- то еще болото, хоть и высокооплачиваемое в последнее время =(

дорогу осилит идущий :) Тут главное чтобы через контр-оффер обратно не всосало, а то такие случаи тоже постоянны twitter.com/vkryukov76/sta…

13:01

но при этом там были клёвые возможности для развития по меркам Уфы. Большинство бывших уфанетовцев работают в крутых конторах или за рубежом

13:03

и мы пытались мутить движ даже тогда. Уфанет и Rebranch устраивали #UfaPy (митап по питону в Уфе).Кажется, это был один из немногих митапов.

13:05

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

13:06

и с тех работаю почти исключительно на стартапы. Да, я тот самый startup junkie :) Как ни странно, петербург для такого вполне подошёл.

13:07
@backendsecret шнура что ли

арбенину ) twitter.com/OhTheAnguish/s…

13:08

в петербурге я неожиданно для себя открыл новую нишу: делать айти-движ. Это @PiterPy, @spbpython, @djangogirls_spb. И даже получается!

13:09

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

13:10
@backendsecret А свои проекты какие пилишь?

Стыдно, но OSS я сейчас почти не пишу. Так, фиксы всякие. Сообщества пока съедают всё время. Планирую это изменить twitter.com/Randomazer/sta…

13:11

Про города, раз уж затронул тему: разработчику в России комфортно в Москве и в Питере. Работы и развлечений вам хватит в обоих случаях.

13:13

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

13:14

в петербурге проще навигация, дешевле и проще аренда, ближе заграница и есть барная культура.

13:15

Помогла ли мне как-то математика (у меня даже диплом) в разработке? Тяжкий вопрос. Если кратко — да, но вообще не так, как принято думать.

13:19

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

13:20

в геймдеве требуется много математики (линал, тригонометрия, ..), но то ниша, в которой большинство из вас никогда не будут работать.

13:21

тем не менее матфак помог мне проникнуться абсолютным уважением к науке. Получить связи и опыт стремительной обработки факапов.

13:22

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

13:23

так что подытоживая: математика разработчику полезна, но очень косвенным образом. В целом вы можете спокойно жить, не зная её.

13:23

(до тех пор, пока вы способны хотя бы на уровне средней школы прочесть график, конечно)

13:24

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

13:31

если рассматривать это как инвестицию, это огромная инвестиция: 4-6 лет вашей жизни. Подумайте крепко, стоит ли оно того для вас.

13:31

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

13:33

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

13:33

кто-то идёт в вуз ради нетворкинга и "научиться учиться", но всё это вполне можно делать самому и даже с большим успехом (направленно).

13:35
@backendsecret учитывая качество современного обучения, опять же

я из своего вуза в итоге ушёл, потому что не высыпался и хотел работать. ¯\_(ツ)_/¯

Не рекомендую такой ход, впрочем
twitter.com/strangeqargo/s…

13:37
@backendsecret Не хотелось никогда, открыть свое дело, написать свой продукт, а не писать это для кого то за зп?

Это очень индивидуально. Кто-то (как тиньков или чичваркин) с юности работает на себя, кто-то открывает дело к 40 twitter.com/Randomazer/sta…

13:39

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

13:39

распространённое заблуждение в инете про "не работай на дядю" — что в найме нет достойных денег/условий. Есть, надо уметь искать. :)

13:41

если вам вдруг любопытно, средний возраст фаундеров по данным @ycombinator — 29 лет.

13:42
@backendsecret в найме есть плюс - график.
На фрилансе пашешь в двараза больше, в лучшем случае за теже деньги :)

да, особенно эта беда накрывает людей, которые в своё дело / фриланс попали впервые. Требования к организации иные twitter.com/POS_troi/statu…

13:45
@backendsecret я учился на степике и линуксу и питону - это отличный ресурс

курсы переживают расцвет. @htmlacademy_ru, learn.python.ru, learn.javascript.ru — на любой вкус.

twitter.com/gukobrist/stat…

13:47

поэтому существует практика менторства. Если вы нашли себе ментора (исторически это мог быть старший товарищ или преподаватель), вы молодец.

13:49

рунет — без шуток, одна из причин, почему хорошо жить в России. Здесь масса шикарных ресурсов, которые помогут вам подтянуть софт-скиллы.

13:53

учитесь формулировать мысли у @nickolaykononov и @perepisal. Оформлять красиво у @ilyabirman. Джаваскрипту у @iliakan. Менеджменту в Бюро.

13:56
@backendsecret У них для этого определенная мотивация. Но проблемы в банкинге ровно те же, что в нефтянке. За исклю… twitter.com/i/web/status/9…

всё так, да twitter.com/not_logan/stat…

14:05

Как-то сегодня пока очень софткорно/бизнесово получается, надеюсь, вы не в обиде. Завтра-послезавтра будут более технические дни )

14:06
@backendsecret менторство ущербно. хочешь кушать иди учись. почему что бы пойти пожрать человеку не нужен ментор?

Навык "пожрать" проще, чем навык разработки. Навыку разработки учатся всю жизнь, это во многом искусство :)

twitter.com/ilya_chizhanov…

14:08

люди сталкиваются с ворохом проблем: язык, психология, менеджмент. Сама специфика айти. Не врите себе: то, что мы делаем, чертовски сложно.

14:12
@backendsecret Имхо это куда интереснее, нежели перетирать одно и то же "техническое"

ну, хорошо если так :) Энивей постараюсь технических дискуссий тоже отсыпать. twitter.com/kelin2025/stat…

14:14
@ilya_chizhanov @backendsecret но младенца ментор сначала кормит с ложечки, а потом присматривает. вопрос же не про… twitter.com/i/web/status/9…

да, неплохая аналогия :) twitter.com/mktoid/status/…

14:19
@backendsecret а не создание очередных формочек на ангуларе/реакте/любом другом новомодном фреймворке при наличии миллиона гайдов

"Writing code is easy. Software development is hard."

twitter.com/curpeng/status…

14:37

нужно ли мне раскрыть эту мысль и рассказать, чем первое отличается от второго?

14:38

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

14:38

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

14:40

Филатов (facebook.com/filalogic) мне когда-то объяснил, что программист весьма похож на врача или адвоката. Его роль служебная: помочь.

14:43

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

14:44

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

14:48
@Randomazer @backendsecret Дык это уже индивидуально подбирается. Бывает так, что и команда норм и ЗП, а проект так… twitter.com/i/web/status/9…

да, в мире много хороших и разных контор. Не бойтесь продолжать искать своё место :)

twitter.com/vvn33/status/9…

14:49

существует определённая социальная стигма против тех, кто часто меняет работу. Особенно на exUSSR-пространстве. "Прыгуны".

14:54

эта стигма почти аналогична стигме про отсутствие диплома: имеет исторические причины, но сейчас уже играет мало роли.

14:55

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

14:56

если вы миллениал и работаете в стартапах, вопросов к вам будет меньше. Сама культура предполагает риски: forbes.com/sites/kaytiezi…

14:58

основной аргумент за смену работы — резкий рост доходов. Никакие повышения не дают такого эффекта forbes.com/sites/cameronk…

15:00

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

15:02
@curpeng @backendsecret Частая проблема. После определённого уровня начинаешь забывать какого это со стороны или вначале.

есть и такой биас, да. Называется "проклятие знания" twitter.com/ermo4enkov/sta…

15:03

но вас осудят, как и в случае ухода из вуза.

Вас осудят крепко и страшно. Будьте готовы стоять на своём и оправдывать выбор снова и снова.

15:04

Что касается выбора стека и карьеры, то тут ничего нового не открою, к сожалению: держимся классики про 10,000 часов и trend is your friend.

15:06

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

15:08

а уже отработав эти условные 10,000 часов, вы будете достаточно квалифицированы, чтобы принять решение, куда углубляться и где остаться.

15:09

и что важно: во фронтенде живая обратная связь. Вы будете видеть результат работы сразу, как и счастливых юзеров.

15:10
@backendsecret Поэтому надо забить болт и действовать согласно своей стратегии развития. Если она конечно есть 😉

да, осуждение страшно в тех случаях, когда у вас нет стратегии. Всё так. twitter.com/ermo4enkov/sta…

15:12
@backendsecret Я к тому, что нужна стратегия развития карьеры, а не просто прыгание за з/п

нужна.

Но парадоксальный факт: часто конторы, платящие выше, лучше и для карьеры о_0

twitter.com/ermo4enkov/sta…

15:13

но не всегда, см. нефтянку.

15:13

что есть "лучше для карьеры", например?

Круче тимлиды. Интереснее стек. Громче имя. Бюджет на выступления.

Но это индивидуально.

15:15
@backendsecret ну тут с т.зр. работодателя просто - не определился пока, не факт, что здесь определится - и цена замены

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

twitter.com/KitsuneO9tails…

15:18
@backendsecret Category theory, type theories, logic, lambda calculus etc - it’s all math which is the very foundation of programming.

strictly speaking it's all CS :) While undoubtedly remain useful these things are not required to get the job done twitter.com/8gene/status/9…

15:20
@backendsecret @nazarov_tech Запустил статистику backendsecret.ru/stats/
15:38

воспользуюсь тем, что я в берлине, и пойду припить бельгийского / купить себе LEGO :)

Задавайте пока вопросы / тем… twitter.com/i/web/status/9…

16:45
@backendsecret Диснеич 🌚

да, мы в рамках @spbpython делали митап с @paulhildebrandt, одним из главных технарей Диснея :) twitter.com/kelin2025/stat…

17:02
«Дайте мне всего три фронтендщика и я уничтожу @backendsecret» © Отто фон Даллес
17:07
@backendsecret Если видно что человек скакал по конторам, то опасения вполне обоснованы. Только вход в предметную о… twitter.com/i/web/status/9…

не везде год. Но да, вопрос срока, меры, и разумного объяснения twitter.com/alexanius/stat…

22:55

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

утро!

сегодня поговорим про разные языки бэкенда: python, js, go, ruby, c#, java с перспективы питониста :)

(С перерывом на TXL ✈ LED.)

7:44

Лайкните этот твит, если Python – основной язык, на котором вы пишете бэкенды.

8:12

Лайкните этот твит, если JS – основной язык, на котором вы пишете бэкенды.

8:12

Лайкните этот твит, если Go – основной язык, на котором вы пишете бэкенды.

8:13

Лайкните этот твит, если C# – основной язык, на котором вы пишете бэкенды.

8:13

Лайкните этот твит, если Ruby – основной язык, на котором вы пишете бэкенды.

8:13

Лайкните этот твит, если Java – основной язык, на котором вы пишете бэкенды.

8:13

забыл какие-то?

Простите, что опрос странным образом: тви не позволяет более четырёх вариантов, а сторонние сервисы не подтянутся на сайт.

8:15

Лайкните этот твит, если PHP – основной язык, на котором вы пишете бэкенды.

8:17

Лайкните этот твит, если Perl – основной язык, на котором вы пишете бэкенды.

8:18
@backendsecret Сразу видно где засели все бэкендеры

Позиции джавы очень сильны :) twitter.com/bloodrizer/sta…

8:42

Лайкните этот твит, если Scala – основной язык, на котором вы пишете бэкенды.

8:43

Лайкните этот твит, если Erlang/Elixir – основной язык, на котором вы пишете бэкенды.

8:43

Добавил к опросу Scala и Erlang.

Как я мог их забыть, неясно, учитывая, что @EXANTE_EU активно их пользуют: stackshare.io/exante/exante

8:49
@backendsecret Интересно, кто-то лайкнет?! Он вообще жив ещё?

Perl жив. Например, на нём написан весь бэкенд @bookingcom twitter.com/den4ikbyte/sta…

8:58
@backendsecret @bookingcom Как перловик могу сказать, что все полимеры просрали. Поэтому Питон и поднялся.

"всё, что написано на Perl, можно написать на Python. Только в последнем случае вы это ещё и прочесть сможете"

twitter.com/dcromster/stat…

9:30

но вообще я планировал начать оскорблять чувства верующих в другие языки чуть позднее. =/

9:31

постараюсь всё же быть объективным.

9:32
@backendsecret Не все так просто. Перл это не только язык, но еще куча качественных либ, не имеющих аналогов.

как и в случае с фортраном, кстати. И пёрл, и фортран мне приходилось использовать именно из-за каких-то старых либ twitter.com/barskykd/statu…

9:38
@backendsecret Вообще, конечно, обидно. Нет тех задач на Питоне, что не сделать на Перл легче. Но... И кстати Питон - это бейсик для web.

в том-то весь фокус, что "проще написать" не должно быть критерием.

90% времени мы читаем код: свой или чужой twitter.com/dcromster/stat…

9:41

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

9:43

Если честно, я не пишу на Ruby, потому что уже использую питон. У них очень перекрываются ниша и юзкейсы.

9:44

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

9:46

Мне не нравится общая немачурность языка (ломать всё минорным релизом), маленький рынок, меньшее число либ чем у питона.

9:47

Я знаю, что Ruby используют как основу стека серьёзные технарские команды. Например, @evilmartians_ru.

9:48

Продолжим о хороших языках.

Мне нравится Go. Чертовски нравится. Видимо, питонистам так положено :3

9:54

достаточно прозрачный и простой, мало оверхеда, асинк из коробки, деплой из коробки. Смешной маскот. Как не любить? 😍

9:56

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

9:57

на го написан, например, докер, но вот докер-компоуз – уже на питоне.

9:58
на го написан, например, докер, но вот докер-компоуз – уже на питоне.

И вот это уже очень хорошо иллюстрирует роль питона. Он всегда вместе с чем-то. Никогда – один. twitter.com/backendsecret/…

10:00

в связке с вебом, как клей для других языков, в приложении к наукоёмким штукам, ..

10:03

и почти везде он офигительно хорош.

10:05

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

10:08

ну и то, что он с самого начала проектировался должным образом. Посмотрите на CSS или PHP, и вы поймёте, о чём я.

10:10

У питона (как и у остальных языков) есть ряд проблем и штук, за которые его принято ругать.

10:12

например, разделение версий на Python2 и Python3. Болезненно, но в 2020 второй питон депрекейтнется и должно стать полегче.

10:14

правда, уже ведут разговоры о Python4, так что..

10:29

другая претензия состоит в скорости питона. Вот это самая обидная, потому что необъективная.

10:29

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

10:30

под капотом у питона C, а у его основных либ – плюсы. Стартовой точкой для понимания может стать пост Гвидо plus.google.com/u/0/1152120510…

10:36

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

10:37

Более серьёзная предъява к питону заключается в en.m.wikipedia.org/wiki/Global_in…

10:46
И каждый год какой-нибудь умелец его выкидывает из CPython и видит _ухудшение_ производительности twitter.com/backendsecret/…

да, это называется "проводить гилэктомию". Забавные драмы с этим связаны twitter.com/vanadium23/sta…

10:56

Считается, что Python – не конкурент NodeJS и Go в терминах concurrency. restapibuilder.com/blog/concurren…

11:00

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

11:03
@backendsecret morepypy.blogspot.ru/2017/08/lets-r… вот последняя статья на эту тему
11:04
@backendsecret А чувствуешь что nodejs отъела кусок пирога?

не чувствую.

Но я вращаюсь в питон-мире, так что это вполне может быть ошибкой выжившего. twitter.com/ruxeg/status/9…

11:05

например, @amel_true регулярно рассказывает мне, как хорошо дела у ноды.

11:06

я приземлился в петербурге, потеряв телефон в самолёте. Зато поболтал с капитаном.

Продолжаем.

14:05
@backendsecret от ноды уже даже автор ноды отказался в польщу Го
>I would definitely use Go for that. mappingthejourney.com/single-post/20…
14:06

Что ещё смущает в Go: скорость разработки.
@sysradium утверждает,что при должном опыте сравнима с Python, но мне в это трудно пока поверить.

14:15

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

14:16

Это отчасти так, но у нас теперь появился тайп-хинтинг, например: blog.pythonlibrary.org/2016/01/19/pyt…

Хитрота, которая сильно облегчает жизнь.

14:17

Эппловский Swift на бэкенде. Такое.

Алекс Федосов из Sportacam пробовал, говорит, прям ок.

14:19

Честно, ни разу не сталкивался. Расскажите, если есть опыт :)

14:19

Тут надо понимать, наверное: серверный Swift лишь прикидывается свифтом, как NodeJS прикидывается JS.

14:19

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

14:20
@kostenko @amel_true @backendsecret многопоточная. Есть механизм воркеров, с которыми можно общаться с помощью сооб… twitter.com/i/web/status/9…
14:26
@visualwatermark @kostenko @backendsecret воркеры это не потоки. А shared array пока в ноду не внедрили же.
14:26

Леди и джентльмены, много интересных реплаев, не осилю ретвитить/отвечать на всё. Думайте, читайте, открывайте треды сами.

14:27
@backendsecret А где взять задачки по питону? Не всякие тупые лесенки, а которые применяются в реальном мире.

Совсем-совсем в реальном? upwork.

Ну и отвечать на проблемы людей в сообществах. Это ещё и возвернёт ваш долг.

twitter.com/dcromster/stat…

14:29

NodeJS. Давайте поймём для начала, серверный джаваскрипт ведь уже перестал быть смертным грехом?

14:32

С типизацией здесь всё ещё хуже, чем у питона. И, как и в случае питона, здесь есть решения в эту сторону.

14:32

Некоторая немачурность всё ещё тоже присутствует. Важные штуки в ноду до сих пор доносят.

14:32

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

14:33

(@wouldntfix рассказывал, что у них есть сервера на ноде отчасти по этой причине).

14:34
@backendsecret Это очень спорное заявление.

Да. А ещё это старая цитата :) twitter.com/not_logan/stat…

14:37
(Oh, and fair warning to people considering node.js. It's full of hipsters. Like people-developing-on-typewriters levels of hipsters)

А ещё нода это вот так: twitter.com/notch/status/7…

14:42

и для меня это скорее плюс, но вдруг вы не миллениал? :3

14:42
@backendsecret Бэкенд, который мы заслужили
14:44

Продолжаем о хорошем. Крупная тема: Microsoft.

Ох.

14:55

тут периодически бывали люди, работающие с m$-стеком. Почему всех их объединяла лёгкая доля.. как это выразить. Вдохновлённости.

14:57

и это вызывало негатив у аудитории.

Попробуем поговорить про этот стек по возможности объективно.

14:58

Мне нравится C#. Приятный язык, чем-то похож на питон. Тоже есть добротная функциональщина (в виде F#).

14:58

As a matter of fact, первый код, за который я получил деньги, был написан на шарпе.

14:59

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

(Бабочка машет крылышками и над Атлантикой шторм, да.)

14:59

Но задачи шарпа это почти всегда какие-то скучные бизнес-приложения вроде бухучёта или махровый энтерпрайз. :( Мы писали воркфлоу.

15:00

Меньше фриланса. И самое главное — анальная замкнутость на m$-стек.

15:00

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

15:00

При этом огромная куча людей работают с m$-стеком и вполне счастливы.

15:01

Тем более что m$ после ухода Балмера наконец дружится с опенсорцом,
маппит убунту на ядро windows и вообще няшечки *_*

15:01

Глядишь, ситуация кардинально изменится. Microsoft был и остаётся самым опасным игроком из айти-гигантов. Есть шанс, что переживёт всех.

15:02

Что не так:

1) закрытость стека (всерьёз фиксят)
2) неумение заходить на рынки
3) усиленный промыв мозгов сотрудникам

2 и 3 хроническое.

15:03
@backendsecret TypeScript FTW

Да. У Microsoft всё ещё сильнейшие технари и крутые технологии. Забывайте потихоньку негатив к ним.

twitter.com/rodneyspn/stat…

15:05
@backendsecret А в каком месте он похож на питон?

довольно высокого уровня (в терминах ёмкости CLOC). Мультипарадигмальный. Приятный. Прикладной. Твой^W

twitter.com/PaGrom/status/…

15:07

Если б не задачи, я бы писал на шарпе и бед не знал. Не сомневаюсь в этом.

15:09
@backendsecret Неумение заходить на рынки? Azure за пару лет с нуля вышел в лидеры облачных сервисов, AWS проигрывает по всем фронтам.

Ну.. громкое заявление, что AWS проигрывает Azure..

Отвечая на вопрос: например, мобилки, планшеты. Но это оффтоп twitter.com/diepleasediedi…

15:17

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

15:18

Почему я много смотрю на рынок, задачи, применение вместо парадигм, ООП-фич, синтакса?

15:19

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

15:19

Хорошо ли это? Для разработчика, наверное, не очень.

В этом плане я неправильный. (Ещё я неправильный тем, что люблю людей больше кода.)

15:19

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

15:19

У всех ООП, у всех функциональщина с красивенькими лямбдами.
Большинство умеет веб (или пытается). Даже синтакс выглядит почти одинаково.

15:20

Голое техническое сравнение имеет всё меньше смысла.

15:20
@backendsecret Думается именно так и стоит оценивать инструменты. Ведь 80% нашей работы сводится к решению проблем… twitter.com/i/web/status/9…
15:38
@backendsecret Типизация имеет прямое влияние на стоимость разработки и поддержки, например.
15:45
А особенности реализации многопоточности и работы с памятью - на принципиальную возможность создания продукта. twitter.com/backendsecret/…
15:45
@retran @backendsecret Вот почему когда я такое говорю, мне сразу же со всех сторон сыпется "обоснуй?!"

Такова инженерная культура. Мало заявить, это ещё надо и обосновать.

(Если, конечно, ты не ведёшь @backendsecret)

twitter.com/MurcielagoCat/…

15:53

от хороших языков к прочим. Джава..

(не "ява", во имя материнской любви)

16:07

..не является ни хорошим, ни плохим языком.

Джава посредственная.

Вот пост, с которым я согласен на 100% blog.plover.com/prog/Java.html

16:08

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

16:08

задачи на джаве. Почти та же ситуация, что и с шарпом:
вам много заплатят, потому что обычно это махровый энтерпрайз..

16:09

..но вам будет скучно, потому что обычно это махровый энтерпрайз.

Не знаю. Многим норм. А вам?

16:09

Особняком идёт андроид, который мы тут не обсуждаем, потому что это и не бэкенд, и не джава. Это не скоуп данного твиттера.

16:10

Если вы очень хотите писать на джаве, на вас тошнит от неё, берите скалу. Скала хорошая.

С ней прям можно жить. Правда.

16:10

Или котлин какой-нибудь. Его сделали няшечки @jetbrains из петербурга.

16:11
@backendsecret ну во первых современная джава довольно миленькая :) а во вторых scala/kotlin/clojure/etc
16:13
@backendsecret Помимо энтерпрайза, на java пишут базы даных, поисковые движки, key-value и иже с ними

Очень много чего пишут. Это, на секундочку, второй из основных языков Google наряду с питоном twitter.com/evkaky/status/…

16:15
@MurcielagoCat @backendsecret Люди склонны обобщать свой рабочий опыт на всю индустрию. Твит ниже про неуловимость C# сильно символизирует.

Именно так. Помните про ошибку выжившего, слушайте всех, но делите услышанное на три и извлекайте корень twitter.com/retran/status/…

16:18

верить нельзя никому. :) Мне — можно.

16:19

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

16:20

Причём питон он любил, даром что был плюсовиком с двадцатилетним стажем. (Такие обычно питон презирают.)

16:21

Я считаю, это перебор. Джава не так плоха. Она посредственна, не позволит написать что-то прекрасное, но это инструмент как инструмент.

16:22
он так набрасывает по приколу или латентный дотнетчик? twitter.com/backendsecret/…

я питонист, зайцы :) twitter.com/LordOfBoredom/…

16:26

(ну ладно, может быть, иногда я смотрю видео с дотнетом, когда остаюсь один)

16:29
@backendsecret Прекрасное - нечитабельный и в 1 строку?

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

twitter.com/solomkinmv/sta…

16:30

(вы ведь помните, да, что большая часть любого кода будет выкинута/переписана?)

16:31

что касается читаемости, у питона нет равных. Это фактически псевдокод.

16:34

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

16:35
@backendsecret пока асинхронщины не захочется :)

тогда молитесь ветрам, да.

Питон очень старается стать асинхронным языком, hence the ASGI и asyncio, например.

twitter.com/barskykd/statu…

16:37

PHP.

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

Плохой язык, что родился в тёмные времена веба.

16:40

Панченко @asfdfdfd : "люди, которые пишут на php/firebird, напоминают мне солдат, прятавшихся в лесу и не веривших, что война уже кончена."

16:40
@backendsecret @asfdfdfd @straykov yii2? rly? я думал ты скажешь про laravel

Это тоже отличный фреймворк на пхп! twitter.com/vanadium23/sta…

16:53
@backendsecret @asfdfdfd register_globals=off из коробки больше десяти лет (с 4.2.0), но хейтеры обычно не в курсе

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

twitter.com/russianlagman/…

16:54
@backendsecret @asfdfdfd @straykov YII - плохой пример. Symfony - лучший пример. Laravel - "пишите на фреймворке, а… twitter.com/i/web/status/9…
16:55
@backendsecret давайте лучше про встроенный язык технологической платформы 1С: Предприятие поговорим. Самый популярный язык в стране ведь.

О господи.

Нет, пока я здесь, про 1C мы не будем говорить. Это в большей степени бухгалтерия, чем разработка.

twitter.com/retran/status/…

17:01

Но все эти различия языков в конечном счёте фигня.

17:03

В московском офисе @voximplant меня поил вкусным кофе @grigoryvp — человек, который свободно пишет код на десятке языков

17:04

Старайтесь выбирать инструмент под задачу, знайте его, будьте счастливы :)

Я вернусь завтра, а пока снова объявляется трёп без адженды.

17:06
@mr_mig_by @backendsecret Совет никому не поможет. Он может не подойти под контекст. А вот на фундамент из принципо… twitter.com/i/web/status/9…
17:19

Результаты опроса по языкам бэкенда, девятичасовой срез pic.twitter.com/FW9Di6r5ZP

17:37

надо помнить, что это твиттер. Многие из тех, кто пишет на PHP и Perl, в твиттере не сидят.

17:38

Очевидно, по этой причине эзотеричные эрланг с эликсиром обогнали пёрл.

17:39

Go обогнал ноду и шарп вместе взятых. Приятно видеть.

17:40

Джава и питон почти вровень. Но мы ещё повоюем :)

17:40
@just_hank_moody @backendsecret Не говоря уже о саперах.

Так сап и есть одинэс, просто с поправкой на Германию twitter.com/retran/status/…

17:42

Скала куда-то потерялась. v_v

Вот более правильный пайчарт pic.twitter.com/evVSeysHHE

17:46
В две тысячи третьем и правда сложно в твиттере сидеть: его ещё не изобрели. twitter.com/backendsecret/…
18:00

# Среда 92 твита

продолжаем. Ещё один опрос: ваша текущая позиция

13:19
@backendsecret Немного странный опрос для _backend_ secret? :)
Tech Lead.

не такой странный, на самом деле. twitter.com/paaleksey/stat…

15:03

вот я — бэкендер, который последнее время старается стать полноценным Full-Stack.

15:03

зачем мне это? Во-первых, мне во фронте интересно. Во-вторых, я расту в CTO / tech cofounder, для чего требуется понимать все части.

15:04

Но я отдаю себе отчёт, что все фуллстек-девелоперы на самом деле миф.

15:05

С учётом сложности и объёма текущих стеков ты всё равно останешься где-то экспертом, а где-то не вполне.

15:06

Нельзя 100% эффективности/времени кинуть и туда, и туда. И интересно будет больше где-то в конкретном направлении.

15:07
@backendsecret Я в полушутливой манере представляюсь как senior problem solver поскольку это в наибольшей степени с… twitter.com/i/web/status/9…

Да, это интересная особенность: вы можете представляться как угодно. Джоб тайтлы — часть маркетинга

twitter.com/404_denied/sta…

15:08
@backendsecret @asfdfdfd Питонисты это обычно неудачники программирования. Они не умеют программировать и считают ч… twitter.com/i/web/status/9…

привет неудачникам программирования, читающим меня :) twitter.com/basili4_1982/s…

15:09

Но залезать в соседнюю область стоит. Причём для вас как для бэкендера это может быть и не фронтенд. А, например, девопс или бизнес.

15:10

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

15:10

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

15:17

Насколько я могу судить, чистые бэкендеры сейчас не столь в ходу, как когда-то были. В большей цене фуллстечники и девопсы.

Я ошибаюсь?

15:18
@backendsecret но при этом платят за одного, а требуют за 2х

Это сложный вопрос. Платить вполне могут и больше, как и в случае с "единорогами" (#uiux + фронтендер в одном лице)

twitter.com/dcromster/stat…

15:20
@backendsecret часто такие попадались? мне показалось, что все сколько-нибудь серьезные компании ищут чаще всего уз… twitter.com/i/web/status/9…

часто. Как в РФ, так и за рубежом.

twitter.com/roman_says_hi/…

15:25
@backendsecret А бэкендеры разделяют фронт на веб/йос/дройд, или для вас все едино?

не могу сказать за всех, но я не вношу ios/android во фронтенд. Для меня это мобилки twitter.com/mMaxy85/status…

19:19
@backendsecret Когда куча задач по бэку и фронту, фуллстек нужен скорее для координации остальных разработчиков. Ил… twitter.com/i/web/status/9…
19:19
@backendsecret Плюс есть комплексное видение проекта. Если добавить умение общаться с простыми смертными — получается латентный CTO.
19:19
@backendsecret Когда искала работу, то ни на одном собеседовании фуллстек не просили. Хотя я веб стек вплоть до HTM… twitter.com/i/web/status/9…
19:20
@backendsecret нет такого понятия как "инженер девопс"

теперь уже есть. Хоть devops — методология, на практике теперь есть и позиция с таким названием twitter.com/axique/status/…

19:21
@backendsecret А ещё часть осознания своего места. Если будешь говорить - программист, то так для всех и будешь им. Job title очень важен.

важен. Название вещи влияет на её суть. Не помню, какой это принцип в философии.

twitter.com/ermo4enkov/sta…

19:22
продолжаем. Ещё один опрос: ваша текущая позиция

лишь половина читателей относит себя к бэкендерам. Это к вопросу о том, зачем было такой опрос делать. twitter.com/backendsecret/…

19:24

Давайте поговорим про тестирование.

Пишете тесты? Какие? До или после написания функционала?

19:25

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

19:27

частая фраза "у нас нет времени/денег ещё и на тесты, функционал не успеваем".

19:29

Проблема в этой фразе прежде всего концептуальная: если вы пишете тесты, это не что-то сбоку. Это непосредственная часть разработки.

19:29
@backendsecret если разработчиков больше 3, без CI, основанной на функциональных тестах, не обойтись - будешь больш… twitter.com/i/web/status/9…

depends.

Сам автор TDD утверждает, что каждый сам определяет меру и баланс. Важно иметь уверенность в коде.

twitter.com/russianlagman/…

19:31

вы можете достичь эту уверенность разными способами. Можно через мануальщиков, можно через каверадж, можно гибридно, etc etc

19:31

Кстати, о TDD (и её новой инкарнации BDD).

считаю, что строго следовать ей (как и прочим экстремальным/нишевым практикам) нерационально.

19:33

но если вы однажды всерьёз писали по BDD, это сдвигает вам мозг в очень правильную сторону. Это как на хаскеле покодить. Рекомендую.

19:33

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

19:34

удивительно, но для некоторых проектов это не столь страшно. Например, если это MVP-однодневка.

19:35

А ещё покрыть тестами — самый простой способ лить в опенсорц. Многие даже именитые проекты имеют с этим проблемы. Сделайте доброе дело. :)

19:37

кстати, полностью аналогично с документацией. Её даже проще писать, наверное.

19:37

в проекте, где всё было организовано системно, твой PR не мог быть принят CI, если понижал каверадж dev-ветки.

19:38
@backendsecret Авотнихуя! Грамотная, спланированная, правильными словами написанная дока - это адовый труд. Говорю как писавший.

Да, пожалуй twitter.com/MurcielagoCat/…

19:39

писать документацию ещё одна штука, на которую традиционно забивают разработчики. Мол, я написал код, всё окей. Но это _часть_ вашей работы.

19:40

впрочем, в некоторых (крупных?) конторах за вас это сделают техписы.

19:41
@backendsecret А еще - придумывать иллюстративные примеры. И желательно - в формате кода, который можно чекаутнуть… twitter.com/i/web/status/9…
19:41
@backendsecret Для особо ретивых стоит добавить - нет, XMLDOC/Javadoc и прочего что генерится из кода - НЕДОСТАТОЧНО!!!

мне нравится страсть :) Люблю видеть, когда человек к чему-то неравнодушен. twitter.com/MurcielagoCat/…

19:41
@backendsecret Техписы работают далеко не во всех условиях. Если проект сложный - то объяснить техпису что писать ~= написать самому
19:42
@backendsecret Тут еще вопрос, что первично. В рельсах, например, можно апи доку генерить по rspec :-)

В джанге так тоже можно. Со сваггером, в частности twitter.com/russianlagman/…

19:42

Тесты и доку писать очень стоит, если вы делаете OSS. Как верно замечает @andrey_sitnik, в наше время людям нужен не тупо код, а продукт.

19:43
@backendsecret А знаете, почему они имеют с этим проблемы?

Потому что это сложнее программирования.

19:44

современные реалии таковы, что вы не можете просто сесть и начать писать тесты. Нужны инфраструктура и отлаженные процессы вокруг неё.

19:46

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

19:47
@backendsecret Говорю всем: если вас на собеседовании спрашивают "можете ли вы в юнит-тесты", то отвечайте вопросом… twitter.com/i/web/status/9…
19:49
@backendsecret для фласка - и почти уже для tornado и т.п. есть изумительный github.com/zalando/connex… от @ZalandoTech

Кстати,я вот только что из Берлина, и там каждая собака знает @Zalando. Клёвая техническая контора от мира моды (!)

twitter.com/strangeqargo/s…

19:50

Старая песня. Смиритесь: язык живой и меняется. Это слово уже используется в этом значении.

twitter.com/vastepanoff/st…

19:52
@MurcielagoCat @backendsecret о, помню как меня приняли на работу, сказали: "а покрой-ка тестами тот модуль", а там функции по три экрана

вот напомнили офигенно важный поинт, спасибо.

Потребуется не только инфра. Вам ещё потребуется организация кода.

twitter.com/ga_garrett/sta…

19:53

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

19:54
@backendsecret От разработчиков не дождешься чего-то сложнее автодоки (говорю как разработчик), но есть у меня гипо… twitter.com/i/web/status/9…

Это вопрос процессов, а процессы ставит кто-то вроде CTO. Локально у вас мало шансов повлиять

twitter.com/szastupov/stat…

19:57

и, может быть, вам и не стоит? Подумайте, чего точно вы хотите достичь.

19:57

кстати, вспомнил иллюстрацию на эту тему. Однажды в додопицце разработчик совершил ошибку при переносе бд между тестом и продом.

19:59

Контора потеряла 10 млн рублей (спойлер: вернула усилиями нетехнарей, создав шумиху).

20:00

В каментах на vc.ru все как один бросились обвинять криворукого разработчика, Яндекс.Кассу, кого угодно.

20:01

Хотя по факту в случившемся виноват был CTO (которого вскоре после этого сменили). Именно CTO отвечает за процессы технического характера.

20:02

Ну и косвенно виноват CEO, который взял такого CTO, конечно. Но он извинился.

20:03

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

20:03

Хорошие процессы поставлены так, что ошибку будет совершить сложно / недорого.

20:04

Давайте я вам ещё офигительных историй

В одну контору устраивался джун, и в welcome letter ему пришли все ключи и пароли от прод-окружений.

20:05

оказалось, в этой конторе такой welcome letter приходил вообще всем.

20:05

что было дальше, угадайте?

Джун дропнул базу прода и чуть не сошёл с ума от ужаса. Его стали увольнять и запугивать.

20:06

Кто виноват в этой истории?

20:06
@backendsecret Сознательно дропнул?

Ну конечно нет, он же джун, а не мудак. twitter.com/darkfelex/stat…

20:07

А теперь вишенка на торте: у них не было бэкапа.

20:08
@backendsecret Хех!!) Дык основная идея девопс в том, что все участвуют в процессе. А если есть такая должность, значит нет самой культуры!

да. Диалог из моей памяти:

— Это.. как там.. как этот суперадмин ихний называется?
— Девопс?
— Да.

twitter.com/KSDaemon/statu…

20:10
@backendsecret Вот линка про это reddit.com/r/cscareerques…
20:10

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

20:15

компания отнеслась понимающе, всё оплатила и сказала так больше не делать.

20:15

Парню из уфанета повезло меньше. Он ошибся с циклом и отправил одному важному клиенту 10 смсок. Уволили.

20:16

Катастрофы вызваны интерференциями ошибок в процессах.

Если джуны ходят в прод, у всех любые права, а бэкапа нет — you're asking for it.

20:19
@backendsecret Я не согласен на счет сто. Он может заенфорсить. За процесс должны отвечать все сместе. Сто несет от… twitter.com/i/web/status/9…
20:21
@backendsecret Кстати, пользуясь случаем, напомню несколько подкастов по теме: bit.ly/2hxpya2 И особенно S… twitter.com/i/web/status/9…
20:21

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

20:23

Давайте может за докер поговорим? Используете?

20:24

я жил со всем и долго. Вагрант, докер, деб-пакеты.

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

20:26

вот например эпохальный материал с критикой thehftguy.com/2016/11/01/doc…

20:28

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

20:31

Это редкая штука, даже очень редкая, но не дай боже вам её словить. Или какую-то подобную.

20:31

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

20:32

при этом @sysradium много рассказывал, как CloudLinux готовят докер в проде и всё отлично работает. Верю, почему нет.

20:33
@backendsecret Меня в докере печалит то, что чтобы ты ни делал, скорее всего, ты делаешь это "неправильно".

хм, а чуть пояснений?

twitter.com/mr_felixoid/st…

20:34
@backendsecret Ни в одной компании где я работал не писали тесты. В одной были пустые разговоры типа"о да... Надо б… twitter.com/i/web/status/9…
21:16
@backendsecret Всегда, на все, бэк. Как писать без тестов вообще не представляю.
21:16
@backendsecret Что в итоге с разделенем docker-ce / docker-ee? Им удалась попытка монетизировать проект за счёт интерпрайза?

Фиг знает. :) Всегда юзал бесплатный twitter.com/snejink/status…

21:16
@backendsecret тест - это гарантия выполнения определенного участка продукта с заданным качеством. А гарантия может… twitter.com/i/web/status/9…
21:17
@dcromster @backendsecret Тесты какие-то придумал, мы сегодня фичу пообещали порелизить за неделю. Дедлайн завтра,… twitter.com/i/web/status/9…

.@soviet_it протекает! twitter.com/_jeck/status/9…

22:16
@backendsecret это когда было? все пароли должны быть в 1password, не делать бэкапы это зря, все в plain text - не секурно, идиоты ;)

да, парольные менеджеры есть добро. И для вас, и для секьюрности. Сделайте себе подарок, начните юзать twitter.com/lisovskyvlad/s…

22:17
@backendsecret я один раз случайно отключил антиспам на сутки. Гендир получил 20к писем. Не уволили, но просили больше так не поступать.
22:17
@backendsecret Не хватает ответа "к сожалению, в том числе в проде". У меня один проект сильно от докера пострадал, неумело приготовили.
23:14
@backendsecret Моя любимая статья про документацию :) gaperton.livejournal.com/60632.html
23:51

# Четверг 90 твитов

Frontend is not easier than backend.
You can order a more powerful server or more servers to scale horizontally. Yo… twitter.com/i/web/status/9…

Почему-то частый мем про бэкенд "вы не умеете оптимизировать, просто добавляете сервера" twitter.com/subzey/status/…

9:24

при этом я его слышал вообще от айосника. Что ж. Они правда традиционно больше таким заморочены, наверное?

9:25

давайте про оптимизацию поговорим. Какая самая важная штука, что нужно про неё знать?

9:25

на мой взгляд, это то правило, что оптимизацию стоит предварять профайлингом/рисёчем.

9:27

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

9:27

об этом говорил то ли @bobuk, то ли @umputun в #tadiot. И дело не в ваших знаниях io/сети/языка/алгоритмов/..

9:29

другое правило в том, чтобы не думать об оптимизации преждевременно.

9:32

большинство кода, что вы пишете, будет выброшено/переписано. Это нормально. Поэтому мы пытаемся делать его поддерживаемым.

9:34

1) напиши 2) напиши чисто 3) напиши быстро

если грубо, то итерации выглядят как-то так. Но куча людей сразу прыгает на последний пункт.

9:35

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

9:36

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

9:37

ты можешь писать сколь угодно эффективный код, кастомные JSON-парсеры (да, увы, работал с таким чуваком), но что толку, если твой ПМ плачет?

9:38
@backendsecret Приходится добавлять! Фронтендеры же не умеют кэшировать, всё с сервера тащат каждый раз!

веб сделал кучу шагов к оптимизации фронта последние годы. twitter.com/vassilevsky/st…

9:39
@backendsecret Вообще хайлоад мне напоминает дым и зеркала. На самом деле большинство данных, которые вы видите в интернете - кэшированы.
9:40
@backendsecret Сервера асинхронных операций, шина опять же.. В общем оптимизация высоконагруженных приложений - это… twitter.com/i/web/status/9…
9:40
@backendsecret Иногда история про оптимизацию разворачивается в кардинальное изменение архитектуры системы.
9:40
@backendsecret Я один SDET в команде, в которой разрабы тесты вот вообще не пишут. И мне плохо(

*шлёт лучики добра* twitter.com/Frame_Bassman/…

9:40
@backendsecret Когда у вас запрос к базе отрабатывает 5 секунд - нет большой разницы сериализуются его результаты за 300ms или за 50ms.

да, это как раз про боттлнеки twitter.com/MurcielagoCat/…

9:49
@MurcielagoCat @backendsecret Какыто? Какыто? Но ведь пирфоманс же! И не скейлится!

twitter.com/mr_mig_by/stat… pic.twitter.com/IEHDtmh1PK

9:52
@backendsecret чому. оптимизацию, если уж на то пошло, не с профилирования начинают, а с понимания "чо такое достат… twitter.com/i/web/status/9…
10:02
@vassilevsky @backendsecret Кстати, хорошая тема для обсуждения, content delivery, он вроде как на стыке бэка и фронта
10:12
@vassilevsky @backendsecret Просто все эти "Вы gzip забыли", "У вас CORS GET с префлайтом", "Вы max-age не шлёте",… twitter.com/i/web/status/9…
13:29
@sananbozkurt @backendsecret Пожалуйста! info.jetbrains.com/JetBrains-Meet… Торопитесь, мест мало осталось! :)
13:29
@akenoweb @backendsecret А вы пишете на своем бэке хеллоуворлды? А тесты нужны почти везде, потому что при рефактор… twitter.com/i/web/status/9…
14:42

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

14:50

смешно, казалось бы? Ну это ж очень косвенное отношение имеет к разработке?

14:50

но я видел конторы, где все жили в одной ветке и был запрещён рибейз.

14:51

и я видел разработчиков, большую часть времени использующих wip/fixes/две точки в качестве commit message.

14:53

и для меня процессы вокруг dvcs говорят больше, чем многое другое.

14:55

Как вы относитесь к git rebase? (и его частям, меняющим историю: сквош, аменд, ..)

14:58

(предполагаем, разумеется, что речь о фичебранчах)

14:59
@backendsecret в своих бранчах - всегда. Но только что бы сквошнуть коммиты типа "fix, fix fix, fix for fix, bla bla".
14:59
@backendsecret линейная история круто
14:59
@backendsecret Ключевые слова - trunk-based development, branch by abstraction, feature toggles
15:01
@backendsecret Так я могу нахуячить говна в ветке, зачем мне оно в истории? Надо причёсывать прежде, чем вливать.
15:02
Как вы относитесь к git rebase? (и его частям, меняющим историю: сквош, аменд, ..)

больше половины активно используют, почти никто не запрещает. Отлично twitter.com/backendsecret/…

17:33

я люблю рибейз. Это путь к чистой и внятной истории коммитов.

17:34

разумеется, никакого изменения истории в шаред-ветках. А на основных ветках вроде develop, master, .. вообще должен лежать протект.

17:35

что ещё является хорошей практикой на мой взгляд, как правило? git-flow

17:35

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

17:37

под проект, кейсы, опыт и команду.

17:37
@webholt @backendsecret а зачем хреначить говно и потом его причесывать вместо того, чтобы сразу сделать нормально? %)

"зачем делать плохо, если можно сразу хорошо"

В айти у вас два способа: быстро и плохо, либо медленно и плохо twitter.com/KSDaemon/statu…

17:38

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

17:39

Что ещё ведёт к чистой истории в гите?

Правильное соглашение о коммит-мсджах.

17:40

я евангелю chris.beams.io/posts/git-comm…, но у вас может быть своё.

17:40
@backendsecret Не, на самом деле можно делать сравнительно быстро и весьма качественно (как мы например, хех), но это стоит овердохера денег
17:43

корневой момент: существующее соглашение в команде важнее, чем идеальное / в которое вы верите

17:45

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

17:45

сейчас я всё ещё воюю за него, но делаю это с нежностью и пониманием.

17:46

мыслите не от "как надо", а от "как есть, почему так есть и зачем/как это имеет смысл изменить"

17:47

и если решились, наметьте срок итерации, после которого взвесите всё снова.

17:48
@backendsecret Аэм.. вот у нас например номера задачи в JIRA принято писать, ибо интеграция. Разве не у всех так?

хороший вопрос. Нет, не у всех. по git-flow номер задачи ставится в название ветки twitter.com/MurcielagoCat/…

17:49
@backendsecret фуллстек - это человек, который может за неограниченное время сделать в одно лицо современный сервис… twitter.com/i/web/status/9…

Веб-мастер – какое-то странное слово из девяностых. Мне кажется, Яндекс одни из последних, кто ещё его использует twitter.com/nmatuhin/statu…

17:50

Давайте об инструментах?

Хардварь, софтварь. Рабочее место.

17:54

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

17:54

сижу на чём попало. Вот это очень неправильно: спину лечить дорого, сложно, неприятно, и не довылечишь.

17:55

использую Linux (Ubuntu, Fedora). На маке мне тоже работать было в кайф. Обе ос отличные.

17:56

а вот Windows для разработки всё ещё неудобна. Они стараются, и есть куча полезных хаков/тулов, но нет. Простите.

17:56

из IDE у меня персональная лицензия на @intellijidea и я доволен. Оплачивает всё мой работодатель.

17:57
@backendsecret @intellijidea Почему не Mac? Что больше понравилось?

мак был рабочий. Себе я вряд ли куплю устройства эппл, слишком дорого и меньше умеют twitter.com/bhjkaser/statu…

18:02

ну то есть это всё ещё неплохое железо и неплохой софт, но value у них сейчас очень низкое лично для меня.

18:03
@backendsecret @intellijidea О, за факторию респект

Ни одна игра так не воссоздает ощущение разработки. И магии разработки. Но вам придётся брать отпуск. twitter.com/kelin2025/stat…

18:08
@backendsecret Всегда интересно спросить было - только я один отвык от мыши совсем за макбуком или это у многих?

насколько сужу по коллегам, у многих twitter.com/vladimore/stat…

18:11
@backendsecret @intellijidea Платил год за вебшторм. Потом уволился и ушёл с Большого Проекта. А свой код комфортне… twitter.com/i/web/status/9…
18:11
@backendsecret HermannMiller, Corei7/16GB, 24'' монитор (один), игровая мышь, регулярно меняю клавиатуры, игровой н… twitter.com/i/web/status/9…
18:11
@bhjkaser @backendsecret @intellijidea linux mintIDE phpstorm плачу сам, goglang пока сырая бесплатная.
Пытался р… twitter.com/i/web/status/9…
18:11

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

18:19

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

18:21

Давайте сочную тему возьмём. Что определяет хорошего тимлида/техлида?

18:22

Мне почему-то везло, как везёт всем дуракам. Я учился и учусь у лучших.

18:23

есть классический тред news.ycombinator.com/item?id=103950… про это

18:24

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

18:26

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

18:27

неплохо быть готовым пробежать лишнюю милю. Если вы не готовы, от вас этого всё равно потребуют. Смиритесь.

18:29

вы не сможете столько времени уделять коду, как в те времена, когда были сеньором. Вас будут жрать митинги, орг проблемы. Смиритесь.

18:31

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

18:33

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

18:34

а ещё вы столкнётесь с непониманием. Его будет много.

И вас будут не любить за ваши решения. Вот про это подробно:
facebook.com/photo.php?fbid…

18:37

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

18:39

и по аналогичным причинам не открывают дело.

Не знаю.

Для меня это было не "не хочу начать", а "не могу не начать". Оно сильнее тебя.

18:43

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

18:44

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

18:44

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

18:45

снова и снова, опять и опять.

Учитесь формализации своих мыслей. Учитесь стоять на идеалах и идти на компромисс. Учитесь слушать и слышать.

18:49

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

18:50
@MurcielagoCat @backendsecret Ну и ЧСВ у вас ппц.

“If you don't toot your own horn, don't complain that there's no music"

twitter.com/nomit/status/9…

18:55

попросили меньше ретвитов. Попробую более вдумчиво.

19:48
Давайте может за докер поговорим? Используете?

внезапно: половина людей использует докер в проде. Не ожидал такого проникновения twitter.com/backendsecret/…

20:30
@backendsecret Куда нам без контейнеров? github.com/clearcontainer…
21:07

# Пятница 168 твитов

Что делает разработчика счастливым?

9:50

До определённого момента повышение доходов, наверное. Интересные задачи/стек, клёвые коллеги. Комфортный офис или возможность удалёнки.

9:51

Но есть два фактора, о которых большинство забывает или игнорирует. Это сон и коммьютинг.

9:52

Принято недосыпать.

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

9:53

Даёт ли это повышение производительности?

На локальном отрезке да. На глобальном отнимает и ведёт к ускоренному выгоранию.

9:54

Все по-своему переносят депривацию сна. Я вот как варёный и ни о чём думать не могу, медленно умираю, когда недоспал. А вы?

9:59

Как с этим бороться?

Прежде всего, планируйте свой день. Реалистично причём. Убирайте прокрастинацию и прочие тайм-киллеры.

9:59

А ещё переработки не должны быть систематическими. Знаю, есть отрасли, где это не исправить. Возможно, вам стоит оттуда уйти?

10:01

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

10:02

В Москве считается нормальным ехать час-полтора до офиса. Как по мне, это адище. И я даже могу в цифрах эту т.зрения объяснить.

10:02
@backendsecret У меня это, например, ощущение хорошо сделанной работы. То есть ты написал и оно работает.

Да twitter.com/MurcielagoCat/…

10:03

Рисёчи показывают, что уровень счастья человека больше зависит от коммьюта, чем от дохода.

10:03

Если вы добираетесь более чем ~40 минут в одну сторону, статистически уровень счастья начинает падает. И падает нелинейно

10:04

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

10:04

Да, люди находят способ себя занять в дороге. Поспать, послушать подкаст, почитать, пообщаться в соцсетях.

10:05

Это всё равно очень сублимированная эффективность, к сожалению. И лишь частично решает проблему.

10:05

Как сократить коммьют?

Берите удалёночку. Её с годами стало больше. Удалёночка есть добро.

10:06

Или просто арендуйте жильё у работы. Стандартный способ решения проблемы у миллениалов: отказаться от устаревшего концепта home-ownership

10:07

Кто-то любит офис. Без проблем. Много проектов позволяют выбирать дни недели, когда проводишь в офисе, а остальные дни работать удалённо.

10:07

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

10:08

Это значит, что доехать куда-то за 60 минут, но по прямой, намного удобнее для вас, чем доехать за 40, но с тремя пересадками.

10:09

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

10:10

Москва в этом плане настолько адская, что отчёт stackoverflow за 2016 год отдельно выделил её фразой про неадекватн… twitter.com/i/web/status/9…

10:11

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

10:12

Другим специальностям нет пути без Москвы. Например, топовому айти-рекрутёру или финансисту мирового уровня.

Разработчику без Москвы норм.

10:13
@backendsecret Какие это отрасли?

Госзаказ в горячий сезон, например twitter.com/bitomaxsp/stat…

10:14
@backendsecret Когда то я пешком ходил до офиса и совершенно не было времени на себя. Семья - работа - семья работа.
10:14
@backendsecret Сейчас еду полтора часа в одну сторону, минут сорок из них в электричке. Можно покодить. Lisp, opensource, петтродекты. Лафа.
10:14
@backendsecret Из личного опыта - я тоже был дурак и работал весело и задорно по 12-14 часов.
Больше так не хочу, хоть и по фану было
10:15
@backendsecret Вообще, производить мозгом больше 4 часов в день не советуют. Сейчас проводят много исследований на… twitter.com/i/web/status/9…

да. В среднем человек способен кодить часа 3-4 в день. Ещё часа полтора на всякие согласования-диалоги. twitter.com/mr_mig_by/stat…

10:20

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

10:21

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

10:23

за исключением часов присутствия, когда, например, митинги, конечно.

10:23

Но для успеха нужны офигенные софткорные навыки. Самодисциплина, планирование, переговорный навык, навык продаж.

10:24

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

10:25

Собственно, это причина дурной репутации фрилансеров. Многие из них решают, что готовы фрилансить, раз умеют в ЯП/технологии.

10:25

Особенно плохо, когда во фриланс идёт джун. Потому что у него нет понимания как управлять проектами.

10:27

Поэтому джунам я стараюсь советовать поработать какое-то количество лет в команде. К сожалению, это не всем доступно. Например, в провинции.

10:27
@backendsecret Но и платят клиенты за часы работы, в то время как постоянный работодатель за все 8 часов рабочего д… twitter.com/i/web/status/9…

..И у вас всё равно будет выше доход. Клиенты обычно из США. Если, конечно, правильно себя продадите

twitter.com/Dmiterko_Roman…

10:29

и кстати фуллтайм тоже вполне себе бывает с оплатой за часы, а не подённо

10:29
@backendsecret Я просто не встаю через силу, а только когда уже более-менее проспался. Какой смысл идти на работу и… twitter.com/i/web/status/9…

Многих гонит страх. Ещё остались конторы, где рабочий день начинается в 9 или 8-30 и за опоздание вычитают деньги twitter.com/Sigiller/statu…

10:30
@Dmiterko_Roman @backendsecret Тут уж каждый сам выбирает, зарабатывать или расслабляться. Жить в говне не сложно.

Впахивание ещё не означает зарабатывание кучи денег, кстати. Work smart, not hard. twitter.com/russianlagman/…

10:31

почитайте, например forbes.ru/karera-i-svoy-…

10:32
@backendsecret Я бы бежал из такой конторы как можно быстрее.

А я в таких пару раз работал :) Например, заводы.

Да, это дурость ужасная. Они, как правило, ещё и платят мало.

twitter.com/Sigiller/statu…

10:33

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

10:34

Кому-то не нравится удалёнка из-за отсутствия социализации. Кто-то на это отвечает, мол, я лучше пообщаюсь с друзьями, чем с рандомами.

10:35

Не знаю. Мне плюс-минус хорошо как в офисе, так на удалёнке. В этом плане мне снова везёт.

10:36

Вот вам радикальное, но хорошее мнение от @ilyabirman: ilyabirman.ru/meanwhile/all/…

10:39

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

10:42

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

10:42

но это не единственная причина. Другая — незнание рынка.

10:43

И вот тут я вас плавно подвёл к теме митапов и конференций. Оу, держитесь. Это мой конёк. ^_^

10:44

Когда-то общаться было не слишком нужно. Если твоя фамилия Торвальдс, запирайся на всё лето и пиши собственную ос. Вайнот.

10:46

Можно вести себя так и сейчас, но это выйдет вам дороже. И в цифрах дохода, и в знаниях. Швеи-одиночки теряют цену.

10:46

Чтобы знать рынок, надо общаться с людьми. И очно общаться. Ходите на интервью (даже если не ищете работу), митапы и конференции.

10:47

Участвуйте во фронтенд-завтраках. Пейте на дринкапах. Слушайте и рассказывайте.

10:48

не сформулирую лучше Келсо, впрочем pic.twitter.com/w23zGQIQzZ

10:53

в айти всё то же самое, только скорость и количество изменений ещё выше.

10:53

А ещё важно не просто слушать, но и выступать. Учиться сторителлингу. Учиться выражению мыслей. Учиться технологиям через своё выступление.

10:55

вот отличный материал от @grigoryvp про это habrahabr.ru/company/mailru…

10:55

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

"Болтология", "делают маркетинг", "кто не умеет, тот учит"

10:56

смело плюйте на эту стигму и ссылайтесь на меня. Сейчас я расскажу, чем она вызвана. :)

10:57

Разработчикам свойственно защищать экспертизу. У нас инженерное ремесло, и без такой защиты оно развалится (вероятно).

10:57

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

10:58

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

10:59

Так было в СССР: мы смотрим что-то по телевизору, читаем в газетах, и верим, что человек эксперт. Ну а как иначе он бы попал туда?

10:59

Сейчас это не так. Авторы статей и докладов ошибаются, врут, учатся. Учитесь и вы. Не стесняйтесь это делать, оно поможет и вам, и другим.

11:00

новые концепты называются work & tell, а ещё learn in public. Это отличные и мощные идеи, которые вас забустят.

11:01

на #yac2017 был отличный доклад про это от Ольги Павловой: medium.com/sobaka/%D0%BA%…

11:02

не стесняйтесь рассказать о чём-то, что знаете неидеально. И такой рассказ имеет огромную ценность для обеих сторон: вас и слушателей.

11:03

и да, оно в том числе про прокачку вашего бренда. Или бренда вашей конторы. Что в этом плохого?

11:04

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

11:04
@backendsecret Речь идет о жилье в центре.
В СПб ты также будешь тратить 50%+ от зп, если захочешь жить на Невском

Центр не состоит из одного только невского. Здесь можно жить на чернышевской за 30 и жить очень хорошо, например. twitter.com/SatiataOff/sta…

11:06
@backendsecret нет опасности, что рассказывая, ээээ, неидеально, вы только навредите бренду конторы? ;)

Никакой. Если вы не будете откровенно врать и заявлять себя тем, кем вы не являетесь twitter.com/maxbeard12/sta…

11:07

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

11:07
@backendsecret Зачем вообще жить в центре? В любой момент может развалится древний дом и упасть сосуля на голову. И… twitter.com/i/web/status/9…

Экология зависит от города. В европейских городах (берлин или питер) в центре нет гигантских хорд twitter.com/dcromster/stat…

11:08
@BeiZero @Dmiterko_Roman @backendsecret Соль в том, что при самозанятости, эффективно работая 4 часа в день по свое… twitter.com/i/web/status/9…
11:10
@backendsecret Ну есть те кто только и делают, что выступают с докладами, про них это очевидно справедливо.

есть, и их осуждает само сообщество. Не волнуйтесь. Мы как индустрия умеем в саморегуляцию twitter.com/BeiZero/status…

11:10
@backendsecret Доходы в Москве выше в 2-3 раза у разработчиков в том числе. Сеньор может получать 250 спокойно. В Питере таких зп нет

в питере их меньше, это факт. Но зачем привязывать клиента к городу проживания? Берите зарубежного twitter.com/SatiataOff/sta…

11:12

Чуваки.

Не надо ревностно защищать Москву, пожалуйста. Я сам знаю, что хорошая. У меня про это лонгрид даже был: facebook.com/nazarov.tech/p…

11:17

речь была исключительно в терминах аренды и коммьюта для разработчика.

11:17

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

11:21
@backendsecret Всё ещё не везде. Когда уходил с предыдущего места, имел об этом разговор с HR. Не смог убедить её,… twitter.com/i/web/status/9…

ЕМНИП ты в магистратуре? Это первые годы карьеры, тебе могут просто не доверять ещё, например. twitter.com/teners__/statu…

11:26
@etosova @SatiataOff @backendsecret смотрю этот тред и рыдаю как сука #гуманитариидолжныстрадать

Факт. Гуманитарием быть невыгодно. Хотите надежной-интересной-хорошей жизни — держитесь технологий twitter.com/hebrewtwi/stat…

11:29

и со временем этот тренд будет только нарастать.

11:29
@backendsecret Знаю минимум четырёх сеньоров в Питере с зарплатой овер 300к. чяднт?

Ну.. окей. Но они ж все либо зарубежка, либо какие-то очень жирные области, я прав?

twitter.com/fenix_gf/statu…

11:34

И нам наверное всё же интересно смотреть не на экстремумы, а на медиану. Так более показательно.

11:35
@backendsecret ну деление на гуманитариев и технарей же искусственное, да и программировать можно научиться и с гум… twitter.com/i/web/status/9…

в разрезе социальных групп искусственное. В разрезе специальностей нет. Можно. twitter.com/etosova/status…

11:36
@etosova @backendsecret со мной живет отличный пример — учился на филфаке, научился прогать, сейчас работает senior… twitter.com/i/web/status/9…
11:38

Но у них выше риски, чем у нас, и менее интересная работа. А ещё конкуренция выше twitter.com/evgenyrodionov…

11:39

хотите стать руководителем — почему бы не прийти туда из разработки? Знакомый ПМ, получающий 5к долларов, всё грустит, что без бэкграунда.

11:40

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

11:41

касательно рисков: программист в этом плане вообще уникальная профессия. У нас рисков ноль.

11:41

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

11:42

Отличный пример: так с программистом-то ничего не случилось. CTO сменил работу, но наверняка у него тоже всё ок twitter.com/evgenyrodionov…

11:43
@MurcielagoCat @backendsecret И особое счастье – когда вписался в сроки

Во, отличная тема. Давайте про эстимейтинг поговорим.

twitter.com/VipLabuda/stat…

11:48

какие вы знаете способы попасть в срок?

11:48
@backendsecret nytimes.com/2017/08/25/bus…
Заводят.

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

11:50
@backendsecret 90% докладчиков в IT на самом деле преодолевают своими рассказами о чем-то там, собственную асоциаль… twitter.com/i/web/status/9…

Словно что-то плохое :) twitter.com/vovanbo/status…

12:20
@backendsecret Не делать жёсткие сроки. Нет сроков - нет стресса. Нет стресса - здоровее программист.
12:21
@backendsecret Хорошая декомпозиция задачи (WBS) + PERT. У меня всегда работает, если скоуп хорошо определен. Для F… twitter.com/i/web/status/9…
12:21
@backendsecret Делать всё в последний день😂
12:21
@backendsecret Вести расчёт в идеальных часах (у нас есть 4 идеальных человека-часа в день) и планировать на каждого человека персонально.
12:21
@backendsecret Я думаю что слишком далеко планировать в принципе невозможно.
Начинаем с важного, не тратим зря врем… twitter.com/i/web/status/9…
12:21
@backendsecret Иметь опыт разработки подобного, расписать на задачи по 4-16 часов, умножить итог на 1.3
12:21
@backendsecret Не распыляться на несколько проектов/задач. Погружение в один проект творит чудеса – делаешь даже больше, чем планировал.
12:21

Итак, эстимейтинг — одна из крупных болей разработки.

12:22

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

12:23

первое правило, что я услышал от тимлида — "умножай на пи". Это значит, что свою оценку вы должны умножить на 3.14.

12:23

У всех эта константа своя.

Правило призвано пофиксить оптимизм программиста. Мы все оптимистичны в оценках.

12:24

"Не так страшны первые 90% проекта, как вторые 90% проекта"

12:25
Часто спрашивают, решил один раз написать. Срок выполнения любого проекта по Бобуку-Бацеку, формула от 2008 года: pic.twitter.com/EkoRw04vy8

я люблю формулу бобука-бацека. twitter.com/bobuk/status/6…

12:25

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

Это метод прогрессивного джипега artlebedev.ru/kovodstvo/sect…

12:26

и бюрошная методология #fff
bureau.ru/about/fff/

12:26

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

12:30

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

12:31

важное правило номер раз: в эстимейтинге должен принимать участие человек, которому это пилить.

12:31

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

12:32

и подгоняться под то, как каждый человек перформит. А ещё чтобы считать велосити.

12:32

важное правило номер три: нет задач на день или на неделю. Есть на 1, 2, 4 часа. Если больше — это не задача. Декомпозируйте.

12:33

потому что задача на день может быть и на три. А задача на неделю может быть на месяц.

12:35

Существует практика эстимейтить исходя из наработанного опыта. По этой практике все задачи делятся на несколько категорий:

12:35

риддлы (не знаю, как делать)
обычная задача (не делал, но представляю как)
рутина (уже делал и знаю, как)

Деление может быть иным.

12:37

и в зависимости от категории разный подход и разная оценка. Риддлы вообще нельзя эстимейтить. На них ставится отдельная задача на рисёч.

12:38

Если вы работаете с клиентом сами (минуя ПМа), например, во фрилансе, не забудьте побить проект на майлстоуны. Так безопаснее вам обоим.

12:39

Вот большой и адекватный материал на тему эстимейтинга forasoft.github.io/software-estim…

12:42

Что делать, если вы менеджите сразу несколько проектов, деля ресурсы (время)?

Фиксед слоты + регулярно чекаем, что больше горит, и свичимся

12:43

Эстимейтинг в этом случае ещё больше усложняется. Закладывайте гэпы. Волшебного решения, увы, нету.

12:44
@backendsecret Ну, вот бывают задачи когда вообще не представляешь с чем будешь работать. А потом ещё эту задачу 3… twitter.com/i/web/status/9…

Всё так. А ещё есть в проектировании есть "грязные задачи". Их для проектирования придётся частично/полностью решить twitter.com/strizhechenko/…

12:45

и айти традиционно такими полна. Сочувствую всем нам, мы знали, на что шли.

12:46

В обычной команде за software delivery (в т.ч попадание в сроки) отвечает тимлид, и он же чинит проблемы, связанные с этим.

12:51

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

12:52

Впрочем, эстимейтить вам всё равно придётся и постоянно, так что учитесь этому навыку.

12:52

Вся наша жизнь это эстимейтинг. Вся наша жизнь это продажи. Вся наша жизнь это инвестиции.

Тут смотря с какого угла посмотреть.

12:53

учитесь разным навыкам. Так завещал ещё умница Хайнлайн pic.twitter.com/myF8J5PVQZ

12:54

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

12:55

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

12:56

Но полученные навыки помогли продуктам эппл выглядеть круто. А чувство прекрасного повлияло на видение.

12:57

Зачем на моей полке стоит book.glvrd.ru Ильяхова? Ведь программист пишет код, а не тексты.

12:58

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

12:59

Не говоря уже о подписях к кнопкам и текстам лендингов. (Нет, макет не покрывает все кейсы. Марсиане твердят об этом постоянно.)

13:00

И умение пробить человеку мозг глаголом — одно из самых полезных, что вы можете приобрести. Мало что будет двигать вас вперёд так сильно.

13:01

Есть множество других полезных навыков. Способность красиво сдизайнить что-то. Смешать шоты на корпоративе. Выступать публично.

Ищите свои.

13:02

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

13:03
@backendsecret Батин аим в CS идет в счет?)

заходит отец в каэсочку, а там он тоже отец? Смотря как вы используете этот навык. Давайте расскажу на примере

twitter.com/rodneyspn/stat…

13:06

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

13:07

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

13:07

А ещё я писал lua-скрипты для вова и прокачивал лидерство, водя 25ppl-рейды.

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

13:08

жизнь в этом плане похожа на шахматы: любую позицию можно реализовать себе в плюс. Кстати, это один из стержней моего сжигающего оптимизма.

13:10

на этой ноте я прервусь на дела, а вы позадавайте свои комментарии пока :)

13:10
—Ты чо код не пишешь?
—Вы не понимаете, наше ремесло шире и глубже.
—Анус твой сейчас станет шире и глубже! Код пиш… twitter.com/i/web/status/9…
13:11

Сайд-проекты, OSS, митапы — это всё круто, конечно.

А что делать, если времени нету на них? Откуда взять?

18:04

мало работа, так ещё же есть семья. Друзья. Увлечения. Квартира и машина.

18:05

какие-то компании (вроде Google) предоставляют человеку время на собственные проекты и развитие. Скорее всего, вы в них не работаете. :(

18:06

(я в них тоже не работаю)

18:06

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

18:07

есть радикальный подход: первые лет десять-пятнадцать усиленно топить карьеру, забив на всё остальное. Типа, остальное ещё успеется.

18:10
@vergeev @backendsecret А потом на собеседовании у тебя спрашивают «А почему у вас github пустой?»
ПОТОМУ ЧТО Я РАБОТАЮ, БЛЯДЬ
18:10
@backendsecret Вроде гугл уже перестал так делать или порезал возможности
18:11

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

18:11

Но большинство из вас не работают в таких конторах. И я тоже.

Так что же остаётся?

18:12
@backendsecret а потом оказывается, что вся жизнь прошла мимо
18:12

Искать правильный для себя work-life balance. Планировать дни, чтобы в них было больше продуктивных часов. Работать эффективно.

18:14

И смириться, что всего вы не успеете. Не успеете попробовать всё, что хотели, не успеете стать экспертом того уровня, которого хотели бы.

18:15

Первые десять лет вам придётся учиться фокусу и приоритетам. Кому-то это удаётся очень быстро. Кому-то не удаётся на протяжении всей жизни.

18:15

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

18:20

Только лишь страдание несёт в себе интенсивное развитие. Эту мысль мне когда-то сказал пожилой девопс.

18:22

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

Суббота.

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

15:35

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

15:36

я пробовал, но понял, что не моё.

У меня есть специальный парко-хозяйственный день – суббота.

15:37

зачем так делать?

Почитайте rakh.im/weekend_cleanu…

15:38

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

15:39

тут мы приходим к ключевому выводу, кстати: работа не является неприятной, если вы сами её планируете.

15:41

в воскресенье я стараюсь устроить чистый-чистый выходной. Без дел.

15:45

Планирование дня и недели, кстати, чертовски важная штука. Сейчас проиллюстрирую.

15:46

мы как-то ужинали на афтепати со спикерами крупной конференции. Их было где-то десяток за столом.

15:47

ребята серьёзные. Многим за сорок. Очень крутые, из проектов с именем. Руководители, ЛОМы.

15:47

что меня поразило – их общая черта. У каждого, как оказалось, был чёткий распорядок дня.

15:48

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

15:49

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

15:51

именно поэтому деревянная табличка над моей дверью гласит "focus & discipline". Это те последние штуки, которых мне не хватает в жизни.

15:52

возможно, вам тоже? Или это скорее редкость для разработчика?

15:53

Поговорим про источники.

Какие подкасты, ресурсы, блоги, книги, дайджесты, сообщества или конференции принесли/несут вам большую пользу?

15:56
Поговорим про источники.

Какие подкасты, ресурсы, блоги, книги, дайджесты, сообщества или конференции принесли/несут вам большую пользу?

Реплаев много, есть интересные. Ретвитить не стану, читайте сами twitter.com/backendsecret/…

18:45

сам я читаю @ThePracticalDev, хожу на питерские митапы, иногда слушаю #radiot

18:46

ещё у нас есть несколько тематических чатов в рабочем слаке. Заодно поддерживает атмосферу.

18:47

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

18:48

из необычного. Очень хорош недельный дайджест @stackshareio. И посты @codehipsters.

18:49

вот эпик тред про книги stackoverflow.com/questions/1711…

18:52

могу отметить

Code Complete
The Pragmatic Programmer
Surely you're joking, Mr. Feynman

18:54

кнут мне не оказался особенно полезен. Он чересчур ударяется в хардкор. Намного круче книги Седжвика.

18:56

впрочем, это дело индивидуальное. Начинайте читать всё, что повернётся. Продолжайте то, что пришлось по вкусу.

18:58

Однако я не советую читать (и тем паче покупать) прикладные книги. Они устаревают ещё до выхода.

19:00

Томиком мануала по старой версии JQuery или старой версии дотнета сейчас разве что камин растапливать.

19:00

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

19:01

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

19:02

Используйте вместо него реддит, hackernews, зарубежные блоги.

19:02

Если всё-таки рискнули, идите в статьи, что трудно испортить. DIY, топовые корпоративные блоги, истории про переезд и драмы индустрии.

19:08

Есть интересная штука про хороший контент: он влечёт за собой ссылки на другой хороший контент. Цепная реакция.

19:12

Аналогично с людьми, кстати. Окружайте себя лучшими, и они сведут вас с ещё более крутыми.

19:12

И, как и с людьми, "you shouldn't be the smartest person in the room". Ищите источники контента, которые заставляют вас думать и учиться.

19:15

И помните: приоритеты.

Ошибка новичка здесь – забить инфопотоки под завязку. Толку от такого ноль. Ищите своё, смело режьте остальное.

19:19

А ещё наше ремесло сугубо практическое.

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

19:32

а потом, я надеюсь, вы расскажете о сделанном уже другим ;) work & tell

19:34

Английский язык. Ещё одна больная тема.

Обязателен ли он? Для кого? В какой мере?

19:43

я считаю, что обязателен. Мы профессионалы, и работаем в глобальном мире.

19:44

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

19:45

многие из вас знают его в какой-то мере, но боятся говорить, например, поскольку нет практики. Это глупо)

19:46

никто не осудит вас за уровень языка. И даже не выскажет неодобрения. Зарубежные чуваки не страдают нацизмом.

19:47

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

19:48

играйте в игры, смотрите сериалы, слушайте доклады, пишите посты. И всё на английском. Не бойтесь неидеальности, она нормальна.

19:49

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

19:53

не течь, а тек.
не дата, а дейта.
не хеигхт, а хайт.

habrahabr.ru/post/124403/

19:55

однажды я сделал вежливое замечание разработчику (наедине, разумеется: "хвали при всех, критикуй тихо"), что services — это не "сервИсес"

20:11

и в ответ получил хмыкающее "ну ты что же, будешь теперь всех переучивать тут?"

Буду.

20:12

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

20:14

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

20:14

Кстати, распространяется это не только на людей, прямо подконтрольных мне.

20:17

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

20:17

Позиция "моя хата с краю" мне не близка ни разу. Если я в проекте/конторе — мы плывём в одной лодке и меня заденут и не мои косяки.

20:19

Аналогично я поощряю людей не из разработки приходить и сообщать о проблемах, будь то мелочь (опечатка) или нечто крупное.

20:20

Между людьми в лодке должно быть общение, и общение честное. По любым проблемам.

20:21

Обычно такому рады. Странно, да?

Не странно. Всегда комфортнее, когда тебе сообщает о проблеме кто-то внутри.

20:24

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

Это снова что-то такое русское, видимо.

20:29

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

20:30

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

20:30

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

20:31

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

Мне ничего не сделали.

20:33
@backendsecret Один думает "ну мне же скажут, если я не прав", другой думает "ну он наверное же знает что делат"
20:38
@backendsecret это не русское, а азиатское. Особенность жизни в авторитарном окружении.
20:38

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

20:40

Как распознавать такие случаи будучи подчинённым, я и сам не очень понимаю пока.

Пробуйте максимально коммуницировать, а там по ситуации?..

20:41
На самом деле везде встречается. На западе не так заметно, но есть. На востоке больше. twitter.com/backendsecret/…

именно. Западная культура менеджмента это очень клёвая штука. Она про честность и открытость twitter.com/egavrin/status…

20:50
@backendsecret вот, а проблемы начинаются когда идут в ход аргументы "я начальник мне лучше знать" ) в таком случае… twitter.com/i/web/status/9…

От хорошего шефа вы такое никогда не услышите. Это я не знаю как надо упороться и задолбать его twitter.com/akenoweb/statu…

20:51
@backendsecret Возможно, Босс это запомнил, и о дальнейшей карьере в кампании можно забыть? Этакий ярлык "он вечно спорит"?

"вечно спорит" это перебор. Если кто-то вечно спорит, то либо он слушать не умеет, либо выбрал себе не ту команду

twitter.com/kafeodorov/sta…

20:52

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

20:54

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

20:54

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

20:55

Что вам в целом может помочь?

Умение слушать людей и разговаривать с ними. Эмпатия. Развивайте эмпатию.

20:55
@backendsecret да и многие аббревиатуры и термины уже "обрусели" и в русском языке они так не произносятся почти никем и никогда

Хорошо. Обрусевший вариант тоже норм.

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

20:58
@backendsecret Ну не согласен. Если ты хелловорд сделал на чём-то с стопятьсотлетней историей и до сих пор работающ… twitter.com/i/web/status/9…

Людям, которые ещё не сделали на этом хэллоуворлд. twitter.com/dcromster/stat…

21:07
@backendsecret Дайджесты на Хабре и тематические телеграм каналы

Телеграм-каналы сила, кстати. Это прям новый вид медиа. Там есть всё. twitter.com/ramainen/statu…

21:07
@IgorGolov @backendsecret Подхожу я к насяльнику и говорю: вот решил проблему. Можно об этом расскажу на конференции?
-НЕТ!

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

21:17

потому что они понимают, как ты продвинешь их бренд этим. А ещё они этим купят твою лояльность.

21:18

И таких контор много. Мало в СНГ, но очень много в мире. Я в берлине много общался с разработчиками и тимлидами.

21:19

Русские традиционно не умеют в инвестирование и в долгосрочный/косвенный профит. Они не понимают, как конференции принесут им деньги.

21:21

Как ни странно, это понимают крупные компании у нас. Яндекс, Мейл, ..

Все, кто крупный, наконец мутят движ и растят кадры. Это отлично! ^_^

21:23

в Берлине маленький стартап пошлёт тебя, джуна, на крупнейшую конфу в Будапешт на 3 дня. Оплатит дорогу и проживание.

Как вам это?

21:25
На конференцию? За счёт компании? Может, тебе ещё жену найти? Серёж, мы тебя любим, но ты взрослый человек, сам решай свои проблемы.

У нас даже к тимлиду отношение будет примерно такое twitter.com/soviet_it/stat…

21:27
@backendsecret Самое противное что я и на английском так говорю -_-. Хотя техподдержка хостинга как нистранно меня понимала :)

..потому что техподдержка была вообще из Индии twitter.com/barskykd/statu…

22:05
@backendsecret Лучше пусть платят нормально, а я уже сам справлюсь с оплатой конференции. А все эти печеньки в офис… twitter.com/i/web/status/9…

Так в том и фишка, что это _сверх_. В остальном они платят по рынку, а то и выше рынка twitter.com/oleg_antonyan/…

22:09
@backendsecret Это точно. Каждый раз когда я не интересовался смежными областями и считал что они знают что делают… twitter.com/i/web/status/9…
22:10

и дело не только в деньгах, а ещё и в отгулах на эти дни, например. Откуда вы их возьмёте?

22:11
@backendsecret Из отпуска

На конфу дни брать из отпуска, туалетную бумагу и обед приносить из дома.

Где-то я уже это проходил..

twitter.com/chikiro_twi/st…

22:19

как говорил Циолковский, "регионы — колыбель человечества. Но нельзя же всю жизнь прожить в колыбели"

22:20

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

22:21

И ничего никогда не бойтесь.

На этом я заканчиваю день и объявляется свободный трёп.

22:22
@backendsecret Это круто! Это прям как у @RayDalio. Правильно что в компании по поводу работы все открыто, всм, каж… twitter.com/i/web/status/9…
23:56
@backendsecret Я согласен, когда можно начинать?

"мужик, ну ты б хоть раз лотерейный билетик купил" twitter.com/teners__/statu…

23:57

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

"пел, пел про абсолюты и мерил нас по рок-н-роллу"

Неделя была софткорная. Всё как надо. А что постгре быстрее мон… twitter.com/i/web/status/9…

0:09

"и время его истекло,
и тот, который во мне сидел, вдруг ткнулся лицом в стекло"

Прощайте, зайцы. Привет из спб.… twitter.com/i/web/status/9…

0:09

other