YuryDymov

10 октября 2016, Beijing

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

Хей-хей! С вами всю неделю на @jsunderhood будет Юрий Дымов, и нам предстоит дофига всего обсудить :)

10:15

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

10:15

Вчера был ровно год, как мы с женой переехали на ПМЖ в Пекин. До этого в течение 5 лет регулярно работал на международных проектах

10:16

во многих странах: Англия, США, Мексика, Бразилия, Израиль, Германия, Нидерланды, Казахстан, Украина. Ну и по России поездил конечно.

10:16

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

10:16

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

10:16
@jsunderhood не ожидал в андерхуде встретить человека из SAP'a, я думал весь фронт у вас там на аутсорсе

Ну, у нас есть собственный современный UI фреймворк sapui5.netweaver.ondemand.com, 3 разных мобильных платформы, но это м… twitter.com/i/web/status/7…

10:22
@jsunderhood реально ли изучить какую-то часть SAP в домашних условиях?

SAP огромен, у нас сотни разных продуктов. Какую-то его часть изучить дома безусловно можно, но надо понимать, заче… twitter.com/i/web/status/7…

10:24

Темы на следующие дни: технологии, side-projects по жизни и work-life balance, стартапинг, менторство, найм, отбор стажеров, карьерный рост

10:25
@jsunderhood где больше всего понравилось жить/работать?

Пожалуй, в США. Там очень комфортные условия для жизни и работы. В Китае очень прикольно, но экология сводит на нет… twitter.com/i/web/status/7…

10:41

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

10:44

Тут совсем другое отношение к срокам - всегда именно я спрашиваю: "когда нужно все сделать" и получаю ответ в духе: "ну, давай через месяц"

10:46

В московском офисе после 18:00 почти никто не уходит. Здесь в 18:05 на этаже остается несколько человек, после 19:00 - человека 2 в офисе

10:47
@jsunderhood а вы на чём код пишете?

По работе Obj-C, JS ES5, Java. Для души - React, RoR, сейчас ковыряю elixir и phoenix. Завтра будет подробнее… twitter.com/i/web/status/7…

10:49

Китай и IoT: в моем доме счетчик эл-ва показывает, сколько денег осталось на счету. Если <= 0, эл-во отключается. Баланс можно мгновенно

11:08

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

11:09

В Китае фантастически развита доставка: с утра у дома очередь курьеров, каждый разносит сразу несколько посылок в каждый дом

11:11

Бесплатная доставка от $5, по Пекину - в течение 1-2 дней, по Китаю - дней 5, из Америки 7-10. Нет дома? Оставят в магазине внизу

11:12

Доставка еды: 15 - 40 минут из ~20 ближайших ресторанов. В течение часа - из еще 40. Минимальной стоимости заказа вроде нет

11:14

Все через интернет/телефон. Китайский знать не обязательно

11:14

У макдака есть доставка, если курьер не успел привезти за 45 минут - все бесплатно. Студенты иногда специально заказывают из дальнего :)

11:18
@jsunderhood чей веб интерфейс круче: SAP или 1С?

Мой :) Я запилю свой фронт, а SAP буду использовать в качестве data source. Вообще наш портал и Web Dynpro - это сп… twitter.com/i/web/status/7…

12:29

Раз речь зашла о UX. Китайцы обожают копировать, поэтому почти все популярные аппы выглядят так (это Alipay): hsto.org/files/794/a9d/…

12:32

Сверху title, внизу TabBar, по середине featured или реклама. В центре сетка с иконками на белом фоне. За каждой плиткой - небольшой JS app

12:34

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

12:37

Это 8 _разных_ приложений dangrover.com/img/content/ch…

12:46

Какая прибавка к зарплате или какого рода проекты могли бы вас заставить задуматься переехать в Китай на пару лет?

13:16
@jsunderhood смотря куда именно, Китай страна немаленькая

Я не ограничиваю, просто интересно, что мотивирует людей. Другой язык, другая культура. Нас тут уже трое, кто из СА… twitter.com/i/web/status/7…

13:25
@jsunderhood в этом случае, так как деньги для меня не являются мотивацией, причиной бы могли быть интересные проекты.
13:30
@jsunderhood Но их и сейчас у меня достаточное количество. Так что для меня этот вопрос скорее из области «а что если?»

Ну, тут масштабы другие. Мы долго внедряли проект в местном банке: 120 миллионов клиентов. Сто двадцать миллионов.… twitter.com/i/web/status/7…

13:32
@jsunderhood Вообще любые, наверное. Китай довольно интересное место, барьер бы преодолеть только.

В Китае все еще большая мода на европейцев. В небольшой компании могут платить просто за то, что вы сидите у всех н… twitter.com/i/web/status/7…

13:36
@jsunderhood Хотелось бы еще чтобы туда какой никакой кодинг входил, а то стыдно будет просто сидеть на виду.

Можно пилить side-проекты и будет тебе счастье :) Мы как раз на днях будем об этом говорить twitter.com/Misaka42/statu…

13:40
@jsunderhood так это проблема не денег. Привлекать должны достопримечательности города/страны. Офисный стол везде одинаковый.

True, если нет семьи. Моя мотивация - интересная работа + достаточно $$$, чтобы не париться о повседневных расходах… twitter.com/i/web/status/7…

13:45
@jsunderhood со мной связывались по поводу переезда в Китай, не срослось, но было интересно само по себе, даже без информации о проекте.

Если не секрет, какого рода позицию и работу предлагали? @_sashashakun twitter.com/_sashashakun/s…

13:50
@jsunderhood все банально, фронтенд в EPAM, проект не озвучивали, или я уже забыл)
13:52
@jsunderhood А почему Пекин? С экологией швах (даже запашок всегда), летом офигенная жара. С транспортом не очень хорошо, город огромный.

Почти так, да. Здесь головные офисы большинства клиентов, соответственно и бизнес. С транспортом все как раз очень… twitter.com/i/web/status/7…

13:56

Курьез: в Китае соотношение М/Ж примерно 10 к 7. В SAP China Ж > М, в т. ч. в менеджменте. И ведь речь идет о технической компании!

14:00

За год так и не нашел разумного объяснения этого факта.

14:00

Cool story: 1. В офис местного убера приходят полицейские с проверкой; 2. На след день появляется китайский аналог; 3. Убер уходит из Китая

14:07
@jsunderhood Чай-то хоть пьёшь? Кажется, это единственное преимущество.

конечно :) @ruGreLI twitter.com/ruGreLI/status…

14:30

В Китае с точки зрения технологии мне больше всего нравится Alipay/WeChat Wallet. Эти две платежные системы очень удобные

14:33

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

14:34

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

14:35

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

14:36

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

14:37

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

14:38
@jsunderhood какая прибавка? Какие проекты? Пусть отгружают качественный ПуЭр и удалённо все сделать можно ))
14:53
Офигеть, какое зазеркалье. Приезжая на запад реакция прямо противоположная - повторить бы рокетбанк, да немецкие за… twitter.com/i/web/status/7…
15:07
@jsunderhood я бы поехал если бы предложили конкурентную зп, чтоб можно было комфортно жить не думая о деньгах

Тут все очень плохо с экологией, поэтому в моем понимании "комфортно жить" может не получиться, но уже по нефинансо… twitter.com/i/web/status/7…

15:09
@jsunderhood а вообще какие в Китае зарплаты у разработчиков уровня senior в переводе на $?

Тут скорее glassdoor в помощь, так как слишком много переменных. У экспата от 5-6к в месяц @dvbondarchuk twitter.com/dvbondarchuk/s…

15:21
А если зайти с другой стороны :-) Сколько нужно $, чтобы на все хватало (и немного оставалось) семье из двух чел в… twitter.com/i/web/status/7…

