_beargummy

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

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

Всем привет! На этой неделе с вами я, @_beargummy.

14:43

Расскажу вам про жизнь в кровавом аутсорсе и как можно и нужно проталкивать технологии в не менее кровавый энтерпрайз.

14:43

Работаю я, как уже сказал, в кровавом, но тем не менее уютном аутсорсе @GridDynamics.

15:26

Наша основная специализация - помогать Американским e-commerce научиться жить в мире облачных вычислений и современных технологий.

15:27

..ну и как вишенка на торте - мы умеем готовить продуктовый поиск на @ApacheSolr чтобы он был действительно релевантным.

15:28

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

22:41

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

22:42

Однако, “если смелый, ловкий, умелый”, тебе дадут власть. И мы сумели продать все современные технологии. Главное - правильный соус.

22:43

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

22:57

Например недавно мы запилили ETL на @ApacheSpark, DAG которого ни один браузер даже отрисовать не мог. И это было нереально круто.

22:59

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

23:00
Ящитаю, отличный эвфемизм - "узнал про Х больше, чем хотел знать". twitter.com/backendsecret/…
23:10

На текущем проекте мы активно используем @java 8, @springcloud и @NetflixOSS stack. И пока что только позитивные ощещения и отзывы.

23:41

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

Давайте поговорим про деплоймент. Что вы используете для управления и кластеризации?

15:50

Мы на своём проекте долго выбирали, и остановились на Docker Swarm.

15:51

Kubernetes тоже был в фаворитах, но на момент старта он поддерживал только старую версию Docker.

15:51

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

15:52

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

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

21:37

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

21:38

GoLang с другой стороны благодаря своему gofmt не оставляет в этом никаких шансов - диктатура на уровне языка и его тулов.

21:39

Даже когда пишешь на Java - всегда можно вкрутить Lombok и спорить var/val vs explicit type. Или Google code style vs Sun.

21:40

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

21:41

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

21:43

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

21:44
@backendsecret В DevExpress в первый день выдаётся файлик с правилами форматирования и регламентом когда var использовать.

Вот это я и называю - диктатура. По-другому обычно никак к сожалению. twitter.com/visualwatermar…

21:46

Особенно показательно как мне кажется - взлёт open source на GoLang. Реально проще входить в проект со стороны когда все пишут одинаково.

21:48
@backendsecret Может поэтому спустя столько лет на скале пишут три калеки, потому что нельзя отдать проект индусам

Суровые будни энтерпрайза. Точнее и не скажешь. А ведь язык-то хороший. twitter.com/theaspect/stat…

22:18
@backendsecret Может поэтому спустя столько лет на скале пишут три калеки, потому что нельзя отдать проект индусам

Хотя должен признать, те же @tinkoff_bank как-то умудряются писать на Scala и вполне успешны. Но это скорее исключ… twitter.com/i/web/status/8…

22:28
@backendsecret я был в 7 распределенных командах – с нашими, с американцами, с немцами, шведами, датчанами, даже филиппинцами. Не работает.

А что именно не работало? Ибо при нормальном уровне людей, код ревью и здоровой диктатуре - в моём опыте всё доволь… twitter.com/i/web/status/8…

22:39
@backendsecret Тут нужно уточнить, что gofmt только часть целого, другая - примитивность и невыразительность языка.… twitter.com/i/web/status/8…

А за это я считаю отдельное спасибо @rob_pike. Это как минус, так и огромный плюс. По крайней мере для вхождения в… twitter.com/i/web/status/8…

22:41
@backendsecret А разве это проблема? Один фиг это вкусовщина ни на что не влияющая. Ну будет куча стилей написано, ну и что?

Когда каждый тянет на себя одеяло - это всегда проблема и нездоровые конфликты и споры в команде, когда можно было… twitter.com/i/web/status/8…

22:50
@backendsecret Мож надо как раз стремиться, что не перетягивание одеяла занимались, а решением поставленных задач и пофиг на стили?

Конечно надо! Кто ж спорит. Но как приятно и удобно если есть поддержка на уровне языка. Весь тред про это же ;) twitter.com/borovikov/stat…

22:57
@backendsecret Именно поэтому в команде должен быть человек с правами обрывать любую дискуссию обязательным к испол… twitter.com/i/web/status/8…
23:00

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

@backendsecret Настало время потереть за Скалу. Сахар не причём, в основном проблема в фичах типо имплиситов, котор… twitter.com/i/web/status/8…

Тут дело не в “понять”, а скорее стоит ли оно того? Есть ли реальный профит? twitter.com/Arhelmus/statu…

0:12
@theaspect @backendsecret Мы пишем на скале уже 5 лет, вполне успешно.

