2 декабря 2019 – 8 декабря 2019

@xotta6bl4_

Одесса - СПб - Таллинн
2 декабря 2019Понедельник
47 твитов
0:28

Привет из Новосибирска! С вами Андрей Михин @xotta6bl4_ и сегодня мы едем в Петербург. pic.twitter.com/ydMnI1dSE3

8:54

Уф. Добрался я до Петербурга. Местные расстояния меня, конечно, не радуют.

8:57

У меня есть какой-то план и я буду его придерживаться. pic.twitter.com/6Wp4ihWw0U

9:01

Я пишу под Android и делаю это с 2012 года. Сейчас работаю в компании Bolt и живу в Таллинне, Эстония.

9:03

В Новосибирск меня занес DevFest, где я рассказывал про маппинги данных и кодогенерацию. Лайк если был на DevFest Siberia, ретвит, если был на моем выступлении.
#dfSiberia

9:07

Первые деньги за Android-приложение я получил в 2013

9:07

Учился в Одесском политехе, на радиотехническом факультете. Начинал я с фриланса, первых клиентов искал сам в интернете. Немного сотрудничал с ребатами из Beetroot, когда они только приехали в Одессу. Фриланс был периодическим, между сессиями.

9:07

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

9:07

Кстати, до сих пор бережно храню свой первый выставленный счет на $200.

9:08

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

9:08

И я поехал в Санкт-Петербург. До этого в сознательном возрасте за пределами Украины не был, а тут собрал чемодан, упаковал в рюкзак свой ПК (разумеется, в разобранном виде). Про Петербург я тогда знал, только то, что там живет мой друг детства.

9:08

"Саня, я буду жить с тобой" написал я, Саня ответил "ОК" и я купил билет в один конец. Тогда прямого авиасообщения уже не было между РФ и Украиной, так что я отправился на автобусе в Кишинев, переночевал в аэропорту и наутро отправился в Петербург.

9:10

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

9:11

Примерно за неделю я получил оффер в небольшую аутсорс компания, специализирующуюся на мобильной разработке.

9:11

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

9:11

Так я окунулся в аутсорс.

12:54

Тем временем в Петербурге pic.twitter.com/Jxy0sePgQt

12:55

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

12:58

@pingwinator @mobileunderhood Или так pic.twitter.com/m2VTwquo4O

Вот так видят аутсорс наши читатели twitter.com/Semper_Vivente…

14:55

У меня сегодня была 8 часовая остановка в Питере перед поездкой в Таллинн и я решился на авантюру. Перевезти велосипеды (2 штуки) в Таллинн. pic.twitter.com/6JJyevulSK

14:58

Соль в том, что между Таллинном и Питером есть поезд (Москва - Санкт-Петербург - Таллинн) и он идет в неудобное время (отправление в ~6 утра)

15:01

И он дороговат. И есть 2 автобусные компании: Ecolines и LuxExpress. Правила перевозки велосипедов у них:
Ecolines - едете в офис компании, платите 20 евро/велосипед, получаете бумагу, что компания разрешает везти велосипед на конкретном рейсе.

15:02

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

15:04

Процедура у LuxExpress: Приезжаете с велосипедом к автобусу, дальше водитель решает брать ли вас. Платить ничего не надо. Звучит интереснее.

15:04

К слову, я раньше всегда ездил эколайнсом в Финляндию/Эстонию, будучи туристом.

15:08

Велики хранились на Парнасе (самая северная станция метро в РФ). Автовокзал в центре города. Недавно у Яндекса увидел новую категорию Cargo (грузовые микроавтобусы). Сегодня вызвал Cargo такси, погрузил 2 велосипеда и чемодан размера ручной клади у нормальных авиакомпаний.

15:14

Суммарно килограмм 30. Водитель форда транзит удивленно спросил "И все?" и мы поехали. Приехал на автовокзал. Охрана сказала запихивать велосипеды в сканер и добавила что все так делают. Я честно изобразил попытку запихнуть его в сканер и потом пронес так.

