# Понедельник 92 твита
привет, зайцы :)
Эту неделю тви для вас ведёт @nazarov_tech из Петербурга. Питонист, джаваскриптер (ну, такое) и организатор айти-движа.
12:11Сейчас я пишу всякий веб для финтеха в @EXANTE_EU: ритейл-платформу, медиа. Помимо этого я член программного комитета конфы @PiterPy :)
12:19ещё два проекта, где я орг: @spbpython (сообщество питонистов петербурга) и @djangogirls_spb (однодневный воркшоп для девушек).
12:20допускаю, что кто-то может знать меня как автора "Эти токсичные, токсичные собеседования" ^^
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так вот, айти в уфе в основном работает под нефтянку. Сколь-нибудь интересное, во всяком случае. Большинство знакомых получали опыт так.
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в петербурге я неожиданно для себя открыл новую нишу: делать айти-движ. Это @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…
@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 — на любой вкус.
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 менторство ущербно. хочешь кушать иди учись. почему что бы пойти пожрать человеку не нужен ментор?
Навык "пожрать" проще, чем навык разработки. Навыку разработки учатся всю жизнь, это во многом искусство :)
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."
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…
да, в мире много хороших и разных контор. Не бойтесь продолжать искать своё место :)
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
15:13но не всегда, см. нефтянку.
15:13что есть "лучше для карьеры", например?
Круче тимлиды. Интереснее стек. Громче имя. Бюджет на выступления.
Но это индивидуально.
15:15@backendsecret ну тут с т.зр. работодателя просто - не определился пока, не факт, что здесь определится - и цена замены
именно. Как вариант, вы можете стать ценным, и так прямо объяснить свои действия, что люди пойдут на риск.
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. Только в последнем случае вы это ещё и прочесть сможете"
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 от ноды уже даже автор ноды отказался в польщу Го14:06
>I would definitely use Go for that. mappingthejourney.com/single-post/20…
Что ещё смущает в Go: скорость разработки.
@sysradium утверждает,что при должном опыте сравнима с Python, но мне в это трудно пока поверить.
А питон ругают за его динамическую типизацию. Мол, в большой кодобазе вам из-за этого тяжело.
14:16Это отчасти так, но у нас теперь появился тайп-хинтинг, например: blog.pythonlibrary.org/2016/01/19/pyt…
Хитрота, которая сильно облегчает жизнь.
14:17Честно, ни разу не сталкивался. Расскажите, если есть опыт :)
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.
Ну и отвечать на проблемы людей в сообществах. Это ещё и возвернёт ваш долг.
14:29NodeJS. Давайте поймём для начала, серверный джаваскрипт ведь уже перестал быть смертным грехом?
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
тут периодически бывали люди, работающие с m$-стеком. Почему всех их объединяла лёгкая доля.. как это выразить. Вдохновлённости.
14:57и это вызывало негатив у аудитории.
Попробуем поговорить про этот стек по возможности объективно.
14:58Мне нравится C#. Приятный язык, чем-то похож на питон. Тоже есть добротная функциональщина (в виде F#).
14:58As a matter of fact, первый код, за который я получил деньги, был написан на шарпе.
14:59Не встретил бы я тогда тимлида-питониста, неизвестно, как бы сложилась моя судьба.
(Бабочка машет крылышками и над Атлантикой шторм, да.)
14:59Но задачи шарпа это почти всегда какие-то скучные бизнес-приложения вроде бухучёта или махровый энтерпрайз. :( Мы писали воркфлоу.
15:00Меньше фриланса. И самое главное — анальная замкнутость на m$-стек.
15:00Не то чтобы это было плохо, но я, как уже писал в кейсе с нефтянкой, люблю свободу, широкие стеки и широкие рынки.
15:00При этом огромная куча людей работают с m$-стеком и вполне счастливы.
15:01Тем более что m$ после ухода Балмера наконец дружится с опенсорцом,
маппит убунту на ядро windows и вообще няшечки *_*
Глядишь, ситуация кардинально изменится. Microsoft был и остаётся самым опасным игроком из айти-гигантов. Есть шанс, что переживёт всех.
15:02Что не так:
1) закрытость стека (всерьёз фиксят)
2) неумение заходить на рынки
3) усиленный промыв мозгов сотрудникам
2 и 3 хроническое.
15:03@backendsecret TypeScript FTW
Да. У Microsoft всё ещё сильнейшие технари и крутые технологии. Забывайте потихоньку негатив к ним.
15:05@backendsecret А в каком месте он похож на питон?
довольно высокого уровня (в терминах ёмкости CLOC). Мультипарадигмальный. Приятный. Прикладной. Твой^W
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@backendsecret Думается именно так и стоит оценивать инструменты. Ведь 80% нашей работы сводится к решению проблем… twitter.com/i/web/status/9…15:38
@backendsecret Типизация имеет прямое влияние на стоимость разработки и поддержки, например.15:45
А особенности реализации многопоточности и работы с памятью - на принципиальную возможность создания продукта. twitter.com/backendsecret/…15:45
@retran @backendsecret Вот почему когда я такое говорю, мне сразу же со всех сторон сыпется "обоснуй?!"
Такова инженерная культура. Мало заявить, это ещё надо и обосновать.
(Если, конечно, ты не ведёшь @backendsecret)
15:53..не является ни хорошим, ни плохим языком.
Джава посредственная.
Вот пост, с которым я согласен на 100% blog.plover.com/prog/Java.html
16:08Я не буду его здесь цитировать, рассчитываю, что все знакомы с английским на уровне чтения.
16:08задачи на джаве. Почти та же ситуация, что и с шарпом:
вам много заплатят, потому что обычно это махровый энтерпрайз..
..но вам будет скучно, потому что обычно это махровый энтерпрайз.
Не знаю. Многим норм. А вам?
16:09Особняком идёт андроид, который мы тут не обсуждаем, потому что это и не бэкенд, и не джава. Это не скоуп данного твиттера.
16:10Если вы очень хотите писать на джаве, на вас тошнит от неё, берите скалу. Скала хорошая.
С ней прям можно жить. Правда.
16:10Или котлин какой-нибудь. Его сделали няшечки @jetbrains из петербурга.
16:11@backendsecret ну во первых современная джава довольно миленькая :) а во вторых scala/kotlin/clojure/etc16: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 строку?
За нечитаемые однострочники хороший лид будет бить вас по рукам в любом языке. Включая питон, да.
16:30(вы ведь помните, да, что большая часть любого кода будет выкинута/переписана?)
16:31что касается читаемости, у питона нет равных. Это фактически псевдокод.
16:34кроме может быть функциональных и очень питоник-частей, но к ним быстро привыкаешь. Всё-таки язык делал математик, а не лингвист (Perl).
16:35@backendsecret пока асинхронщины не захочется :)
тогда молитесь ветрам, да.
Питон очень старается стать асинхронным языком, hence the ASGI и asyncio, например.
16:37PHP.
Язык, с которым у питонистов заслуженная вендетта.
Плохой язык, что родился в тёмные времена веба.
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), но хейтеры обычно не в курсе
мемы живут долго и долго служат иллюстрацией. Если заморочусь, найду десяток подобных штук из недавнего.
16:54@backendsecret @asfdfdfd @straykov YII - плохой пример. Symfony - лучший пример. Laravel - "пишите на фреймворке, а… twitter.com/i/web/status/9…16:55
@backendsecret давайте лучше про встроенный язык технологической платформы 1С: Предприятие поговорим. Самый популярный язык в стране ведь.
О господи.
Нет, пока я здесь, про 1C мы не будем говорить. Это в большей степени бухгалтерия, чем разработка.
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:39Go обогнал ноду и шарп вместе взятых. Приятно видеть.
17:40Джава и питон почти вровень. Но мы ещё повоюем :)
17:40@just_hank_moody @backendsecret Не говоря уже о саперах.
Так сап и есть одинэс, просто с поправкой на Германию twitter.com/retran/status/…
17:42В две тысячи третьем и правда сложно в твиттере сидеть: его ещё не изобрели. 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…
Да, это интересная особенность: вы можете представляться как угодно. Джоб тайтлы — часть маркетинга
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 + фронтендер в одном лице)
15:20@backendsecret часто такие попадались? мне показалось, что все сколько-нибудь серьезные компании ищут чаще всего уз… twitter.com/i/web/status/9…
часто. Как в РФ, так и за рубежом.
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 очень важен.
важен. Название вещи влияет на её суть. Не помню, какой это принцип в философии.
19:22продолжаем. Ещё один опрос: ваша текущая позиция
лишь половина читателей относит себя к бэкендерам. Это к вопросу о том, зачем было такой опрос делать. twitter.com/backendsecret/…
19:24в большинстве проектов, что я видел, тесты не писались. Частично QA закрывался мануальным тестированием.
19:27частая фраза "у нас нет времени/денег ещё и на тесты, функционал не успеваем".
19:29Проблема в этой фразе прежде всего концептуальная: если вы пишете тесты, это не что-то сбоку. Это непосредственная часть разработки.
19:29@backendsecret если разработчиков больше 3, без CI, основанной на функциональных тестах, не обойтись - будешь больш… twitter.com/i/web/status/9…
depends.
Сам автор TDD утверждает, что каждый сам определяет меру и баланс. Важно иметь уверенность в коде.
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. Клёвая техническая контора от мира моды (!)
19:50Старая песня. Смиритесь: язык живой и меняется. Это слово уже используется в этом значении.
19:52@MurcielagoCat @backendsecret о, помню как меня приняли на работу, сказали: "а покрой-ка тестами тот модуль", а там функции по три экрана
вот напомнили офигенно важный поинт, спасибо.
Потребуется не только инфра. Вам ещё потребуется организация кода.
19:53но это скорее плюс, потому что код ваш станет лучше декомпозирован и более читабельным/поддерживаемым.
19:54@backendsecret От разработчиков не дождешься чего-то сложнее автодоки (говорю как разработчик), но есть у меня гипо… twitter.com/i/web/status/9…
Это вопрос процессов, а процессы ставит кто-то вроде CTO. Локально у вас мало шансов повлиять
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 Хех!!) Дык основная идея девопс в том, что все участвуют в процессе. А если есть такая должность, значит нет самой культуры!
да. Диалог из моей памяти:
— Это.. как там.. как этот суперадмин ихний называется?
— Девопс?
— Да.
@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 Меня в докере печалит то, что чтобы ты ни делал, скорее всего, ты делаешь это "неправильно".
хм, а чуть пояснений?
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.html23: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:341) напиши 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 toggles15: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я евангелю 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: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 пока сырая бесплатная.18:11
Пытался р… twitter.com/i/web/status/9…
Переключение раскладки у меня на 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: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"
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Или просто арендуйте жильё у работы. Стандартный способ решения проблемы у миллениалов: отказаться от устаревшего концепта 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…
..И у вас всё равно будет выше доход. Клиенты обычно из США. Если, конечно, правильно себя продадите
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 Я бы бежал из такой конторы как можно быстрее.
А я в таких пару раз работал :) Например, заводы.
Да, это дурость ужасная. Они, как правило, ещё и платят мало.
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к. чяднт?
Ну.. окей. Но они ж все либо зарубежка, либо какие-то очень жирные области, я прав?
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 И особое счастье – когда вписался в сроки
Во, отличная тема. Давайте про эстимейтинг поговорим.
11:48какие вы знаете способы попасть в срок?
11:48@backendsecret nytimes.com/2017/08/25/bus…
Заводят.
ага, только это суперособый кейс. Чувак прекрасно знал, что пишет систему для мухлежа эпических масштабов. twitter.com/Dronmdf/status…
11:50@evgenyrodionov @backendsecret а на практике twitter.com/tedneward/stat…11:54
@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 Я думаю что слишком далеко планировать в принципе невозможно.12:21
Начинаем с важного, не тратим зря врем… twitter.com/i/web/status/9…
@backendsecret Иметь опыт разработки подобного, расписать на задачи по 4-16 часов, умножить итог на 1.312: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: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 идет в счет?)
заходит отец в каэсочку, а там он тоже отец? Смотря как вы используете этот навык. Давайте расскажу на примере
13:06свои первые в жизни деньги я заработал в балетном хоре мальчиков. А вот вторые уже за написание уровней к игре.
13:07и сейчас у меня своё коммьюнити по овервотчу, через которое я знаком с кучей крутых технарей. Брендинг, нетворкинг.
13:07А ещё я писал lua-скрипты для вова и прокачивал лидерство, водя 25ppl-рейды.
Как видите, даже игры можно юзать, чтобы сделать себя круче.
13:08жизнь в этом плане похожа на шахматы: любую позицию можно реализовать себе в плюс. Кстати, это один из стержней моего сжигающего оптимизма.
13:10на этой ноте я прервусь на дела, а вы позадавайте свои комментарии пока :)
13:10—Ты чо код не пишешь?13:11
—Вы не понимаете, наше ремесло шире и глубже.
—Анус твой сейчас станет шире и глубже! Код пиш… twitter.com/i/web/status/9…
Сайд-проекты, OSS, митапы — это всё круто, конечно.
А что делать, если времени нету на них? Откуда взять?
18:04мало работа, так ещё же есть семья. Друзья. Увлечения. Квартира и машина.
18:05какие-то компании (вроде Google) предоставляют человеку время на собственные проекты и развитие. Скорее всего, вы в них не работаете. :(
18:06(я в них тоже не работаю)
18:06Многим удаётся получать достаточную долю развития прямо в процессе основной работы. Я не знаю, врут ли они, но круто, если так.
18:07есть радикальный подход: первые лет десять-пятнадцать усиленно топить карьеру, забив на всё остальное. Типа, остальное ещё успеется.
18:10@vergeev @backendsecret А потом на собеседовании у тебя спрашивают «А почему у вас github пустой?»18:10
ПОТОМУ ЧТО Я РАБОТАЮ, БЛЯДЬ
@backendsecret Вроде гугл уже перестал так делать или порезал возможности18:11
Есть совсем сказочные конторы, где вам платят, чтобы вы писали для них опенсорц. Красота-то какая.. лепота. Двух зайцев одним коммитом.
18:11@backendsecret а потом оказывается, что вся жизнь прошла мимо18:12
Искать правильный для себя work-life balance. Планировать дни, чтобы в них было больше продуктивных часов. Работать эффективно.
18:14И смириться, что всего вы не успеете. Не успеете попробовать всё, что хотели, не успеете стать экспертом того уровня, которого хотели бы.
18:15Первые десять лет вам придётся учиться фокусу и приоритетам. Кому-то это удаётся очень быстро. Кому-то не удаётся на протяжении всей жизни.
18:15А ещё вам придётся смириться с тем, что стать хорошим разработчиком и разрулить все эти проблемы можно только через страдание.
18:20Только лишь страдание несёт в себе интенсивное развитие. Эту мысль мне когда-то сказал пожилой девопс.
18:22# Суббота 92 твита
в диджитале есть практика отдавать всю рутину вроде мытья посуды или уборки дома на откуп чувакам с youdo и qlean. Наше время стоит дорого.
15:36это способ почистить мозг. Переключиться от потоков информации и решений на рутину. Послушать подкасты в процессе.
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кнут мне не оказался особенно полезен. Он чересчур ударяется в хардкор. Намного круче книги Седжвика.
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:44вы закроете от себя множество возможностей, не зная английского. И будете питаться вечно устаревшими техническими переводами.
19:45многие из вас знают его в какой-то мере, но боятся говорить, например, поскольку нет практики. Это глупо)
19:46никто не осудит вас за уровень языка. И даже не выскажет неодобрения. Зарубежные чуваки не страдают нацизмом.
19:47единственный способ учить язык такой же, как и в случае с языком программирования. Использовать для реальных задач.
19:48играйте в игры, смотрите сериалы, слушайте доклады, пишите посты. И всё на английском. Не бойтесь неидеальности, она нормальна.
19:49но даже если вы действительно не знаете английского, произносите термины правильно. Имейте немного самоуважения.
19:53однажды я сделал вежливое замечание разработчику (наедине, разумеется: "хвали при всех, критикуй тихо"), что services — это не "сервИсес"
20:11Потому что я требую от людей, работающих со мной, такого же уровня профессионализма. В том числе это выражается в грамотной речи.
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 Возможно, Босс это запомнил, и о дальнейшей карьере в кампании можно забыть? Этакий ярлык "он вечно спорит"?
"вечно спорит" это перебор. Если кто-то вечно спорит, то либо он слушать не умеет, либо выбрал себе не ту команду
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 Из отпуска
На конфу дни брать из отпуска, туалетную бумагу и обед приносить из дома.
Где-то я уже это проходил..
22:19как говорил Циолковский, "регионы — колыбель человечества. Но нельзя же всю жизнь прожить в колыбели"
22:20Вырастайте и переезжайте в петербург/москву. А когда вырастете и из них, вас ждут берлин/лондон.
22:21@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
- https://habrahabr.ru/company/exante/blog/335096/
- https://habrahabr.ru/company/edison/blog/315680/
- https://habrahabr.ru/company/mailru/blog/238181/
- https://habrahabr.ru/post/124403/
- http://rabota.yandex.ru/
- http://piterpy.com/
- http://learn.python.ru/
- http://learn.javascript.ru/
- http://facebook.com/filalogic
- https://www.forbes.com/sites/kaytiezimmerman/2016/06/07/millennials-stop-apologizing-for-job-hopping/#7c568dd24656
- https://www.forbes.com/sites/cameronkeng/2014/06/22/employees-that-stay-in-companies-longer-than-2-years-get-paid-50-less/#2d54cf48e07f
- http://backendsecret.ru/stats/
- https://stackshare.io/exante/exante
- https://plus.google.com/u/0/115212051037621986145/posts/HajXHPGN752
- https://en.m.wikipedia.org/wiki/Global_interpreter_lock
- http://www.restapibuilder.com/blog/concurrency-competition-python-nodejs-and-golang/
- https://morepypy.blogspot.ru/2017/08/lets-remove-global-interpreter-lock.html?m=1
- https://www.mappingthejourney.com/single-post/2017/08/31/Episode-8-Interview-with-Ryan-Dahl-Creator-of-Nodejs
- https://www.blog.pythonlibrary.org/2016/01/19/python-3-an-intro-to-type-hinting/
- https://medium.com/we-parse-json/серверный-swift-с-vapor-8fd95c1d1bba
- https://medium.com/sobaka/%D0%BA%D0%B0%D0%BA-%D1%83%D1%81%D0%BB%D0%B5%D0%B4%D0%B8%D1%82%D1%8C-%D0%B7%D0%B0-%D1%82%D1%80%D0%B5%D0%BD%D0%B4%D0%B0%D0%BC%D0%B8-%D1%82%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D0%B9-%D0%B5%D1%81%D0%BB%D0%B8-%D0%B2%D1%8B-%D0%BD%D0%B5-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82-2b131c8a32b
- https://blog.plover.com/prog/Java.html
- https://www.reddit.com/r/cscareerquestions/comments/6ez8ag/accidentally_destroyed_production_database_on/
- http://bit.ly/2hxpya2
- https://thehftguy.com/2016/11/01/docker-in-production-an-history-of-failure/
- http://gaperton.livejournal.com/60632.html
- https://info.jetbrains.com/JetBrains-Meetup-Moscow.html
- https://chris.beams.io/posts/git-commit/
- https://news.ycombinator.com/item?id=10395046
- https://www.facebook.com/photo.php?fbid=1400793676670252&set=rpd.100002189005428&type=3&theater
- https://www.facebook.com/nazarov.tech/posts/1370981489651471
- https://github.com/clearcontainers/runtime
- http://www.forbes.ru/karera-i-svoy-biznes/350621-durnoy-ton-pochemu-za-rabotu-v-vyhodnye-v-evrope-mogut-uvolit
- https://ilyabirman.ru/meanwhile/all/commute/
- https://ilyabirman.ru/meanwhile/all/sleep/
- https://www.artlebedev.ru/kovodstvo/sections/167/
- http://bureau.ru/about/fff/
- http://forasoft.github.io/software-estimation/
- https://book.glvrd.ru/
- https://rakh.im/weekend_cleanup/
- https://stackoverflow.com/questions/1711/what-is-the-single-most-influential-book-every-programmer-should-read