Сильно зависит от привычек. В Пекине $1.5 жилье в хорошем состоянии и месте + $1.5 на еду на двоих (если готовить,… twitter.com/i/web/status/7…

15:32
@jsunderhood проекты на больше 10 миллионов пользователей.
15:34
@jsunderhood мне кажется, или это даже больше чем в среднем в Европе после вычета налогов? Или там где в Китае такая ЗП и расходы большие?

Надбавка за "вредность" и колорит. Китай иначе не сможет выиграть конкуренцию за кадры с EU, UK и US twitter.com/pas_art/status…

15:37
@pas_art @jsunderhood конечно больше. но work life balance просто ужасный, как и менеджмент, это мне китайские коллеги рассказывали

It depends. В китайских компаниях все очень по-разному. В филиалах EU и US компаний - Дикий Запад. Сюда едут авантю… twitter.com/i/web/status/7…

15:42

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

15:53

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

@jsunderhood В Китае до сих пор мода на небритые подмышки? Лет 7 назад был шокирован в автобусе.

Это не мода, но да, до сих пор, Китаянки легко оголяют ноги, но плотно закрывают верх twitter.com/nodkz/status/7…

5:29
@jsunderhood как зайти на китай со своим продуктом? Точно также есть контекст, реклама в соцсетях?

Это очень сложная тема. Без помощи китайцев почти никак, но они вас 10 раз обманут, пока вы поймете что к чему twitter.com/Addicted_fully…

5:31

Доброе утро! Сегодня обсуждаем прикладные и технические темы, начну с рассказа о том, как работаю

5:32

Я маковод с 6 летним стажем. На маке пилю React-based front-end + SAP UI5, iOS/Android native, RoR и немного elixir/phoenix

5:33

Весь веб с сервисами и демонами у меня бегает в виртуалке ubuntu server в vm fusion. Я цепляю через sshfs фс виртуалки, а код пишу на OS X

5:36

Бенефиты следующие: OS и окружение в DEV и PROD ландшафтах одинаковые, поэтому при деплое сюрпризы почти исключены

5:37

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

5:39

с native extensions приходиться любиться два раза, а не 0/1, и тратить время на решение необязательных проблем.

5:40

Легко мигрировать на новый ноут: поставил Xcode, Atom, Fusion, скопировал виртуалку и go-go-go. На все - меньше часа

5:41

Ubuntu server, потому что есть во всех облаках. Так я больше Arch люблю. Из IDE - последнее время Atom. Webstorm спустя 2 месяца не зашло

5:41

Мне кажется Webstorm умнее меня, и я устал с ней бороться; плюс она умудряется подлагивать на i7 16GB RAM. Хотя тул очень мощный - это точно

5:43

iOS - Xcode, Android - Android studio. Под iOS интерфейс пишу в коде. Interface Builder мне никогда не нравился.

5:47

UI в коде - это re-use, единые стили во всем аппе, идеальное выравнивание и мерджи без геморроя, если у вас большая команда

5:48

Да, Atom это редактор, а не IDE. Мне его хватает на 95%. Для моих нужд Sublime == Atom +-, так что просто так получилось :) @serhey_shmyg

6:29
@jsunderhood был ли опыт общения с Ангуляром?

Я ковырял Ангуляр в 2013, но так и не понял зачем он мне. Монолитный RoR меня тогда устраивал. А когда перестал уст… twitter.com/i/web/status/7…

6:31
@jsunderhood расскажи, пробовал ли виртуалку поднимать через Vagrant (весь конфиг в одном yaml файле)?

Nope. У меня DEV виртуалка уже года два, раз в полгода делаю release upgrade. Поэтому нет смысла автоматизировать twitter.com/ddddm/status/7…

6:32
@serhey_shmyg @jsunderhood не совсем. Nuclide с flowtype в Atom рвет webstorm для JS.Правда gui нормальной для git не хватает,но это не беда

Let the holy war begin :) Я одновременно люблю и ненавижу JS за то, что куда не плюнь - есть 4+ способа сделать одн… twitter.com/i/web/status/7…

6:33
@jsunderhood release upgrade - собираешь виртуалку заново?

Да. Одну виртуалку, один раз в полгода. Мне норм :) Продакшен не я админю - мне все равно, как они там свои проблем… twitter.com/i/web/status/7…

6:35
@jsunderhood Мне кажется, это полезно как минимум тем, кто будет вместе \ после тебя.

Maybe. Все равно каждый делает, как ему удобнее. А так, мы используем CI, поэтому front собирается независимо от то… twitter.com/i/web/status/7…

6:38

Кстати, о CI. У нас git обернут gerrit, где мы делаем review: gerritcodereview.com, при пуше сборка уходит во внутренний jenkins

6:40

SAP очень java-oriented, поэтому даже сборка iOS-приложений у нас через maven. Для колоборации каждая команда сама определяет, что ей милее

6:41

Часто вижу JIRA, но сам предпочитаю Slack, если от проекта сильно NDA не веет, вроде газпромовского "планшета для Миллера"

6:42

Я там QA делал и оптимизировал все, что только можно, чтобы вписаться в требования Заказчика едва совместимые с физическими возможностями

6:43
@jsunderhood хороший вариант. Сам пытался автоматизировать, но при любых изменениях в окружении приходилось много времени тратить, забросил

Ага, сначала оптимизируешь все подряд, потому что можешь :) Потом, когда идей и работы сильно больше, чем времени,… twitter.com/i/web/status/7…

6:50

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

6:51

через 15 минут нахожу себя где-то глубоко в твиттере. В итоге сейчас мой ToDo - это белая доска в гостиной и бумага с ручкой. Огонь!

6:53

У меня еще есть Wunderlist - если под рукой нет блокнота и для самого важного. Заметки веду в Evernote, хотя он чего-то портится

6:54
@jsunderhood посмотри на workflowy.com

Спасибо за наводку. twitter.com/akaDuality/sta…

6:55
@jsunderhood использовать SAP UI приходится из-за внутренних стандартов? И как он с React'ом интегрируется, хорошо?

Я не смешиваю :) Если надо писать мобильный апп, я настаиваю на Native, если вижу, что надо что-то сложное. Если ве… twitter.com/i/web/status/7…

6:57

иногда шантажом. Если что-то простое, либо кастом, то да - SAP UI. Он всем прекрасен, только медленный и universal render не умеет by design

6:58
@jsunderhood а что насчёт Ангуляр 2?

Для меня технология - это способ решения задачи. То есть мне бизнес сторона интереснее. Это не значит, что можно за… twitter.com/i/web/status/7…

7:00

это подтверждает. Я не буду учить новую технологию, пока не пойму, зачем она мне нужна. Я все еще не пишу на Swift и обходил node.js лет 5

7:01

Мне оно было не нужно, но я просто читал и знал, что оно есть. Когда понадобилось, я написал первый universal app на react+redux с нуля

7:01

за 4 дня, не имея опыта с node.js от слова совсем. Еще через пару недель я понял, что делает каждая его строчка :)

7:02

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

7:03
@jsunderhood OneNote хорошо идёт лично мне.
7:04
@jsunderhood "SAP Java oriented" - а кроме непосредственно Java, используются ли в SAP другие JVM языки, Scalia, Clojure?

У нас сотни продуктов, поэтому кто-то, думаю, использует. В стандарте core продуктов типа EP, PI - только стандартн… twitter.com/i/web/status/7…

7:05
Вот и я давно пришла к этому. Вайтборд ничто не заменит. #web twitter.com/jsunderhood/st…
7:06
@jsunderhood а как в SAP относятся к node/rails/elixir, если компания очень Джава ориентирована?

К Node отлично, мы в пуле спонсоров, плюс интеграция с HANA. На rails написан SAP JAM. Elixir - пока только в моих… twitter.com/i/web/status/7…

7:09

У нас негласное правило: технологии 6+ лет, в продакшене у гигантов 1.5+ года - тогда можно поковырять и возможно использовать

7:10

Поэтому мы никогда не будем на bleeding edge. Отсюда и моя любовь к side-projects

7:10
@jsunderhood GraphQL уже раскуривать начали?
Это то, что приходит на смену REST API.

Никуда оно пока не приходит stateofjs.com/2016/api/. У нас своя OData всюду, которая делает примерно тоже самое, но… twitter.com/i/web/status/7…

7:13

Я делал pet project с GraphQL + Relay. Второй мне совсем не понравился, первый гораздо интереснее, но в след проект я бы не взял. Слежу пока

7:16
@jsunderhood на ноде голый экспресс или koa/Hapi/etc?

За всех не скажу. Я пока на голом экспрессе, но с интересом смотрю как на Koa, так и на Hapi. Возможно в след проек… twitter.com/i/web/status/7…