15:16

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

15:19

@mobileunderhood Это аккаунт мобильного разработчика или что? 🤷‍♂️

Видимо, пора переходить от велосипедов к костылям twitter.com/ks_simakov/sta…

15:27

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

15:31

Знаете ли вы эстимейты? О, вы не знаете эстимейтов! Всмотритесь в них. Отвратимо тикает таймер отсчитывая последние секунды оплаченного времени.

15:34

Кроме шуток. Выход за пределы эстимейта не оплачивался. Но задача сделанная быстрее эстимейта оплачивалась по эстимейту.

15:37

Более конкретно: вам приходит задача, вы ее оцениваете в 10 часов. Независимо от того, сколько времени вы реально делали эту задачу, вам оплатят 10 часов. Буквально за пару месяцев учишься оценивать максимально точно =)

15:38

Но почти у каждого в компании было несколько чудесных историй про проёб в 2 раза.

15:39

Через некоторое время компания перешла на оплату по таймтреку, так что не переживайте там сильно за нас)

15:43

В компании очень клевый основатель и сильные разработчики. Если кто и уходил, то часто в топ-компании Петербурга.

15:47

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

15:48

В Питере было весело. [Когда я только переехал]

15:48

Первое время мы с Саней снимали комнату в коммуналке 5х5м за 10к рублей на Староневском.

15:49

Саня работал фотографом и брал меня иногда на свадьбы ассистентом. В основном моей задачей было ездить со свадьбой и ставить вспышку/отражатель. Так я в первый раз прокатился по Питеру на лимузине.

15:49

Потом нашу комнату продали и мы разъехались. Я к тому времени "освоился" и снял себе отдельную комнату в коммуналке за целых 12к в месяц.

15:50

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

16:02

Что еще было хорошего в те славные времена? Мне хотелось получить аккаунт на хабре и я написал статью. Аккаунт получил и забросил написание на 6 лет (ну ладно, было парочку нетехнических статей)

16:04

Так же я регулярно сидел на 4pda в разделе про программирование под Android и в один прекрасный день проснулся модератором.

16:08

Это был интересный опыт. Модерировал я около года. После окончания универа времени стало меньше и я забросил это дело. Так, что, возможно, я выписывал кому-то из вас рид-онли режим.
Для справки: модераторство на форуме сугубо добровольное и безвозмездное. Но интересное...

16:12

@mobileunderhood Аутсорс разный бывает. Я работал и в таком, как в гифке, и в нормальном ¯ \ _ (ツ) _ / ¯

16:29

В разговорах с другими мобильными разработчиками регулярно всплывает тема выбора платформы (Android/iOS). Прослеживается тенденция: если на старте уже были средства на мак, то человек с скорее всего шел в iOS. Если же был только линух/винда - скорее получим Android. А как у вас?

3 декабря 2019Вторник
36 твитов
11:20

Ну что, соскучились? pic.twitter.com/V45AZICj7w

11:58

Сегодня поговорим по карьеру мобильного разработчика.

12:00

И я хочу начать с самой важного аспекта. С увольнения.

12:02

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

12:02

@mobileunderhood нельзя сжигать мосты?

А ты шаришь! twitter.com/pingwinator/st…

12:04

Шутки-шутками, но это действительно важно. Говорю как знающий человек, который в этом году увольнялся дважды. Так что я в курсе последних трендов. 🔥🔥🔥

12:10

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

12:15

Вот, @pingwinator уже сталкивался с третьим пунктом.
Да и у меня спрашивали референсы в одной эстонской компании (да, в Эстонии не только Bolt/Skype/Transferwise). Как-то раз и меня указывали в качестве референса для одной немецкой компании.

12:25

С увольнением связана такая штука заявление об увольнении. Некоторые считают что этим можно "пугать" работодателя. Я лично не пробовал, но говорят, что работает ровно 1 раз.

