# Понедельник 13 твитов
Всем привет! На этой неделе с вами я, @_beargummy.
11:43Расскажу вам про жизнь в кровавом аутсорсе и как можно и нужно проталкивать технологии в не менее кровавый энтерпрайз.
11:43Работаю я, как уже сказал, в кровавом, но тем не менее уютном аутсорсе @GridDynamics.
12:26Наша основная специализация - помогать Американским e-commerce научиться жить в мире облачных вычислений и современных технологий.
12:27..ну и как вишенка на торте - мы умеем готовить продуктовый поиск на @ApacheSolr чтобы он был действительно релевантным.
12:28Долго думал чем поделиться, и решил рассказать немного про жизнь в аутсорсе.
19:41В целом - главный недостаток, то что ты - всегда виноват и тебе не дают выбирать технологии даже когда ты можешь доказать их необходимость.
19:42Однако, “если смелый, ловкий, умелый”, тебе дадут власть. И мы сумели продать все современные технологии. Главное - правильный соус.
19:43С другой стороны, если с проектом повезло, и такое часто случается, то ты в шоколаде. И тогда ты сможешь протащить реально сложный проект.
19:57Например недавно мы запилили ETL на @ApacheSpark, DAG которого ни один браузер даже отрисовать не мог. И это было нереально круто.
19:59Пока делали этот ETL, я узнал про Spark больше чем хотел знать. И естественно, кучу багов в нем.
20:00Ящитаю, отличный эвфемизм - "узнал про Х больше, чем хотел знать". twitter.com/backendsecret/…20:10
На текущем проекте мы активно используем @java 8, @springcloud и @NetflixOSS stack. И пока что только позитивные ощещения и отзывы.
20:41# Среда 4 твита
Давайте поговорим про деплоймент. Что вы используете для управления и кластеризации?
12:50Мы на своём проекте долго выбирали, и остановились на Docker Swarm.
12:51Kubernetes тоже был в фаворитах, но на момент старта он поддерживал только старую версию Docker.
12:51В итоге, Docker Swarm оказался не так плох, но мы очень быстро уткнулись в скорость сетки.
12:52# Четверг 18 твитов
Хочется поднять тему про языки программирования и сахар в них. Точнее о том, насколько вредны калории, а особенно их избыток.
18:37Вот к примеру, удобно сравнивать Go и Scala. Из-за очень богатого сахара скалы, сложно заставить команду писать всегда в едином стиле.
18:38GoLang с другой стороны благодаря своему gofmt не оставляет в этом никаких шансов - диктатура на уровне языка и его тулов.
18:39Даже когда пишешь на Java - всегда можно вкрутить Lombok и спорить var/val vs explicit type. Или Google code style vs Sun.
18:40И такие проблемы кроме как диктатурой обычно никак не решаются. Поэтому мне кажется все современные языки должны иметь свой аналог gofmt.
18:41Хотя с другой стороны, в pet projects, когда ты один, приятно разбавить свой код сахарком, ибо и быстрее пишется и самому читать проще.
18:43А в энтерпрайзе, да особенно в распределённой и большой команде, лишние возможности языка обычно только мешают.
18:44@backendsecret В DevExpress в первый день выдаётся файлик с правилами форматирования и регламентом когда var использовать.
Вот это я и называю - диктатура. По-другому обычно никак к сожалению. twitter.com/visualwatermar…
18:46Особенно показательно как мне кажется - взлёт open source на GoLang. Реально проще входить в проект со стороны когда все пишут одинаково.
18:48@backendsecret Может поэтому спустя столько лет на скале пишут три калеки, потому что нельзя отдать проект индусам
Суровые будни энтерпрайза. Точнее и не скажешь. А ведь язык-то хороший. twitter.com/theaspect/stat…
19:18@backendsecret Может поэтому спустя столько лет на скале пишут три калеки, потому что нельзя отдать проект индусам
Хотя должен признать, те же @tinkoff_bank как-то умудряются писать на Scala и вполне успешны. Но это скорее исключ… twitter.com/i/web/status/8…
19:28@backendsecret я был в 7 распределенных командах – с нашими, с американцами, с немцами, шведами, датчанами, даже филиппинцами. Не работает.
А что именно не работало? Ибо при нормальном уровне людей, код ревью и здоровой диктатуре - в моём опыте всё доволь… twitter.com/i/web/status/8…
19:39@backendsecret Тут нужно уточнить, что gofmt только часть целого, другая - примитивность и невыразительность языка.… twitter.com/i/web/status/8…
А за это я считаю отдельное спасибо @rob_pike. Это как минус, так и огромный плюс. По крайней мере для вхождения в… twitter.com/i/web/status/8…
19:41@backendsecret А разве это проблема? Один фиг это вкусовщина ни на что не влияющая. Ну будет куча стилей написано, ну и что?
Когда каждый тянет на себя одеяло - это всегда проблема и нездоровые конфликты и споры в команде, когда можно было… twitter.com/i/web/status/8…
19:50@backendsecret Мож надо как раз стремиться, что не перетягивание одеяла занимались, а решением поставленных задач и пофиг на стили?
Конечно надо! Кто ж спорит. Но как приятно и удобно если есть поддержка на уровне языка. Весь тред про это же ;) twitter.com/borovikov/stat…
19:57@backendsecret Именно поэтому в команде должен быть человек с правами обрывать любую дискуссию обязательным к испол… twitter.com/i/web/status/8…20:00
@backendsecret Настало время потереть за Скалу. Сахар не причём, в основном проблема в фичах типо имплиситов, котор… twitter.com/i/web/status/8…
Тут дело не в “понять”, а скорее стоит ли оно того? Есть ли реальный профит? twitter.com/Arhelmus/statu…
21:12@theaspect @backendsecret Мы пишем на скале уже 5 лет, вполне успешно.
Немного столь долго живущих проектов на скале. Поделитесь секретом успеха? twitter.com/bardadymchik/s…
21:14# Пятница 18 твитов
Продолжая тему языков программирования, хотелось бы коснуться вопроса развития языков и трендами в этом направлении.
12:59Последнее время появляется всё больше языков с достаточно богатым синтаксисом, которые потом компилируются в более низкоуровневые языки.
12:59Примеров таких языков уйма - Nim, Elm, Chapel, Crystal, та же Scala или TypeScript тоже подходят. Как впрочем и уйма языков под JVM.
13:00Как вам кажется, с чем это связано? Ведь это приводит к почти неизбежно более сложному дебагу и без обмазывания тестами тут вообще никуда.
13:00Мне кажется дело в том, что это помогает перенести многие задачи на уровень компиляции - очень актуально для параллельных вычислений.
13:00Опять же, проблемы многопоточности зачастую решаются компилятором гораздо проще. Не говоря уж об оптимизации кода.
13:01Кстати в плане параллелизации очень интересен Chapel, который вдохновлялся королём числодробилок Fortran’ом (этот кстати всё ещё жив).
13:01По поводу параллельных вычислений - тут тренд на лицо. Начиная со Spark, Storm и прочих MapReduce, до IMDG как тот же Hazelcast и GridGain.
13:21А с учётом роста собранных данных в энтерпрайзе и их осознанием возможности монетизировать это, тренд точно будет положительным ещё долго.
13:21Кстати ещё один тренд в той же тематике - Machine Learning. В бизнес среде начали понимать всю его мощь, и количество вакансий дико растёт.
13:22Это можете рассматривать как совет молодым специалистам - очень горячая область, скоро точно нагрянет большой хайп, а значит и деньги!
13:23@backendsecret да уже нагрянул, может разве что не на рынке РФ
Ну всё-таки большинство enterprise очень инертны, их пока не успело накрыть полноценно. Но это точно не надолго. twitter.com/axique/status/…
13:25@backendsecret согласен про инертность. Но посмотрите на StrataConfs последних трёх лет. Machine Learning там везде… twitter.com/i/web/status/8…13:33
@visualwatermark @backendsecret к тому же - молодым соискателем совет учить это сейчас, чтобы потом не кусать локти.14:00
Допивая первую пятничную пинту пива, внезапно вспомнил о здоровье. А как вы держите себя в форме при нашей сидячей работе?
17:38Я вот лично проникся стоячими рабочими столами и уже заказал себе такой на работу.
17:39Первую неделю было очень непривычно и даже побаливала спина, но потом я понял что это просто мышцы. А вот позвоночник сказал мне спасибо.
17:48@backendsecret в gym 3жды в недельку,спина проходит совсем, для ног надо что то придумать,зал вопрос кровоснабжения ног не решает полностью
Вот именно стоячий стол с правильным матом для ног решает это. twitter.com/Moroz_v/status…
17:53# Суббота 11 твитов
RJ45 building + RJ11 pic.twitter.com/yFGP6L6vHt
Какое у вас отношение к разработчикам с опытом админства? twitter.com/binitamshah/st…
13:40Плюс всегда полезно когда разработчик сам умеет все разлепдоить, и понять и решить проблему не только в своём коде, но и в энве.
13:52@backendsecret очень полезно шарить еще и в бизнесе. А еще психология, философия, физика, матан, экономика. Да и зд… twitter.com/i/web/status/8…
По поводу шарить в бизнесе +1. И это даже напрягает, когда люди хотят знать только технологии и не вникать в реальн… twitter.com/i/web/status/8…
13:57@backendsecret Говорить - это тоже важный скилл. Мало кто умеет делать это грамотно и вовремя.14:17
@backendsecret Зацените чо я нашёл!15:10
Идеальное чтиво для вечера субботы:
fsharpforfunandprofit.com/posts/13-ways-…
Кстати по поводу чтива. Как вы предпочитаете изучать новые технологии?
15:30Мой путь - сначала PoC пользуясь оф докой, потом если есть книга из серии “In Action” @ManningBooks, потом Guide от @OReillyMedia и бложики.
15:30И мне кажется на это повлиял инженерный подход к обучению в @spbspu, где как раз принято учить даже науку через практику.
15:32@backendsecret Конечно, положительно. И сам всегда хочешь уметь все настроить, а то как лох. И некоторое вещи велосипедить не приходится.15:52
@redmoonstudio @backendsecret Только доки и стековерфлоу. Ну и рандомные блогпосты. Читать теорию без практики - практически бесполезно.
Полностью поддерживаю. Только learn by practice. twitter.com/mr_The/status/…
18:31# Воскресенье 10 твитов
Только на практике11:29Прочитал Go programming language и так и не стал native speaker, каждый раз когда пишу на нем -… twitter.com/i/web/status/8…
Продолжая тему технологий и наболевшего. Сейчас развелось очень много технологий, SaaS, и прочего. И во всём разбираться - жизни не хватит.
13:31Но когда люди уже используют какую-то технологию, и не желают в ней разбираться - вот это реально бесит.
13:31И очень часто используют инструмент ну совсем не по назначению, и потом удивляются - почему оно не работает?
13:31А потом появляются разговоры а-ля “технология X мы не юзаем, потому что Вася с соседнего проекта 5 лет назад пробовал и ему не понравилось”.
13:31И очень редко в ответ на это будет задан вопрос - “а что у него пошло не так?”. Какие были кейсы? Что у этого Васи вообще с квалификацией?
13:32@backendsecret Я, кстати, недавно понял, что не умею работать в команде (читай - использовать умения тиммейтов)
Это хорошо что понял. Признание проблемы - первый шаг к её решению. Пользоваться знаниями коллег - крайне полезный… twitter.com/i/web/status/8…
13:33@strizhechenko @Bubyakin @backendsecret ну и да, мне кажется это очень наивно пологать что компиляция = скорость, оно по разному бывает15:28
Напоследок хочу сказать всем спасибо, было интересно и необычно. Будьте открытыми к новому и все время учите что-нибудь интересное.
18:55Ну и конечно, спасибо @dcromster за возможность. Респект и уважуха!
18:56