7:18
@jsunderhood Вопрос похоливарнее. От coffee script головного мозга уже избавились, или вас миновала сия беда?

На фронте у меня coffee никогда не было, в RoR монолите - был, но там на весь проект строк 100, так что это вообще… twitter.com/i/web/status/7…

7:20
@jsunderhood @nodkz какие по вашему перспективы у Ноды? Не является ли это уже хипстерским решением нишевым для стартапов?

Я не беру и еще не скоро возьму node в backend. В web frontend она с нами на очень и очень долго. То есть года 2 то… twitter.com/i/web/status/7…

7:45

Фишку cordova, react-native и гибрида я так и не понял, но я сюда из ios/droid native пришел, поэтому сильно предвзят.

7:46

Write once, run everywhere. Все равно без костылей не взлетает, а performance на порядок ниже. Может в будущем все будет норм, но не сейчас

7:47
@jsunderhood а как вы юзаете её? Прокси?

universal rendering. Я про это даже tutorial написал habrahabr.ru/post/309958/ twitter.com/denis_nagibin/…

7:49
@nodkz @jsunderhood а что это такое?

CoffeeScript - наречие JavaScript. Там меньше всяких скобочек, @ вместо this и другой сахар, если одним твитом twitter.com/wouldntfix/sta…

7:56
@denis_nagibin @jsunderhood Изоморфизм вытягивает ноду из хиптерства. Это когда у вас один и то же код работает и на клиенте и на сервере.

Изоморфизм лечит долгую загрузку и инициализацию JS и сразу отдает клиенту контент. В этом разрезе наиболее интерес… twitter.com/i/web/status/7…

7:57
@jsunderhood React native ну вообще же не write once run anywhere. И performance у него на уровне native если правильно юзать.

Очень зыбкая почва для меня. Я знаю, что он есть, но не имею практического опыта. С 4 годами native разработки для… twitter.com/i/web/status/7…

8:00
@wouldntfix @jsunderhood CoffeeScript - это руби-подобный синтаксис/язык, который компилится/транспилится в ява скрипт.
8:01
@jsunderhood Многие считают, что это нифига не так и изоморфизм нужен только для SEO и для этого можно придумать проще решения.
8:01
@jsunderhood Быстрая интерактивность это совсем не про рендер на сервер, а скорее про то как быстро загрузить джаваскрипт без лишних вещей.

Ага, костыль, чтобы обмануть юзера. Есть куча исследований, что время начальной загрузки очень важно для UX, если у… twitter.com/i/web/status/7…

8:02

Если мы сразу отдадим контент, а сайт "оживим" через 2-3 секунды - никто ничего не заметит.

8:03

SEO это хорошо, но поисковики уже худо-бедно умеют JS, как и боты. Так что это приятный бонус, но не цель

8:04
@denis_nagibin @jsunderhood Мигрировал с рубей на ноду по своей воле ;) Больше не верю RoR, инструментарий уже того... устарел.

Front react, backend - любой, в своих проектах беру phoenix и он прекрасен. RoR сейчас как PHP 5 лет назад. Все хот… twitter.com/i/web/status/7…

8:06

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

8:07

Я вряд ли вернусь, но сам факт эволюции и развитии технологии в правильном направлении очень радует

8:08
@freiksenet_ru @jsunderhood Write once for iOS, once for Android

Да, точно. Там философия "выучи реакт и используй всюду". Имхо, более живуче, чем cordova. Но я все равно за native… twitter.com/i/web/status/7…

8:10
@nodkz @jsunderhood а есть понятия тайпскрипт головного мозга и es2015 головного мозга?

Well, es2015 мне очень по душе. Всегда грустно кастомизировать SAP UI5, потому что там ES5 и я не буду тащить babel… twitter.com/i/web/status/7…

8:18

чтобы написать свои 100 строк, как мне нравится @wouldntfix @nodkz

8:18
@nodkz @jsunderhood монга?

Не-не. Oracle / PostgreSQL для реляционных данных и redis/whatever K-V для всего остального. NoSQL для прототипов в… twitter.com/i/web/status/7…

8:21

Опыт коллег с монгой всегда одинаковый: сначала "вау, мы сделали все так быстро" и через год полета в проде и тонны CR миграция на oracle

8:22
@jsunderhood @wouldntfix я уже никак без Babel и Webpack. Они делают из js вполне сносный язык с кучей плюшек для SPA (single page app).

Подпишусь, но я и PR на github пишу в стиле автора даже если он мне кажется ужасным. twitter.com/nodkz/status/7…

8:25

Нельзя влезть в существующий проект и устроить там революцию :) Даже если очень хочется

8:26
"RoR сейчас как PHP 5 лет назад" twitter.com/jsunderhood/st…

Лол :) twitter.com/5minphp/status…

8:26
@jsunderhood а не сталкивался с проблемами, что вотчеры файлов не реагируют на изменения файлов по сети? Если да, то как решил?

Сталкивался. Лечится настройками IDE с одной стороны и "sshfs -o cache=no ..." - с другой twitter.com/esergeev/statu…

8:31
@jsunderhood как у вас с удалёнными сотрудниками?

Рабочий процесс, KPI и прочее управление мы будем обсуждать завтра. Если коротко, то если работа сделана в срок, то… twitter.com/i/web/status/7…

8:42
@jsunderhood @Addicted_fully а китаец может быть другом? Таким чтобы … не обманывал. 😳

Конечно, китаец может быть вообще любым - их полтора миллиарда, а закон больших чисел никто не отменял twitter.com/taujavarob/sta…

8:43

У нас есть знакомый студент крутейшего универа в Пекине. Он кодит, рисует, занимается паркуром, сам выучил русский летом от скуки по youtube

8:44

Знает 4 других языка, включая польский (встречала с девочкой из Польши 2 года). Гений короче.

8:45
@jsunderhood Я сменил проект. Хотя и мог сделать революцию(но это небезопасно). В любом случае, даже если вас съели, у вас есть два выхода 😉

В точку. Я не лезу в проекты, где надо выбирать технологии из полит соображений. Оно и так еле шевелится, а они хот… twitter.com/i/web/status/7…

8:46

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

8:55
@nodkz @denis_nagibin @jsunderhood как жить без SQL? Это наверное не жизнь а мучения? 👻
9:35

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

9:55

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

9:56
@jsunderhood Медиум, дайджесты на Хабре и @webstandards_ru
9:58
@jsunderhood hacker news react-hn.appspot.com (react edition)
10:38
@jsunderhood Твиттер, еженедельные рассылки (js weekly и прочие), рсс и медиум
10:46
@jsunderhood js для всего на свете
11:50

Давайте обсудим написание тестов. Любите ли вы их писать, исповедуете TDD, BDD, какие инструменты/либы используете. Вот это все

11:52

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

11:53

Для веб/гибридных у SAP UI5 есть отдельные инструменты для написания Unit Testов. Стандартные приложения ими покрываются

11:54

Кастомизация и разработка под ключ тестами не покрывается. На это никогда нет времени/бюджета/желания. На самом деле клиенты просто не

11:54

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

11:55

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

11:56

В своих проектах у меня есть два подхода: тестирование "широкими мазками", когда я нажимаю на кнопку и жду определенного эффекта

11:57

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

11:58

Второй подход к тестированию - это выделение отдельных частей приложения и выкладывание в Open Source

11:58

Там уже тесты пишутся на уровне hardcore, с учетом всех вырожденных случаев и code coverage под 100%

11:59

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

12:01

Теперь по инструментам. Jest у меня чего-то не зашел, использую mocha + chai + enzyme + jsdom для написания тестов логики и компонентов

12:03

Для coverage - istanbul. В качестве CI для OS - travis CI.

12:04

Мне нравятся бэджики на github, для code coverage использую сервис coveralls. Github предлагает в своих интеграциях codecov

12:05

Я потратил 2 часа, чтобы понять, что у меня не так, но проблема оказалась на стороне codecov, причем согласно issue tracker - 2 за месяц

12:06

Может это просто совпадение, но теперь много людей узнает, что они не очень. Сорян чуваки, shit happens.

12:07
@jsunderhood не понимаю, где там написание лишнего кода. Тест кода - это вызов кода на определённых данным и ожидание нужного результата.