13:15

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

13:20

Кроме вопроса "как?" есть еще и вопрос "когда?" Это тоже важно.

13:39

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

13:40

А так можете на хабре почитать немного мыслей habr.com/ru/post/320760/

Мне кажется, что я затягиваю с моментом увольнения.

13:45

У меня была история: я достаточно долго пытался повлиять на процессы (было явно видно бутылочное горлышко в производительности команды) и через некоторое ушел. Почти сразу после подачи заявления я получил "зеленый свет" на изменения процессов.

13:49

Но я ушел из компании с мыслями, что в следующий раз мне придется опять писать заявление для продвижения своей идеи, а это ничем хорошим не закончится. Ну и при подходе
Я: "давайте улучшать"
М(енеджер): "нет"
Я: *приносит заявление*
M: ну ладно
можно легко натворить дичи.

13:50

Черт, сложно писать так, что бы не было понятно что за компания.

13:50

(см. пункт про уважение в статье)

14:35

Вчера я закончил свое жизнеописание на том, что пришел в аутсорс. Продолжим же!

14:38

Мне повезло работать с хорошими разработчиками. Плюс достаточно малый срок жизни проектов (9-12 месяцев) и в результате я получил хороший буст в хард-скиллах. Ведь все что получилось так себе в этот раз можно будет переписать в новом проекте.

14:42

К тому же в аутсорс могут попасть прикольные проекты, которые фиг найдешь в продуктовых компаниях. Например, мы делали дополненную реальность на OpenCV и GL еще до того, как это стало мейнстримом.

14:48

Я как-то вызвался писать бекенд на джаве с использованием графовой БД. Ну или пришлось потрогать ксамарин. Или фронт админки на реакте.

14:57

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

15:03

Работая в аутсорсе, я периодически ходил на собеседования. Ну и раз в год я заглядывал в Яндекс с мыслью "почему бы и нет". Ну и с третьей попытки я прошел все кроме АА-секции (задачки на доске). Тут я радостно и побежал из аутсорса аж в Яндекс. На 3 месяца.

15:11

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

15:13

Поначалу пытался "прокачаться", решал задачки из cracking the code interview, решал задачки с hackerrank и других сервисов. Только вот смысла в этом особо не вижу и довольно скоро забросил.

15:15

В аутсорсе, кстати, я дошел до лида. Такого "аутсорсного" лида с 3 годами опыта.

15:22

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

19:25

@mobileunderhood Ты когда-нибудь клал болт?

*положил на вопросы* twitter.com/aarexer/status…

19:30

Ну и на ночь поговорим о том, как обеспечить себе долгую (ха! это говорит человек, который уволился из Революта через 4 недели) и комфортную работу.

19:33

Главное: становитесь лучше и делайте лучше компании. Одна из самых важных и интересных встреч на работе - это предувольнительная встреча. Выжимайте максимум обратной связи из коллег/руководства/подчиненных. На последней встрече можно услышать много нового о себе.

19:35

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

19:39

Проводите встречи с менеджером/лидом/подчиненными для синхронизации вашей самооценки и вашей оценки со стороны.

19:44

Я как-то наткнулся на мысль, что ваша собственная оценка себя со временем разъезжается с оценкой вас другими (это абсолютно нормально), отсюда начинаются недопонимания, которые могут привести к конфликтам.

19:48

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

19:51

Вот героически победили все трудности и закрыли таску. Что может увидеть PM: простенькую кнопку он сделал, но сроки просрал, да еще и тестирование 2 раза возвращало задачу на доработку. Урежем-ка премию новогоднюю.

19:51

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

4 декабря 2019Среда
43 твита
9:18

Сегодня поговорим про Эстонию pic.twitter.com/7PV1g3HYzO

9:19

Как я сюда попал?
Линкедин - мне пишет рекрутер - несколько собесов по скайпу - оффер - переезд