Немного столь долго живущих проектов на скале. Поделитесь секретом успеха? twitter.com/bardadymchik/s…

0:14

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

15:59

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

15:59

Примеров таких языков уйма - Nim, Elm, Chapel, Crystal, та же Scala или TypeScript тоже подходят. Как впрочем и уйма языков под JVM.

16:00

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

16:00

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

16:00

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

16:01

Кстати в плане параллелизации очень интересен Chapel, который вдохновлялся королём числодробилок Fortran’ом (этот кстати всё ещё жив).

16:01

По поводу параллельных вычислений - тут тренд на лицо. Начиная со Spark, Storm и прочих MapReduce, до IMDG как тот же Hazelcast и GridGain.

16:21

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

16:21

Кстати ещё один тренд в той же тематике - Machine Learning. В бизнес среде начали понимать всю его мощь, и количество вакансий дико растёт.

16:22

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

16:23
@backendsecret да уже нагрянул, может разве что не на рынке РФ

Ну всё-таки большинство enterprise очень инертны, их пока не успело накрыть полноценно. Но это точно не надолго. twitter.com/axique/status/…

16:25
@backendsecret согласен про инертность. Но посмотрите на StrataConfs последних трёх лет. Machine Learning там везде… twitter.com/i/web/status/8…
16:33
@visualwatermark @backendsecret к тому же - молодым соискателем совет учить это сейчас, чтобы потом не кусать локти.
17:00

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

20:38

Я вот лично проникся стоячими рабочими столами и уже заказал себе такой на работу.

20:39

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

20:48
@backendsecret в gym 3жды в недельку,спина проходит совсем, для ног надо что то придумать,зал вопрос кровоснабжения ног не решает полностью

Вот именно стоячий стол с правильным матом для ног решает это. twitter.com/Moroz_v/status…

20:53

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

RJ45 building + RJ11 pic.twitter.com/yFGP6L6vHt

Какое у вас отношение к разработчикам с опытом админства? twitter.com/binitamshah/st…

16:40

Я вижу большое преимущество таких людей по своему опыту. Особенно в современном мире #DevOps.

16:42

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

16:52
@backendsecret очень полезно шарить еще и в бизнесе. А еще психология, философия, физика, матан, экономика. Да и зд… twitter.com/i/web/status/8…

По поводу шарить в бизнесе +1. И это даже напрягает, когда люди хотят знать только технологии и не вникать в реальн… twitter.com/i/web/status/8…

16:57
@backendsecret Говорить - это тоже важный скилл. Мало кто умеет делать это грамотно и вовремя.
17:17
@backendsecret Зацените чо я нашёл!
Идеальное чтиво для вечера субботы:
fsharpforfunandprofit.com/posts/13-ways-…
18:10

Кстати по поводу чтива. Как вы предпочитаете изучать новые технологии?

18:30

Мой путь - сначала PoC пользуясь оф докой, потом если есть книга из серии “In Action” @ManningBooks, потом Guide от @OReillyMedia и бложики.

18:30

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

18:32
@backendsecret Конечно, положительно. И сам всегда хочешь уметь все настроить, а то как лох. И некоторое вещи велосипедить не приходится.
18:52
@redmoonstudio @backendsecret Только доки и стековерфлоу. Ну и рандомные блогпосты. Читать теорию без практики - практически бесполезно.

Полностью поддерживаю. Только learn by practice. twitter.com/mr_The/status/…

21:31

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

Только на практике

Прочитал Go programming language и так и не стал native speaker, каждый раз когда пишу на нем -… twitter.com/i/web/status/8…

14:29

Продолжая тему технологий и наболевшего. Сейчас развелось очень много технологий, SaaS, и прочего. И во всём разбираться - жизни не хватит.

16:31

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

16:31

И очень часто используют инструмент ну совсем не по назначению, и потом удивляются - почему оно не работает?

16:31

А потом появляются разговоры а-ля “технология X мы не юзаем, потому что Вася с соседнего проекта 5 лет назад пробовал и ему не понравилось”.

16:31

И очень редко в ответ на это будет задан вопрос - “а что у него пошло не так?”. Какие были кейсы? Что у этого Васи вообще с квалификацией?

16:32
@backendsecret Я, кстати, недавно понял, что не умею работать в команде (читай - использовать умения тиммейтов)

Это хорошо что понял. Признание проблемы - первый шаг к её решению. Пользоваться знаниями коллег - крайне полезный… twitter.com/i/web/status/8…

16:33
@strizhechenko @Bubyakin @backendsecret ну и да, мне кажется это очень наивно пологать что компиляция = скорость, оно по разному бывает
18:28

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

21:55

Ну и конечно, спасибо @dcromster за возможность. Респект и уважуха!

21:56

other