True, но их надо писать, поддерживать и тестировать. При хорошем уровне покрытия, количество строк в тестах достига… twitter.com/i/web/status/7…

12:09

TDD у меня пока не получается. Я программирую с 8 лет и когда начинаю кодить, редко представляю, что в итоге получится.Как холст у художника

12:11

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

12:12
@jsunderhood но ведь перед тем хоть что-то написать нужно это представить, соответсвенно можно написать и тест :)

True, но пока вот не получается, хотя пару раз пытался. Надо будет еще попробовать. twitter.com/AAshgaliev/sta…

12:19

Btw, тесты сейчас писать модно, но это не отменяет важности хорошей архитектуры и аккуратности. А то открываешь чужой пакет на github,

12:20

code coverage 96%, документация аккуратная. Лезешь в код, а там полное спаггети. Так что по мне уж лучше код чище и аккуратнее писать

12:22

Breaking news: Safari будет поддерживать Intl API! А я свой polyfill писал, чтобы react-intl мог работать в iOS webkit.org/blog/6978/java…

12:57
@jsunderhood а можно было бы просто изредка открывать таблицу совместимости kangax.github.io/compat-table/e…

Чувак, я же не могу заказчику сказать, что ему не нужна интернационализация. twitter.com/chicoxyzzy/sta…

13:01
@jsunderhood не говоря о том, что полифилл существует очень давно.

Да, Intl.js с 2013 года, но местами дает другой резалт, весит 150кб, так себе написан и ломает universal rendering.… twitter.com/i/web/status/7…

13:02
@jsunderhood лучше типами на 96% покрыть, заодно лапши поубавится и документацию писать не нужно
13:03
@jsunderhood я никогда не пишу test first. Раньше чувствовал себя неполноценным по этому поводу, но потом забил. Хватает других комплексов
14:54

Желаю всем приятного вечера :) Завтра начну с ваших вопросов, потом перейдем к темам карьеры, [self-]менеджмента, найму, менторству и тп

14:58

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

14:59

# Среда 121 твит

Доброе утро! Спешку поделиться крутой новостью, теперь у нас есть npm на стероидах yarnpkg.com

6:05

Теперь на моем китайском интернете packages будут качаться куда быстрее, плюс я перестану упираться в проблему no free Inodes на виртуалке

6:07

Сегодня я начну с темы найма, потом расскажу о рабочем процессе и менторстве, а закончим мы самообразованием и обсуждением side-проектов

6:09

Найм. Если бы я мог дать только один совет, то он бы звучал так: "Измени свой mind set. Это не работодатель выбирает тебя, а ты его"

6:10

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

6:11

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

6:12

ответить "потому что вы делаете это, меня прет, у меня есть релевантный опыт и я могу вам помочь тем-то и тем-то"

6:12

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

6:13

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

6:14

Это звучит как капитанство, но мы берем 5-7 человек из 100, которых приглашаем на интервью и вот 95 остальных делают эти ошибки

6:15

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

6:16

Есть еще Beer Test. Если ты не представляешь, что после работы идешь с чуваком пить пиво и общаться "за жизнь", то требования к нему х3

6:17

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

6:19

Money-oriented сотрудники в лучшем случае будут работать средне, так как будут всегда стараться делать acceptable minimum. Это плохо

6:20
@jsunderhood ну да, ведь делать на реакте мигающие кнопочки нужно обязательно С ЭНТУЗИАЗМОМ

Зачем мне брать человека, если у него не горят глаза? Если только он не гений, но тогда тема собеседования вообще н… twitter.com/i/web/status/7…

6:22
@jsunderhood Я не представляю, каким должен быть проект чтобы горели глаза.

Если работа не приносит радость, это повод серьезно подумать о жизни. Особенно если еще есть возможность все поменя… twitter.com/i/web/status/7…

6:24
@jsunderhood Вы не путаете случаем удовольстиве от работы и горящие глаза?

Сори, я не так понял. Да, понятно, рутина она всегда случается, но когда ты идешь на интервью - это уже шаг к новой… twitter.com/i/web/status/7…

6:27

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

6:27
@jsunderhood там все итак же используется файл package.json?

Все также, только команды чуть другие, но работает быстрее и лучше twitter.com/hellbeast92/st…

6:28
@jsunderhood Но где гарантии, что именно У ВАС ее не будет? Никаких.

Если подготовиться и поговорить с людьми, то это уже поможет. У меня есть правило 80/20: 80+% времени работа должна… twitter.com/i/web/status/7…

6:30
@AVarkulevich @jsunderhood Это говорит о том, что ты хрена с два получишь повышение зарплаты в таком месте=))

Чуваки, у меня росла ЗП и на 40%, и на 30% в год. Если вы хорошо работаете, вам будут много платить. twitter.com/GolubevVictor/…

6:32
@twenty @jsunderhood И вы надеетесь соц-полезностью заинтересовать инженера?

У каждого своя мотивация. Меня угнетает, когда мой проект не уходит в production несмотря на то, что мне заплатили. twitter.com/Misaka42/statu…

6:33

Если на собеседовании вас спросили про $$$ - хороший знак. Берете потолок вакансии и +15-20%. Даже если не дадут, можно выбить что-то еще