9:25

Почему Эстония?
Почему бы и нет. Близко к Питеру. Лайтовый переезд в плане языка.
Как и в России, можно получать значительно выше средней по стране.

9:30

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

10:52

@zxovq @mobileunderhood Извините, не могли бы вы пожалуйста сказать, какая сумма указана в вашем контракте? Так лучше?

О, мне уже предлагают свой контракт опубликовать. twitter.com/vvsevolodovich…

11:06

Про деньги. Википедия говорит, что средняя зарплата на руки в Таллинне €1200. Средняя зп в ИТ на руки €1800.
Посмотреть местные вакансии/зп можно тут: meetfrank.com - нужно будет поставить приложение.

11:14

Только что получил зарплатный квиток, расскажу за нологи.
Есть калькулятор налогов. Можно посчитать. Как и в РФ, налоги платятся работодателем. Как и в РФ часть налогов взимается с вашей брутто-зарплаты, часть платятся работодателем поверх
kalkulaator.ee/ru/kalkulyator…

11:21

В целом трудовое законодательство похоже на РФ. Отпуск 28 дней, 2 недели одним куском, 40 рабочих часов в неделю, вроде как поменьше праздничных выходных в году.

11:32

@vvsevolodovich @zxovq @mobileunderhood @futurice Обычно в NDA фигурирует пункт о неразглашении условий контракта, зп к таковым явно относится :) когда позицию публикуют - многие вилку объявляют открыто, но вот договоренность с конкретным сотрудником озвучивать в Эстонии тоже не принято.

12:37

Так, получили вы долгожданный оффер, что же дальше.
Болт пользуется услугами компании MoveMyTalent, которая занимается перевозкой работников в Эстонию

12:38

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

15:30

После того, как ты принял оффер, мой дорогой друг, запускается машина по релокации и через 1,5-2 недели ты можешь начинать работать в Эстонии.

15:33

Сперва ты получаешь контракт, подписываешь его (я использовал сервис docusign.com), затем с тобой связывается ассистент по переезду из move my talent. Это твой лучший друг на ближайшие пару месяцев.

15:35

Также общаешься с рекрутером по поводу покупки билетов (Болт оплачивает билеты + месяц аренды на AirBnB)

15:41

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

15:43

страховка на несколько месяцев (туристическая, придется потратить еще немного пиастров), справка о доходах, разрешение на работу(пришлет hr из компании), оплата консульского сбора (квитанция, в моем случае платила компания), подтверждение проживания (прислал ассистент)

15:45

И билеты.
Через 1,5 недели получаете визу и приезжаете.

15:47

У меня в заявке день начала визы был за несколько дней до начала действия контракта, так что мне звонили из консульства с вопросом "а что вы собираетесь делать в Эстонии 4 дня?"

15:48

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

15:50

Итак, виза в паспорте, билеты в кармане, чемодан собран, кошка обмазана сертификатами.

15:55

Приезжаем рано утром на вокзал, грузимся в поезд (я еще не плакался по поводу неудобного расписания?) и выдвигаемся в сторону Таллинна. pic.twitter.com/GfUsWZi5bs

16:06

В Таллинне меня встречает ассистент из Move My Talent, вручает welcome pack (две симки, проездная карточка, карта города, всякие буклеты про интеграцию в Эстонии и еще что-то).

16:15

После приезда в Эстонию тебе нужно будет получить местный личный код (исикукод), который суть есть твой ИНН/СНИЛС/что угодно. И открыть счет в банке. Для нерезидентов тарифы конские по сравнению с РФ. К примеру, открытие счета €200, месячная плата €10, (для резидентов 0 и 1)

16:19

В моем случае компания платила за открытие счета, уточняйте этот момент при оффере.
Также ассистент заполняет заявление на residence permit, бронирует время и отвозит вас в полицию на подачу документов. Там фоткаетесь и сдаете отпечатки в будочке и отдаете заявление.

