# Понедельник 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:51Kubernetes тоже был в фаворитах, но на момент старта он поддерживал только старую версию Docker.
15:51В итоге, Docker Swarm оказался не так плох, но мы очень быстро уткнулись в скорость сетки.
15:52# Четверг 16 твитов
Хочется поднять тему про языки программирования и сахар в них. Точнее о том, насколько вредны калории, а особенно их избыток.
21:37Вот к примеру, удобно сравнивать Go и Scala. Из-за очень богатого сахара скалы, сложно заставить команду писать всегда в едином стиле.
21:38GoLang с другой стороны благодаря своему 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Плюс всегда полезно когда разработчик сам умеет все разлепдоить, и понять и решить проблему не только в своём коде, но и в энве.
16:52@backendsecret очень полезно шарить еще и в бизнесе. А еще психология, философия, физика, матан, экономика. Да и зд… twitter.com/i/web/status/8…
По поводу шарить в бизнесе +1. И это даже напрягает, когда люди хотят знать только технологии и не вникать в реальн… twitter.com/i/web/status/8…
16:57@backendsecret Говорить - это тоже важный скилл. Мало кто умеет делать это грамотно и вовремя.17:17
@backendsecret Зацените чо я нашёл!18:10
Идеальное чтиво для вечера субботы:
fsharpforfunandprofit.com/posts/13-ways-…
Кстати по поводу чтива. Как вы предпочитаете изучать новые технологии?
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 твитов
Только на практике14:29Прочитал Go programming language и так и не стал native speaker, каждый раз когда пишу на нем -… twitter.com/i/web/status/8…
Продолжая тему технологий и наболевшего. Сейчас развелось очень много технологий, 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