6:34

  • отпуск, подъемные, whatever. Но чаще дают. Больше платят - больше ценят, быстрее карьера растет.
  • 6:35

    В общем "назову меньше - скорее возьмут" очень плохой совет. Вообще ЗП скорее от самооценки зависит, чем от опыта, умений, etc.

    6:36
    @jsunderhood Люди уходят только если предложение на много выше нынешней зп. При малой разнице люди предпочитают не рисковать. Я так думаю.

    Есть несколько видов мотивации. Вы можете получать очень много и быть несчастным из-за отсутствия призназния/атмосф… twitter.com/i/web/status/7…

    6:38

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

    6:39

    Как следствие - деградация, депрессия и всякие нехорошие штуки. Видел такое у клиентов особенно в крупном нефтегазе и в гос. компаниях.

    6:40
    @jsunderhood тогда компания должна обеспечивать достойный уровень зп и сообщать об этом на интервью раз хотите не-денежную мотивацию

    Уровень ЗП, при котором ваши мысли заняты только работой и семьей - это почти дефолт, иначе работать эффективно не… twitter.com/i/web/status/7…

    6:42
    @OhTheAnguish @jsunderhood если есть возможность ковыряться и выбирать из унылых и неунылых - то почему нет?
    6:53
    @jsunderhood ем, ви людей, які ведуть здоровий спосіб життя, принципово не наймаєте?

    Хей, не надо так буквально :) У нас свои беговые клубы, спортивные команды и тп. Речь шла о том, насколько человек… twitter.com/i/web/status/7…

    7:01
    @jsunderhood тогда давайте перки или долю.Вы очень типично хотите хорошего разработчика с горящими глазами на небольшую зп.Не бывает такого

    Почти верно: я ни разу не говорил про небольшую ЗП. Она должна быть адекватна пользе, которую человек может принест… twitter.com/i/web/status/7…

    7:22
    @jsunderhood Это практически невозможно узнать, когда тебе звонят из компании, о которой ты вообще до этого не слышал.

    Ну, всегда же можно потом поискать в интернете и составить представление. В процессе беседы можно задать вопросы, е… twitter.com/i/web/status/7…

    8:25

    Кстати, когда в конце вью задают вопрос: "Есть ли у вас вопросы?" Их надо задавать. Сколько в среднем кодят в день, как часто митинги

    8:26

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

    8:26
    @jsunderhood Ну, и что делать, если нет просто нет такой компании, в которой прямо такой хотелось работать? Устроился в одну — вышла фигня.

    Делать свою :) Вообще в мире огромное количество компаний, думаю, что какая-нибудь вам все же подойдет twitter.com/ruGreLI/status…

    8:27
    @jsunderhood это не единственная причина. Важно состояние рынка. Сейчас хорошо платят всем, потому как найти разработчиков сложно.
    8:28
    @jsunderhood В требованиях, скажем, отличное знание двух-трёх фреймворков, архитектур и т.п. По факту ничего не внедрено, лишь бы кодил.

    Найти будущих коллег в соц. сетях и задать вопросы. Это конечно напряг, но с учетом, что вы выбираете себе будущее… twitter.com/i/web/status/7…

    8:33
    @jsunderhood А на собеседовании все спрашивают исключительно основы JS, иногда про HTML/CSS/HTTP.

    Я спрашиваю про проекты, роль человека на них, смотрю примеры кода, выявляю общий уровень знаний и background twitter.com/ruGreLI/status…

    8:34
    @jsunderhood как же тяжело найти "ту самую"... Но сделать свою лучше.
    8:35
    @dcromster @jsunderhood И ещё тяжелее.
    8:44
    Если вам на интервью встречается такой ханжа и мудак, разворачивайтесь и бегите. Нет ничего хуже упоротого прогера,… twitter.com/i/web/status/7…

    Это мнение тоже имеет право на жизнь. twitter.com/vkozulya/statu…

    8:45
    @jsunderhood зачем? Что такого интересного вы можете поведать на что стоит тратить свое время?

    Тебе не интересно, как ты будешь проводить 160 часов в месяц на протяжении нескольких лет? twitter.com/KlonD90/status…

    8:46
    @jsunderhood никто же не знает заранее, сколько там проработаешь.

    Если у тебя подход, что ты выбираешь работодателя, то ты знаешь, зачем туда идешь. Опыт, связи - вот это все. twitter.com/dr_lexa/status…

    8:58

    Я пошел в SAP, потому что после 3х стартапов захотел: 1) международный опыт 2) научиться управлять командой > 10 человек.

    8:59

    Правда планировал на год-два, получилось на 5

    8:59
    @jsunderhood если не дают shares, то работать больше acceptable minimum будет или джуниор или дурак

    Делаешь хорошо - быстрее растет карьера, дают больше денег. Внутри компании делаешь новое решение - получаешь долю. twitter.com/borovikov/stat…

    9:05
    @borovikov @jsunderhood Ну почему ж? Если это приносит удовольствие. Но для такого удовольствия важно, чтоб финансовой проблемы не было.
    9:08
    @borovikov @jsunderhood Но поэтому зарплата важна. Иначе я буду думать, как получить больше. Никакой работы в кайф. Нет профита конторе.

    В точку twitter.com/webholt/status…

    9:16
    @jsunderhood опять же если ты не жуниор практически расти не куда. в архитекторы? в cto? всё обычно уже занято.

    Всегда появляются новые проекты и направления. Мой рост: cons -> senior -> team lead -> architect. Дальше хочу в pr… twitter.com/i/web/status/7…

    9:17
    @jsunderhood Но ты ж пишешь о другом. Что не должен разработчик о ЗП думать. А должен о любви к работе у вас. Но без ЗП не будет этой любви.

    Я пишу лишь о том, что на вопрос: "почему вы хотите у нас работать?", плохо отвечать "потому что много платите". Др… twitter.com/i/web/status/7…

    9:19
    @jsunderhood через год к вам не придёт он. Ибо у вас ему скучно уже будет. Новое он узнал у ваших партнёров. Зачем ему к вам? 👻 скучать?

    Мой опыт говорит об обратном. Особенно во время спадов в экономике twitter.com/taujavarob/sta…

    9:21
    @webholt @jsunderhood тут дело в том что недостаток денег может очень сильно демотивировать. но при этом в обратную сторону они не работают
    9:22
    @meowthsli Деньги мотивируют только до какого-то уровня.
    И у всех людей уровни разные.

    @jsunderhood

    9:28
    @jsunderhood терпеть не могу этот вопрос. Какой в нём смысл? Ответить: ваше приглашение на собеседование было 26-м в этом месяце?

    Давай будем честными. Если ты классный и тебя приглашает future boss, то у тебя будет 1 вью с каким-нить большим чу… twitter.com/i/web/status/7…

    9:41

    Ок, давайте перейдем к рабочему процессу. У нас это устроено следующим образом. Есть условный проект. Это может быть очень короткий сервис

    10:47

    от 5 дней начиная или что-то огромное на много-много лет. Для веба и mobile это 3-6 месяцев. Под каждый проект выделяется пул трудодней

    10:49

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

    10:50

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

    10:51

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

    10:52

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

    10:54
    @jsunderhood а labor unions не против неоплачиваемой переработки?

    Ну ты же сам согласился со сроками. Если не вписался, то твой косяк. Я пару раз не брался за работу с нереальными с… twitter.com/i/web/status/7…

    10:55

    Btw, овертайм естественно оплачивается, если он случился не по твоей вине

    10:56
    @jsunderhood А если задача меняется? Никогда же не бывает что сделал задачу и все, всегда оказывается что клиент хотел другое.

    Проектная работа описывается в блюпринте, если Заказчик хочет CR, то он это оплачивает, либо PM решает этот вопрос… twitter.com/i/web/status/7…

    10:58

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

    10:59
    @jsunderhood а это не провоцирует на завышение сроков? Ведь точный срок задачи можно, кмк, можно сказать только выполнив её

    Это провоцирует давать safe-оценки. Тут, как и везде, принцип разумности. Будешь перезавышать - работу заберут колл… twitter.com/i/web/status/7…

    11:00

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

    11:03

    Fun fact: один крупный украинский клиент прочитал методологию "Agile" как "отжайл". Напряженный был проект...

    11:05
    @visualwatermark @freiksenet_ru @jsunderhood ну так с кривым стеком риск тупика карьеры возрастает стремительно
    11:33
    @jsunderhood мой вопрос больше про то взгляд на неоплачиваемый овертайм с точки зрения трудового кодекса и профсоюзов

    Смотри, тут вопрос кармы. Ты можешь получить 100% денег за переработки, но с тобой потом ни один ПМ работать не ста… twitter.com/i/web/status/7…

    11:51

    по твоей же вине. Оверворк ляжет на бюджет его проекта и если такого оверворка необоснованно много - испортит ему карму

    11:52

    Какое у вас отношение coding/not-coding на работе? Я бы сказал у меня в России было 75:25, где 25 - это встречи и написание docs/proposals.

    11:59
    @jsunderhood овертаймы чаще изза недосмотра менеджмента

    Ну тут либо менеджмент платит, либо сам решает свои проблемы. Платит тот, кто виноват. Срок и скоуп фиксированы, по… twitter.com/i/web/status/7…

    12:11
    @jsunderhood вообще мне кажется существование внутренней конкуренции за участие в проекте не способствует трезвой оценке сроков

    Да проекта просто не будет. Если внешний - уведут партнеры, если внутренний - не согласуют бюджет. twitter.com/Sigiller/statu…

    12:20

    Ладно, давайте затронем последнюю тему на сегодня: менторство. Я занимаюсь этим примерно 3 года, также смотрю, как это делают другие TL

    12:59

    Грусть в том, что от вас мало, что зависит. У коллеги подход "няньки", у меня - "спартанский". Спустя 3 года полет примерно одинаковый

    13:00

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

    13:01

    Мне жалко времени, поэтому я сразу даю сложную задачу, ссылки на пару курсов/книги, ставлю срок и исчезаю до дедлайна. До дедлайна

    13:02

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

    13:02

    рассказал, что хорошо, а что можно сделать лучше. Потом уходим еще на 2-3 итерации и следующее задание. После 3х заданий можно брать в

    13:03

    проект на подхвате, чтобы учился soft skills: общение с заказчиком, планированию, оценке сроков и тд

    13:03

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

    13:04

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

    13:05

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

    13:05

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

    13:06

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

    13:06
    @jsunderhood а зачем «ментор» тем кто с горящими глазами? просто shared codebase с ревью и твоего примера работы должно хватать не?

    Адаптация в компании, обучение на чужих ошибках, чтобы дров не наломал, уменьшение порога боли при погружении в нов… twitter.com/i/web/status/7…

    13:08
    @jsunderhood а можно пример такой сложно задачи?

    Ок. Написать приложение, которое забирает и рендерит данные с REST сервиса для человека, который только что впервые… twitter.com/i/web/status/7…

    13:09

    Задача простая, но если человек не умеет/не хочет самообучаться неподъемная.

    13:10
    @jsunderhood эффект коачинга/менторства зависит от ментора максимум на 50%
    13:13

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

    13:14

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

    13:15

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

    13:16
    @jsunderhood вообще я сторонник смешанного подхода: не сюсюкаться, но предупреждать о roadblocks, чтобы человек не делал тупых ошибок

    Глупые ошибки - это лучшее, что может случиться во время обучения. Он не только ее решит, но и все вокруг "перероет… twitter.com/i/web/status/7…

    13:20

    Другое дело, если человек не понимает фундаментальные вещи - это действительно надо ловить и направлять в сторону соотв. литературы

    13:21
    @jsunderhood он не будет знать, что это глупая ошибка, если не будет быстрых итераций фидбека. И есть шишки, которые не стоит набивать

    Тут надо эконом. составляющую считать и ущерб оценивать. Если человек сам не поймет, что сделал глупую ошибку, то е… twitter.com/i/web/status/7…

    13:23

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

    13:24

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

    13:25
    @jsunderhood То есть в отрыве от текущего проекта, без необходимости познавать костыли и легаси в сложенной кем-то архитектуре?

    У моего направления специфика такая, что текущих проектов мб много и не обязательно травмировать легаси прямо сразу… twitter.com/i/web/status/7…

    13:27
    @jsunderhood Я вот к чему - это брутфорс метод, можно эффективней.
    Но вообще, главное обучать :)

    Да, соглашусь. Самый интересный фидбек, который я получал, это то, что люди знают, что могут лезть в любой проект,… twitter.com/i/web/status/7…

    13:28

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

    13:29

    проявлять сочувствие и другие хорошие проявления человечности

    13:30
    @jsunderhood Предсказать, что из этого получится, очень сложно. И выживет тут либо проект, либо джун :D

    Не, в первые 2-3 боевых проекта джун всегда идет с батькой. Это уже из соображения бизнеса. Да и заказчик может не… twitter.com/i/web/status/7…

    13:32

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

    13:33
    @jsunderhood Может, мы у вас интервью возьмём по облачным сервисам?:) В рубрику "Кейсы".

    Давайте попробуем. Способы связи со мной dymov.me

    В личку ответить не смог, так как вы не подписаны… twitter.com/i/web/status/7…

    13:42
    @mr_mig_by @jsunderhood тут 2 граничных случая менторства, а как-же главное - бест практисес, зачем нужны яз. конструкции и как их применять

    Может вы более подробно напишите? twitter.com/grim_juz/statu…

    13:44

    Мне в личку прислали интересную ссылку по саморазвитию в нашей индустрии, с первого взгляда очень годно: fse.guru/growing-as-sof…

    13:46
    @jsunderhood было бы интересно узнать, что делать, если программист рос без ментора, соответственно у него не очень хорошая база

    Читать код лучших Open Source проектов, проникаться, вдохновляться и стараться делать также. Много интересоваться л… twitter.com/i/web/status/7…

    13:48

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

    13:50

    теперь вот других учу :) Правда, было бы лукавством не сказать, что мне заложили сильную базу на МГУ ВМиК

    13:50
    @jsunderhood огласите весь список, пожалуйста! (книг)

    Воу-воу. Давай я ограничусь теми, которые имели самое большое влияние мое развитие: "Совершенный код", книги Таненб… twitter.com/i/web/status/7…

    13:54

    Последнюю я бы сейчас советовать не стал, но то, что она на меня оказала влияние, это не отменяет

    13:55
    @mi_chilly @jsunderhood дефолтный совет в этом мире - "ебашить"

    Вот прямо очень лайк :) twitter.com/mr_mig_by/stat…

    13:55
    @jsunderhood А конкретнее? Почему не стал бы?

    У меня после перехода на phoenix случилось функциональное программирование головного мозга. Не уверен, что лучшие п… twitter.com/i/web/status/7…

    14:00
    @jsunderhood Они прям пишут, что это лучше практики? Запамятовал. Да, без критического мышления книгу лучше не брать в руки.

    Это все же старая книга, но все еще стандарт в отрасли. Когда ее писали, в расчет брали 1 CPU / 1 core целевые сист… twitter.com/i/web/status/7…

    14:08

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

    14:09
    @jsunderhood И упор на ООП головного мозга.
    А большая часть книги — костыли для ООП, костыли для языков, копипаста для объёма.

    Ну я не столь критично на этом смотрю. Знать anyway надо, потому что ближайшие лет 10 это никуда не уйдет, но вот п… twitter.com/i/web/status/7…

    14:11
    @jsunderhood из ООП знать стоит POODR от Sandy Metz.
    Это ООП макс. приближенное к функциональной парадигме без паттернов головного мозга
    14:15
    @jsunderhood Ну там есть полезные практики. Вот только до них нормальный разработчик дойдёт сам быстрее, чем потратит времени на книгу.

    Дойти-то, положим, пойдет. Нужно же еще с коллегами общаться на одном языке :) twitter.com/webholt/status…

    14:17

    Жена, когда слышит, как я с кем-то по работе по телефону говорю, понимает только предлоги и союзы :)

    14:17

    Желаю всем хорошего вечера! Завтра начнем с css-in-js и авторизации между frontend и backend. Также принимаю запросы на технические темы

    14:46

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

    Доброе утро! Начнем с css-in-js. В реакте мне нравится идея, что каждый компонент сам определяет, как он может выглядеть.

    6:31

    Но это плохо бьется с темами: 3d party компонент может не вписаться в общий дизайн. Когда я выкладывают в Open Source свои компоненты,

    6:32

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

    6:33

    что существенно уменьшает риск коллизий. В проектах использую jss, пока полет нормальный, но в целом есть ощущение, что best practises

    6:33

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

    6:34

    А пока, чтобы не скучать, расскажу историю вопроса. Один из главных контрибуторов react-native поленился писать css parser и стал юзать

    6:35

    inline-styles, хотя это считалось плохой практикой. Неожиданно для него эта идея оказалась очень популярна в community и получила широкое

    6:35

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

    6:36
    @jsunderhood расскажи ему про @csstree авторства @rdvornov.
    6:48
    @jsunderhood от коллизий лучше избавляет префикс у всех классов

    Видимо, я не очень точно выразился - префиксы и использую, например react-autocomplete-input-whatever twitter.com/iamstarkov/sta…

    6:49
    What can be used to style react components. Today @jsunderhood is also about styling twitter.com/mxstbr/status/…

    Делитесь, у кого есть опыт работы с css modules, jss, aphrodite и radium. Плюсы-минусы, подводные камни twitter.com/frontendgirl/s…

    8:02
    @jsunderhood CSS-modules подходил всем, в принципе. Подводных камней не было, но у нас юзкейс скорее всего такой был.

    А как вы сделали выбор в пользу css-modules? Может быть рассматривали что-то еще? twitter.com/Misaka42/statu…

    8:04
    @jsunderhood Скорее всего выбрали потому, что параллельно обучали верстальщицу реакту, и это было самое удобное.

    Имхо, хороший аргумент. В CSS-modules уровень входа не очень высокий и его возможностей многим хватает twitter.com/Misaka42/statu…

    8:07

    Например, jss для каждого компонента создает в head свой тэг <style>. Когда определенный компонент покидает страницу, то и его стили уезжают

    8:21

    В IE 5-9 кол-во тегов style ограничено 32мя, поэтому сайт может поломаться. Конечно, существуют workarounds, но об этом надо хотя бы знать

    8:22
    @iamstarkov @jsunderhood только префикс должен быть длинным. 😊 иначе будет история как со знаком $ в JavaScript. 👻
    8:22
    @jsunderhood Да там ещё и когда-то количество строк ограничено было, насколько помню.

    На эти грабли наступить еще не успел. Спасибо за комментарий - пойду доку почитаю. Bottom line: IE is >.< twitter.com/webholt/status…

    8:26
    @jsunderhood css-modules в связке со stylus и postcss. Не представляю, как я жил без этого раньше.
    8:26
    @jsunderhood использую CSS-модули с полгода. Есть две особенности: 1. Бесят хеши, поэтому вместо них пути к компонентам.
    8:39
    @jsunderhood 2. Бесит snake case и работа с модификаторами, пришлось написать свою либу npmjs.com/package/catnip вместо react-css-modules
    8:39
    @Copypasting @jsunderhood да, еще надо указать context там же, чтобы путь не конского размера получался.
    9:05
    @jsunderhood у старых версий ие есть и просто ограничение на количество правил
    9:37

    Давайте обсудим авторизацию. Это то, что создало мне много боли на одном из проектов. Мы дробили RoR монолит на rails-api и React front

    10:56

    Так как в backend уже был devise было принято решение найти, что-нибудь для него, чтобы можно было использовать токены

    10:57

    Нашли devsite_token_auth github.com/lynndylanhurle… и redux-auth github.com/lynndylanhurle… С виду отличная связка, много плюсиков на github

    10:58

    Внедрили. Словили несколько багов с redux-auth, но с помощью issue-tracker получилось все побороть. Вроде заработало, но не все было ок

    10:59

    Сессия время от времени ломались, также либа не поддерживала universal rendering, что нам было критично. Решили сделать PR, но redux-auth

    11:00

    нам внутри не оч понравилось: много лишнего для нас, dead-code, пара шорткатов, в итоге написали свое: github.com/yury-dymov/red…

    11:02

    Убрали шорткаты, полностью ui-слой, регистрацию по e-mail, так как у нас только SSO. 150кб -> 30кб, плюс работает как надо

    11:03

    Потом еще выкинули и devise_token_auth, так как сессии ломались из-за него. То есть, в итоге с обоих сторон внедрили свое решение

    11:04

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

    11:04

    Мораль: звезды на github еще ничего не доказывают, к сожалению. У меня осталось ощущение, что мы потратили неадекватно много времени

    11:06

    В идеале нужна норм реализация jwt и ни devise_token_auth, ни redux-auth, ни redux-oauth вам не нужны. Надеюсь кому-то поможет :)

    11:07

    Поделитесь, что вы используете для подобных сценариев, когда у вас node.js front и не JS back-end. То есть passport и пр. не подходят

    11:07
    @jsunderhood писали самопиское на Erlang + Angular ))))
    11:55
    @jsunderhood так а почему не jwt изначально?

    Потому что поверили в devise_token_auth и его 1000+ звезд. Думали, что внедрим за полдня и все будет ок. Ан-нет, увы twitter.com/byPotatoes/sta…

    12:29

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

    14:38

    Мы начнем с тех. вопросов и быстро перейдем к обсуждению side-projects и стартаперству. А пока - желаю всем хорошего вечера!

    14:40

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

    Доброе утро! Начну, пожалуй, с того, что столкнулся с недопониманием в двух вопросах. 1) Мотивация и деньги. Твит, который вызвал резонанс

    6:28

    был в контексте НАЙМА. Деньги будут платить на любой работе, поэтому отвечать на интервью, что вы хотите работать из-за денег это странно

    6:30

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

    6:30

    2) Про "умирать" на проектах. Это отклонение, а не норма. Речь о другом: мы на работе проводим времени больше, чем с семьей. Если есть чувак

    6:31

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

    6:32

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

    6:35

    То есть Beer test он не про пиво вовсе :)

    6:36
    @MaxMykhailenko @jsunderhood Там вроде как была ещё одна величина в 65к в IE6, но не нагуглилось.

    Ага, все минимайзеры бьют файлы то ли по 32к, то ли по 64к символов twitter.com/webholt/status…

    6:40
    @dirtyserpent @jsunderhood нельзя говорить, думать можно)))

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

    6:42

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

    6:42

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

    6:43

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

    6:48

    Все, закрываю эту тему на сегодня. Давайте поговорим о стартапах наконец

    6:49

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

    6:51

    То есть, открыть ларек - это не стартап. Написать новый софт без аналогов - стартап

    6:52

    Из этого определения только 2 из 4 моих проектов можно считать стартапами. Но, так как процессы там одинаковые, я забью на определение

    6:53

    1) В студенческие годы я организовал гейм-сервер одной популярной MMORPG, через которую прошло >200к юзеров за 3 года

    6:54

    2) После универа со своим научником и несколькими сокурсниками мы сделали QRATOR qrator.net leading Russian anti-ddos solution

    6:55

    3) После QRATOR я сделал студию по разработке моб. приложений, но она не взлетела

    6:55

    4) Сейчас, в качестве side-проекта делаем небольшую соц. сеть. Если все будет ок, планируем до конца года уйти в public beta.

    6:56

    То есть, формально 2) и 4) - стартапы, 1) и 3) - нет.

    6:57
    @jsunderhood ого, прикольно) знаем этот проект
    6:57

    Важное уточнение: все эти проекты делались без инвесторов. Я не умею и только 1 раз пытался пытался найти инвестора и оч плохо получилось

    6:59

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

    7:00

    Общий алгоритм следующий:
    1) чем-то сильно увлекаешься
    2) ищешь там нерешенную проблему
    3) решаешь ее
    4) монетизируешь
    5) Profit!

    7:03

    Размер задачи должен быть адекватен возможностям 2-3 человек. Примеры Dropbox, MailChimp и Auth0 показывают, что есть найти узкую проблему

    7:04

    и хорошо ее решить, то можно заработать миллиарды, хотя идея лежала на поверхности

    7:04

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

    7:05

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

    7:06

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

    7:35

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

    7:36

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

    7:37

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

    7:39

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

    7:39
    @jsunderhood настолько гениально, что хочется распечатать плакат и на стену повесить
    9:27

    О side-проектах. Это то, что логично перетекает или не перетекает в стартап

    10:09

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

    10:09

    Вообще, я наверное не совсем с того начала. Side-проект - это проект, который делается в свободное от основной работы время или в рабочее

    10:10

    время. Side-проект не пересекается с основной работой, как правило. Он может нести одну из трех задач: 1) научиться чему-то новому на

    10:11

    небольшом боевом проекте 2) решить небольшую проблему для души 3) стать прототипом для будущего стартапа

    10:11

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

    10:12

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

    10:13

    Также у каждого сотрудника есть возможность от 2х недель в год заниматься самообразованием, включая поездки на конференции, курсы и тп

    10:13

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

    10:14

    С точки зрения ТК все, что вы делаете в рабочее время и/или на оборудовании компании принадлежит ей. Также трудовой договор запрещает мне

    10:15

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

    10:16

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

    10:16

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

    10:17

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

    10:18

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

    10:19

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

    10:21

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

    10:22
    @jsunderhood стоит ознакомиться и с альтернативным мнением vc.ru/p/scratch-your…

    Мне кажется название и тезис не бьются с аргументами и контентом twitter.com/reklatsmasters…

    10:40

    Там вывод: "знай своего клиента и не пытайся ему причинить счастья на основе своего мировоззрения". Вывод верный, но заголовок о другом

    10:41

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

    11:13

    работать все же интереснее. Да и по Китаю я часто вижу 60-летних бабушек и дедушек в смартфонах.

    11:14
    @jsunderhood стоит ознакомиться и с альтернативным мнением vc.ru/p/scratch-your…

    Последнее, это уже из личного опыта. У чуваков с песком из статьи небольшой объем рынка и маржа тоже. У них и не бу… twitter.com/i/web/status/7…

    11:19

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

    11:20

    А раз еще не пришел, то просто рынок ему неинтересен - там мало денег и клиентов. Вот круг и замкнулся.

    11:21
    @jsunderhood А как это оформлено? Всем же надо продукт и побыстрее.

    Проекты имеют свойство заканчиваться, да и не 100% времени ты нужен на проекте. Если есть "окно", договариваешься с… twitter.com/i/web/status/7…

    11:52

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

    11:53

    Коллеги, поделитесь опытом, кто-нибудь уже успел попробовать делать offline? keywords: sw-precache, sw-toolbox, offline plugin

    13:23
    @jsunderhood вы хотите именно в браузере? о моб. приложении речи не идет?

    Да, речь о браузерах - это сейчас bleeding edge, как я понимаю. В нативных и гибридных приложениях offline мы знаем… twitter.com/i/web/status/7…

    13:44
    @jsunderhood а спрос сейчас в какую сторону у вас движется? Товарищ из SAP говорит, что спрос на аппки в их отделе пропал.

    Native пока просел, но мы подписали с Apple недавно крупный договор и сейчас пилим свой SDK под iOS. Где-то через п… twitter.com/i/web/status/7…

    14:27

    Желаю всем приятного вечера и хороших выходных! :)

    14:59

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

    Всех с началом выходных! Сегодня у нас фристайл: я буду еще около 4х часов отвечать на ваши вопросы и делиться своим мнением о различных

    9:06

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

    9:06

    Завтра, к сожалению, у меня не будет возможности вести твиттер, поэтому надо все успеть за сегодня :)

    9:07
    @jsunderhood я успел offline-plugin попробовать (сделать), говорят хороший 😀
    9:07
    @visualwatermark @jsunderhood Progressive Web Apps is the new trend!
    9:07
    @nekrtemplar @jsunderhood Ага, подтверждаю! Парень на фоне конопли на расслабоне запилил офигенскую штуку для вебпаковских юзеров 😂
    👍👍👍

    +1. Круто, что создатель сам объявился. Он сделал очень крутую штуку и рекомендую всем ее посмотреть и знать, что о… twitter.com/i/web/status/7…

    9:08
    @jsunderhood это как нарисовать сову, не?

    Well, yes. Я не стал вдаваться в подробности, так как никто не задал вопросов. Рассмотрю на примере небольшого серв… twitter.com/i/web/status/7…

    9:09

    1) Увлечься: я в прошлом году начал играть в NBA fantasy на sports.ru - собираешь команду из игроков NBA и в зависимости от их статы

    9:10

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

    9:11

    2) нерешенная проблема: подсчет очков и рейтинга производится раз в сутки, через 8 часов после финала последней игры дня. Люди хотят быстрее

    9:11

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

    9:12

    3) Решение: делаем свой сайт, парсим статистику с NBA.com в режиме онлайн, парсим sports.ru, забирая fantasy команды

    9:13

    Выводим fantasy очки и standing fantasy команд в режиме реального времени. Получаем аудиторию в 500 уников в сутки в среднем

    9:13

    К слову, если у вас 50+, то ваш сайт уже в топ-1 000 000

    9:13

    4) Монетизируем: google-ads и аналоги не вариант, так как аудитория не очень большая. Добавляем donation и в течение месяца окупаем затраты

    9:14

    на домен и хостинг на 3 года вперед. Ищем fantasy сайты, где можно играть на деньги игрокам из России. Делаем партнерку

    9:15

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

    9:16

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

    9:16

    5) Profit: много заработать не удалось, но проект изначально делался для души. Если сделать таких 10, что-нибудь точно выстрелит

    9:18
    @jsunderhood как найти на это время :)

    Отличный вопрос. У нас на работе устроено так, что если ты эффективно решаешь поставленные задачи, то оно у тебя ав… twitter.com/i/web/status/7…

    9:22

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

    9:22

    Но это у нас так. В других компаниях времени может не оставаться - тут уже не мне судить конечно

    9:23
    @jsunderhood можносамому спортсу продать плагин

    sports.ru меня за спам моего сайта забанил (потом правда разбанил). Какое уж там что-то предлагать :) twitter.com/Addicted_fully…

    9:26
    @jsunderhood хорошие идеи спонтанны. Если сидеть думать что бы за пет проект запилить, ничего толкового не придумаешь, ИМХО.

    Отсюда первый пункт: 1) чем-то увлечься. Идеи сами по себе не приходят, зато если что-то надо самому и оно далеко о… twitter.com/i/web/status/7…

    9:27
    @jsunderhood @nodkz ну это нужно сто бы спрашивали тогда. В ру-нете, по моему, SW не очень популярен пока что

    Надо это менять! А то буржуи уже год взахлеб рассказывают, как это круто, а многие даже не слышали. twitter.com/nekrtemplar/st…

    9:28
    @ahalizev @nekrtemplar @jsunderhood Я недели 3 курил простые сборки по немецко-английской доке. Бог услышал мои молитвы и я нашел Кантора!

    Я сразу нашел и он крут. Другое дело, что advanced features лучше не ботать, пока практический опыт не появится. Ин… twitter.com/i/web/status/7…

    9:29
    @nekrtemplar @jsunderhood кстати, кто уже на втором вабпаке сидит? Сколько бабель тюнили? 😈

    Жду пока webpack 2 из beta выйдет. Нет желания быть почетным первопроходцем, кто соберет все грабли twitter.com/nodkz/status/7…

    9:32

    Btw, речь идет о learn.javascript.ru/screencast/web… - ссылка на скринкаст по webpack. Очень годно

    9:35
    @nodkz @jsunderhood Разработчики плагинов возмущаются что слишком много меняется. Я в своих проектах вебпак2 не юзаю, только по работе
    9:37
    @nodkz @jsunderhood @nekrtemplar beta.24->25 боль и страдания, судя по релизу api еще в процессе осознания + нужно чтобы лоадеры подтянулись
    9:40
    @alexfedoseev @nodkz @jsunderhood Процесс разработки API в Слаке: "А давай сделаем так. Ну не удобно по другому. А давай тогда."
    9:45
    @alexfedoseev @nodkz @jsunderhood Для offline-plugin, например, я думаю над API месяцами сто бы сделать правильно, для разных юз-кейсов
    9:45
    @jsunderhood Ладно, попробую прорекламировать offline-plugin: Всё что нужно что бы начать использовать это:

    new OfflinePlugin()

    9:59
    @jsunderhood кстати я должен был рассказывать на HolyJS про ServiceWorker, но подготовить доклад не успел вовремя 😒🙄

    Max Stoiber будет рассказывать про offline, но я бы скорее тебя послушал :) twitter.com/nekrtemplar/st…

    10:00

    Ок, про полезные ссылки и лайфхаки. Начну с облаков. Пробовал: amazon, azure, digital ocean, linode, vultr

    10:19

    digital ocean и vultr: примерно полгода. Оба дешевы, performance на уровне. Оба иногда могут уйти в down на несколько минут.

    10:20

    Для небольшого нового проекта я бы брал недумая. Vultr чуть быстрее, DO - чуть надежнее. Vultr давал больше RAM и CPU за меньше $$$.

    10:21

    Linode брал на пару месяцев, он раза в 2 дороже DO и Vultr, performance тот же, down'а за этот период не было. Репутация на уровне

    10:22

    Amazon, брали по работе. В целом ок, но в какой-то момент нам пришло счастья: "ваша виртуалка умерла без возможности восстановить. Нам жаль"

    10:23

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

    10:24

    особенно на enterprise тарифе

    10:24

    Azure: MS дает много халявы для стартапов, называется bizspark bizspark.microsoft.com. Очень хорошая тема. Сижу на ней 2 года - полет ок

    10:25

    Из плюсов: халява, много опций, uptime 100%, большая зона покрытия. Даже на дешевых тарифах данные дублируются у них на 3х носителях

    10:26

    Минусы: на дешевых тарифах performance ужасный, цены кусаются, админ-интерфейс дофига сложный, особенно после DO и Vultr.

    10:27

    Отдельным твитом отмечу суппорт: на свой тикет я ждал ответа 17 дней. 17, Карл! Это вообще ни в какие ворота. Но халява перевешивает :(

    10:28

    Двигаемся дальше, если вы пишите тексты, то для английского grammarly.com, русского - glvrd.ru.

    10:53

    Ищут ошибки, правят пунктуацию, помогают делать текст лучше. Купил подписку на grammarly и доволен как слон

    10:53

    topresume.com - бесплатно вычитают ваше резюме и скажут, что плохо. Хороший сервис. С платным сервисом все хуже.

    10:55

    4 раза срывали сроки, включил аббревиатуру СНГ (CIS) в список технологий, которые я использован на проекте. Много странностей

    10:56

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

    10:57
    @jsunderhood жду 70% скидку. Реально лучше бесплатной версии?

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

    11:04

    smashingmagazine.com - качественный ресурс по современным веб и мобильным технологиям

    11:09

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

    12:28

    Вторник: рабочие инструменты, опыт работы с технологиями: JS, node, React, RoR, elixir, phoenix, Obj-C, Java, Atom, Xcode, Webstorm, Sublime

    12:29

    Среда: найм, карьерный рост, менторство. Четверг: особенности реализации авторизации, i18n и другие практические use-cases.

    12:30

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

    12:32

    На этом все :) Я планирую посетить и местами выступить на двух конференциях в Москве: heisenbug.ru и holyjs.ru

    12:33

    Буду рад возможности встретиться там :) Также со мной можно легко связаться через twitter @YuryDymov

    12:34

    Напоследок желаю хороших выходных, щедрых заказчиков и интересных проектов!

    12:36

    other