16:21

Через 1-3 месяца получаете свою id-карту и свободно выдыхаете ибо вам открывается чудесный мир цифровой страны.
Кстати, вход в интернет-банк осуществляется по id-карте. Ну или можно купить генератор паролей за €50.

16:23

Процесс получения пермита на порядок проще чем в РФ. Мне прям зашло. Кстати, некоторые компании дают возможность получить пермит только через некоторое время, например, после испыталки, которая тут 4 месяца. Или в конце D-визы, которая обычно на год.

16:26

Про расходы pic.twitter.com/AZqOwQAFye

16:38

Товарищи из компании с офисом в Лондоне почему-то нервно хихикают, когда узнают что в центре города можно снять квартиру примерно за €10-13 / метр квадратный. Ну ладно, еще коммуналка примерно 2 евро за квадрат.

16:45

Еда. Цены на еду в среднем сравнимы с питерскими. Экзотика дешевле, рыба дешевле. Сыры/хамоны в наличии. Бытовая химия - дороже. Средний чек в супермаркете 20-25 евро. Кафешки немного дороже чем в Питере. Обед в кафе возле работы: 4-5 евро.

16:52

Общественный транспорт. После получения id-карты делаете
местную регистрацию и катаетесь бесплатно и безлимитно. Без регистрации месячный проездной €23. Часовой €1,1 Суточный €3 visittallinn.ee/rus/visitor/pl…
В городе примерно 70 автобусных маршрутов, 4 трамвайных и 4 троллейбусных

16:57

Еще из расходов. Тут есть амазон. Обычно пользуются немецким, реже британским (до брекзита, хе-хе), потому что нет пошлин на покупки.

16:59

Одежда. Масс-маркет пересекается по брендам с российским. H&M, cropp, zara и прочие тут есть. Менять свои привычки в одежде особо и не пришлось.

17:11

@mobileunderhood Mobil id, smart id - тоже классные варианты

Смарт ИД - удобно, пользуюсь. Мобил ИД - нужна спец симка в телефон. Решил не заморачиваться. Если нужна "настоящая" подпись, то где-то недалеко обычно есть ридер. А для банка хватает смарт ИД twitter.com/Swither/status…

17:14

Для подписи документов/логина на гос. сайты/банк/прочее нужно к компу подключить ридер, в него вставить карту и авторизоваться. Вместо этой истории придумали мобильный ID. Работает на специальной симкарте со встроенным чипом криптографии. Доступна у ограниченного числа операторов

17:16

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

17:19

Связь. За домашний интернет + ТВ плачу €21 + несколько евро в месяц за телефон. Тут у местного оператора есть прикольный тариф. Кидаешь на счет 8 евро. Получаешь 5Гб трафика + минуты + СМС. Когда это заканчивается - начинаешь тратить те самые 8 евро. super.ee/ru/hinnad#supe…

17:21

Язык непростой. Нет будущего времени, нет предлогов, 2 инфинитива и 14 падежей.

17:25

Государство всецело заботится о интеграции понаехов. Есть государственные бесплатные курсы эстонского языка, есть всякие интеграционные курсы.workinestonia.com Есть даже отдельный курс для партнеров понаехов workinestonia.com/reinvent-yours…

17:28

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

17:32

Что вам еще про Эстонию рассказать? pic.twitter.com/gIVxmjVDRX

17:35

К вопросу "Почему Эстония?" Мой коллега, переехавший из Москвы говорит "Там я 2,5 часа еду на другой конец города, тут я 2,5 часа еду на другой конец страны по свежему воздуху"

21:53

Вот улицу возле порта достроили facebook.com/30463256661747…

5 декабря 2019Четверг
21 твит
11:46

Ну что, господа фронтендеры?

12:03

Ну правда, современное мобильное приложение:

12:17

Однако это почему-то не мешает на перепощивать шутки про фронтенд, PHP
и 1C. А потом ходить по конференциям и с важным видом спорить о том, должна ли вьюха подписываться на презентер или же презентер должен передавать данные во вьюху.

12:26

О, адепты кросплатформы подъехали. Менеджеры никак не оставят свои влажные мечты про "Write once, run everywhere". t.co/BFebyAc0yB

12:36

А ведь вашим пользователям наплевать что у вас там. Натив или кроссплатформа; MVC, MVVM, MVP;
или просто адекватный мобильный сайт. Главное чтобы работало.

12:48

Что не так с кроссплатформой? Кроссплатформа добавляет сложности в ваше приложение. Растет размер приложения. В восточной Европе легко говорить "Лишний мегабайт. А и пофиг."
А тем временем в некоторых странах стоимость 1GB мобильных данных достигает 50...70 USD.

12:50

Замедлится приложение? А и пофиг! И неважно что тот же mono runtime может запускаться 10 секунд. На своем пикселе за 800 евро вы этого не увидите, менеджер не увидит, QA не увидит.

12:53

Я недавно месяц ходил с Redmi Go (который с Android Go). Это удивительный опыт, который я рекомендую всем мобильным разработчикам.

12:56

Потом я пиксель, конечно, купил

13:05

@mobileunderhood Телега всегда хороший пример)
У вас в команде есть два олимпиадника, которые между собой синхронизированы и на одной волне пилят приложение? Если нет, то вам нужна архитектура. Можно даже сократить до схемки: pic.twitter.com/6WC1CbfsSo

13:11

Далее вам нужны люди, которые умеют в эту самую ккроссплатформу. У меня на прошлой работе написали UI библиотеку поверх ксамарина. А теперь представьте порого вхождения: Android/iOS + С# + внутренний фреймворк.

13:19

Вы не поверите, но выкатывать обновления сайтов тоже можно без стора. twitter.com/DanVx77/status…

13:26

Ну ладно, у меня есть пара успехов с кроссплатформой. Первая - in-house система, приложения устанавливались на служебные устройства. Тут, как вы понимаете, сложно провалиться.

13:30

Вторая - приложение для обслуживания скутеров. Там как бы тоже без альтернатив. medium.com/bolt-labs/how-…

14:37

Это все я вообще к чему. Зачастую вам и не нужно мобильное приложение. Сделайте лучше хорошую мобильную версию сайта. Ее и апдейтить можно мгновенно, и на всех платформах будет работать.

14:40

"Настоящие", мобильные приложения нужны когда вы строите распределенные вычислительные системы. Там уже начинается нормальная обработка падений сети, и мерж данных (см CRDT) и прочие радости жизни.

14:41

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

14:43

Рядом же стоит аналитика. К сожалению, я не встречал ни одной идеальной системы аналитики.

14:44

Есть ли у вас мониторинг работы приложений (скорость работы, сбор диагностической информации)? Как вы расследуете инциденты, которые не воспроизводятся в тестовом окружении?

14:48

В большинстве случаев проект подключен к нескольким системам аналитики. Ивенты роутятся по каким-то правилам. Мрак, короче.

14:54

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

6 декабря 2019Пятница
8 твитов
13:47

Вот и пятница подкралась. День
нюдсов и дикпиков.

13:51

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

13:55

Начну, как обычно, со своей истории. Пока я был студентом разработчиком я часто тусовался на 4pda. Там прикольная тусовка, я ставил разные прошивки на свой телефон, рутовал, перешивал номер (мой первый android был cdma, там нет SIM и номер зашивается спецсофтом)

13:58

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

14:06

За 5 статей я попал в топ 100 писателей хаба "Разработка под Android" (есть хак: пересказ гугло-новости, который собрал +73, сейчас такое вряд ли пройдет) Но все равно не стоит гнушаться серыми методами.

14:08

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

14:15

Попробуйте себя в роли рассказчика. Можно начинать с внутренних мероприятий. В Тинькофф я был преподавателем в школе мобильной разработки. В этом году решился выступить на конфе, был на @GDGNsk куда меня позвал @vit_ius

15:19

Кстати, а кто на Мобиус не идет? Я вот не поехал в этом году.

7 декабря 2019Суббота
10 твитов
9:29

В автошколе перенесли занятие, так что понеслась!

9:40

Что вам нравится и что не нравится в современной мобильной разработке?

9:44

У меня уже давно болит от того, что дизайнеры верстают статику, а мы верстаем динамичные экраны. В реальности контент выглядит не так, как задумывалось. pic.twitter.com/8fmxnMi1wP

9:44

Или вот так pic.twitter.com/0kVfUwy9aU

12:33

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

12:36

И раз уж мы дошли до реакта. RxJava!

12:38

RxJava - худший фреймворк, если не считать всех остальных.

12:41

Разные сущность (observable, single, maybe...) слепили в один пакет и сделали одинаковый контракт.

8 декабря 2019Воскресенье
17 твитов
9:22

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

9:41

Очевидно, что всякую рутину нужно автоматизировать. Говоря о разработке, автоматизацию начинают с CI. Говоря о CI часто подразумевают какую-то сложную систему в большой корпорации. Чушь это все! Сегодня даже для вашего домашнего проекта можно найти бесплатную CI-ку

9:43

Например, Travis. Единственное условие бесплатности - открытый исходный код вашего проекта. "Но мы не пишем тестов" уже слышу я возражение. А и пофиг. Настройте проверку собираемости вашего проекта, уже будет хорошо.

9:47

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

9:48

К тому же вопрос менеджера/qa "когда будут сборка? нам нужна сборка!1" не будет выбивать вас из процесса.

9:50

Например, моей первой автоматизацией был плагин для gradle который заливает сборки на diawi. Мы использовали этот сервис на нескольких проектах на первой работе. github.com/devindi/diawi-…

9:56

Если пойти немного дальше, на CI-ке можно гонять тесты (но их писать нужно) и анализаторы проекта (lint, ktlint, detekt и другие). Можно настроить бота, чтобы он приходил в PR (pull request) и писал в комментариях найденные проблемы.

9:57

Вот тут можно посмотреть связку ktlint + danger (как бот для комментирования) + codecov в действии. github.com/devindi/mapwal…

10:12

ktlint мне не понравился, у них нельзя правила настраивать, только включать/выключать. detekt в этом плане выглядит интереснее

10:15

Если пойти дальше с стат анализом кода, можно посмотреть на sonarqube. Он умеет в анализ + ведет историю качества правила довольно удобно настроиваются в админке. Тут habr.com/ru/company/yan… можно послушать или почитать @kzaikin про sonarqube.

10:17

Есть еще PVS Studio, который недавно научился в джаву, но котлина нет. Я его не пробовал, но по постам авторов все выглядит красиво.

10:25

Что еще можно автоматизировать кроме сборки/публикации? Да что угодно! Например, я недавно написал программу, которая по расписанию запускается и ищет протухшие ветки в репозитории/задачи в джире. Результаты поиска пишутся в канал в слаке.

10:34

Есть sonarcloud - хостящийся не у вас. Как обычно, бесплатно для open source

10:36

Одна из причин иметь свой домашний проект с открытым исходным кодом - на нем можно обкатывать разные инструменты/подходы/библиотеки нулевыми затратами

11:47

@mobileunderhood Скриншотики ещё можно клепать, особенно если много языков в апке

15:21

@pingwinator Молодёжь, к сожалению, не ценит время, как главный ресурс. Отсюда и рождаются такие мысли

*дед кряхтит* twitter.com/whiteraven224/…

15:59

Мое время подходит к концу, спасибо, что были с нами. С вами был Андрей @xotta6bl4_ и в полночь я превращусь в тыкву... вернусь в ряды читателей.
Stay tuned