Ваня инженер 🇸🇪
710 subscribers
122 photos
29 videos
114 links
Заметки про IT, развитие и жизнь из Швеции.
Дзен канала: без нравоучений, только моё мнение и опыт.
За оскорбления в комментариях предупреждение, затем бан.

Написать мне t.me/skatromb
Download Telegram
Быть посредственностью

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

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

И вот, что-то щёлкнуло в голове, и я смирился с тем, что я посредственность. И слово это почти устратило свою негативную коннотацию. Кто я? Обычный айтишник-иммигрант, поигрываю на музыкальном инструменте, балуюсь в психологию, есть семья и ребёнок. Не сделал ничего экстраординарного с точки зрения достигатора: ни компании, ни славы, даже в опенсорс не законтрибьютил ни строчки.

Однако ж, в посредственности открылась и другая сторона — в отсутствии личностных провалов. В цельности, сбалансированности. Да, я не добился экстраординарного в одном из направлений в жизни, но у меня в целом всё хорошо: с достатком, с гармонией внутри, с семьёй, с близкими, с хобби. Меня редко бомбит от того, что люди или я сам не такие, как я ожидал. И я учусь любить то хорошее и замечательное, что уже сложилось в жизни. Знаю, попахивает оправданием. Возможно, отчасти так и есть.

Жизнь в Швеции подсветила этот внутренний конфликт особенно сильно. Есть ощущение, что здесь люди гораздо спокойнее относятся к отсутствию мировых амбиций, больше наслаждаются простой, сбалансированной жизнью, без блистательных побед и сокрушительных катастроф. С простыми прогулками по лесам и озёрам, барбекю по выходным и чистым, ухоженным двориком. И есть в этом свой особенный кайф: спокойный, простой, без истерик.

Для меня вопрос стоит в следующем: так ли важно ли мне лично достигать? Или важно что-то другое, например, иметь хорошие отношения с важными мне людьми? На чём я сфокусируюсь сегодня, а чем готов пожертвовать?
46👍17🔥7👏3
Not alone!

Помните, 25 января я оставил пост о том, что ищу дата инженера? Так вот, не прошло и года, как наконец свершилось чудо ко мне в команду вышла новая коллега, чему я невероятно рад! 🙂 Во-первых, появится больше времени/ресурсов на фичи, во-вторых — просто приятно, когда можешь с кем-то разделить инженерные радости и горести.

Процесс, конечно, оказался ни разу небыстрым — с момента размещения вакансии до выхода на работу прошло 9 месяцев. Пару месяцев ушло на отклики, ещё пара — на процесс интервью + оффер, 3 месяца на ожидание решения от Миграхуна и месяц на доставку резидентской карты. Ну и ещё месяц на всякие прочие задержки. И если с Миграхуном мы сделать ничего не можем, то ускорить интервью/оффер и поиск кандидатов, вероятно, можно попытаться.

Хорошая новость для россиян-разработчиков заключается в том, что новая коллега — из Петербурга, а значит, есть пруф, что устроиться в европейскую компанию из России и переехать всё ещё реально. Дерзайте, ребята 🇸🇪.
🔥45👍2
Факап 2.0

Привет! Больше месяца не выходил на связь: сначала летал в отпуск в Турцию (виделись с мамой и тёщей, вернулся в Швецию с тромбоном и кошкой), потом было лень, а потом у нас упала главная перегрузка данных на две недели, пока позавчера я её не дочинил. Но обо всём по порядку и сегодня про data outage.

Помните, я рассказывал про свой первыйполуторный) в жизни серьёзный факап в продакшне? Так то, оказывается, был не факап, а лёгкая прогулка со счастливым концом. А вот 1 декабря, через день после невинного сообщения в слаке от девопсов: «мы тут завтра будем базу апдейтить, надеюсь, всё будет норм, но посмотрим» когда базу основного приложения обновили с MySQL 5.7 до версии 8.0, у нас встала колом перегрузка данных из неё.

Настали беспокойные дни: в логах джобы практически пустота, в духе «коннекшн чёт упал по таймауту», в кишках MySQL особо никто не разбирается, все очевидные конфиги базы с таймаутами подняли до 4 часов, но джобы продолжают падать. Заметили, что стабильно падают одни и те же таблицы. Поделав запросы к справочным таблицам MySQL'а, обнаружили, что проблемы возникают с таблицами, которые >±1 ГБ, остальные же грузятся без проблем, с той же скоростью, что и прежде. Но стоит таблице быть на 100 МБ больше порога — и она повисает при перегрузке навечно.

Поддержка AWS показала себя неповоротливой и бездумно следующей нелепым рекомендациям: посоветовали пересобрать в таблицах статистику по индексам, при том, что в перегрузках используется выражение SELECT * FROM TABLE, грузящее всё таблицу целиком, и индексы, естественно, не используются. Быстро стало понятно, что спасение утопающих — дело рук самих утопающих.

Для перегрузки мы использовали PySpark, крутяющийся на кластере от AWS — Glue. Окей, решил я, раз перегрузка втупую не работает, давай тащить по частям, нарезая данные по какому-нибудь индексированному столбцу. И тут я словил второй бугурт от AWS: они умудрились сломать фундаментальную функциональность замечательного спарка — правильно и оптимально тащить из БД данные в параллель и по частям! Они эту функциональность переделали, но так, что в MySQL она приводила к параллельным запросам ВСЕЙ таблицы в несколько потоков, вместо того, чтобы запрашивать в каждом потоке свой кусочек. А теперь представьте, что у вас есть таблица на 100 ГБ, которую вы решили порезать на куски по 100 МБ. Да-да, вы только что сделали 1000 запросов к базе на сканирование всей таблицы целиком, и теперь она исполняет запрос на 100 ТБ суммарно. Браво, амазон.

Окей, но в Glue же можно использовать обычные нормальные спарковские датафреймы, без переделанных амазоном функций? Дока говорит, что да, просто напиши дополнительный параметр, и всё будет работать как и прежде. Но...))) Нет, они и это сломали! При попытке задать такой параметр, всё тихо падает с какой-то невнятной ошибкой, даже если 1-в-1 скопипастить код из официальной документации. Бугурт 2.0, браво амазон 2.0.

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

AWS, если ты читаешь эти строки, надеюсь тебе хотя бы стыдно.
👍20🔥8🏆4👏1
Final переезд в Nyköping

В ноябре мы наконец переехали на постоянное место жительства. Этому предшествовали: 1 месяц жизни в Airbnb по приезду в прекраснейшей и заповедной Nacka; 2 месяца там же у коллеги, полетевшего в Америку в командировку и 3 месяца жизни в Gustavsberg, пока ждали, когда достроят дом в Нючёпинге. Густавсберг остался в наших с женой сердцах!. И вот, наконец, мы в first hand rental (снятом напрямую у компании бессрочно) таунхаусе в Nyköping, в 100 км от Стокгольма.

Нючёпинг был выбран около-рандомным тыком в карту: хотели попробовать пожить вне Стокгольма, в ±глубинке, но чтобы до Стокольма можно было удобно доехать (чтобы мне катать в офис раз в неделю, на скоростном поезде 1 час до центра), чтобы рядом было море и бассейн (желания жены), ну и в целом миленький городок а-ля мой родной Троицк.

Пришлось долго проковыряться с транспортом для переезда: к тому моменту уже был куплен стол с подъёмным механизмом, так что ни пешком, ни на легковом такси уже было не уехать. Позвонил в три сервиса по аренде минивэнов с грузовым отсеком, везде отказали «по-шведски»: не перезванивали, а когда я не выдержал и позвонил сам — за 2 минуты сказали «ой, сорян, все машины разбронированы, ага, ну удачи». Бесит!

Благо, в Швеции распространён каршеринг v0.5 (есть и v1.0, но для него нужен BankID, которого у меня пока нет): в двух популярных сетях заправок можно прийти (можно забронировать заранее) и взять машину напрокат посуточно. Есть легковухи, есть минивэны, есть грузовые с подъёмным механизмом. Мы выбрали минивэн. Спасибо CirkleK Hyrbil! Обошлось в 200-250 евро с топливом.

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

Жильё 75 квадратов, второй этаж, выход на террасу, евротрёшка (это когда 2 спальни и 30 квадратная кухня-зал), 950 евро в месяц без электричества. Платёжка на электричество вызывает судорожное предвкушение, т.к. отопление электричеством, что выражается в 1700 квт*ч в месяц. Ждём первую.
🍾38🔥10👍53🎉1
Когда я в первый раз заходил в дом, снял на видео первые впечатления. Видос долгий и не слишком динамичный, лучше смотреть x2. Ну и немного ноябрьского Нючёпинга вам :)
👍24🔥16
Сокращения

Ну штош, вот и к нам в Fishbrain добрался тренд всея айтишки: на прошлой неделе CEO собрал всех и объявил, что компания вынуждена сократить около 15-20% сотрудников, ведь мы всё ещё не прибыльны, а с инвестициями сейчас туго. Ещё год назад позиция руководства и инвесторов была в духе «Завоюйте рынок, растите количество юзеров и всё будет, а в прибыль выйдете как-нибудь потом» (тоже самое делал до сих пор по моим ощущениям Спотифай). Теперь же, на фоне кризиса в экономике, перешли к более аккуратному «Начните генерить деньги, тогда закинем денег». Так что пришло время затянуть пояса и увольнять людей вслед за ИТ-гигантами.

Сам процесс сокращений в Швеции, похоже, довольно сильно бюрократизирован. Вдобавок к стандартным 3 месяцам notice period (увольняешься ли ты сам, или тебя увольняет компания — неважно), добавляются ещё и переговоры с профсоюзами, которые могут серьёзно влиять на процесс. Сокращая сотрудников, нельзя сказать «Хочу избавиться от Васи и Пети»: вы отрисовываете новую структуру компании, описываете, какие роли хотите сохранить, какие порезать, и идёте с этим к профсоюзу. Казалось бы, какая разница, если можно так написать роли, чтобы было понятно, кого надо уволить? Но всё не так просто.

Во-первых, действует правило «First in — last out». Соответственно, чем дольше вы проработали, тем ниже риск попасть под сокращение. Во-вторых профсоюз вместе с компанией рассматривает профили и компетенции сотрудников и может порекомендовать оставить Васю, который и девопс, и фулл стек, и ИО бухгалтера, если все эти роли остаются в новой структуре, но узко-специализированных ребят. Не знаю, как это выглядит на практике, это всё со слов нашего техдира.

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

Новость о сокращениях в компании была опубликована в газете.
😱10👍3🤔2🤬1😢1
Ещё в тему про сокращения

Часто слышу в русскоязычных ИТ-чатиках (в других не сижу, к сожалению), что мол «Вот дураки эти Гугл/Микрософт/Амазон, понахайрют овердофига народу, а теперь сокращают. Можно же было прикинуть на коленке, что так много им не надо, и никого не сокращать».

Мне видится довольно забавным, когда айтишники, сами не имевшие бизнеса и не руководившие им, начинают рассуждать на тему «Как правильно растить бизнес». Есть в этом что-то русское, когда каждый считает себя экспертом в экономике/внешней политике/медицине и т.д.

Я вот сам никогда бизнеса не имел. Но всё же мне кажется, люди, работающие на подобных должностях десятилетями и осилившие пробиться сквозь нереальный конкурс в топ-10 корпорации, могут понимать в этом немного больше нас.
👍18👎6😁4🥴1
🐈🏡👨‍👩‍👦

Думала ли наша кошка Варежка (да и мы сами), какие приключения её ждут в нашей совместной жизни? Мы точно нет)

Не так мы планировали переезд, но 24 февраля естественно порушило наши планы. Вместо размеренного переезда прямым рейсом со всеми животными в Стокгольм, мы срочно и с минимумом вещей улетали в Стамбул, оставив животных на родителей. Большое спасибо им, что приютили наших кошку и собачку ❤️

В итоге план изменился на «дождаться ВНЖ в Стамбуле, прилететь в Россию за ним, забрать по ходу кошку и полететь в Стокгольм, в жильё с поддержкой домашних животных». План был отличный, да только вот правила ввоза животных всё это время мы читали актуальные для России. И это вызвало проблемку.

Конец апреля, карты ВНЖ приехали в Москву, и жена улетает, чтобы их забрать, прихватив с собой доверенности на меня и сына (иначе не выдают!). Кошка чипирована, привита, сделан ветпаспорт; куплены билеты на самолёт, забронировано место в кабине для кошки, куплена подходящая переноска; сделана ветеринарная справка на вылет из России (которую в аэропорту Жуковского, как оказалось, нельзя поменять на международную, только во Внуково, Шереметьево или Домодедово 😕). Решено полететь в Стамбул, провести там всем вместе ещё недельку и уже потом отправиться в Стокгольм. Ну что могло пойти не так?

Жена и кошка прилетают в Стамбул, успех, отдыхаем! На третий день я решаю перечитать правила ввоза животных в Швецию, чтобы уточнить как получить ветеринарный сертификат в Турции и убедиться, что я ничего не забыл. Пишу письмо в ветконтроль Швеции на всякий пожарный с описанием ситуации и словами «Я ж всё правильно сделал?». Ответ. Нет.

Всё было бы хорошо, если бы мы летели прямиком из России, или даже транзитом через Турцию, но без выхода с кошкой в город. А поскольку мы уже, теперь нужно удовлетворить правилам ввоза животных в ЕС не из России, считающейся безопасной в плане бешенства, а из Турции, которая таковой не является. А это значит, что ко всему вышеперечисленному нужно добавить тест на антитела к бешенству для кошки, сделанный в сертифицированной ЕС клинике (которая одна на всю Турцию), выждать 3 (!) месяца, получить положительный результат наличия антител и только потом въезжать.

FFFFFFUUUUUU!...

Спасибо моему Fishbrain-коллеге в Стамбуле, Волкану. Он приютил нашу кошку на целых полгода, сделал все эти тесты и очень помог с получением вет.справки (узнавал, что да как, переводил на английский для меня) в Турции. Не будь его, полетела бы Варежка обратно в Россию. Он спас нас от этого, и я невероятно признателен ему 🙏🏾.

И вот, когда результат был получен, мы прилетели за ней в Турцию, и вернулись уже в Нючёпинг вместе. В аэропорту просмотрели вет.справку, с результатом теста на антитела и поставили печать. А теперь Варежка ещё и первая из всех обрела шведский паспорт, чтобы было проще путешествовать и возвращаться в ЕС 😄
38👍8🤩1🐳1
Ну да, и фоточки, конечно же!
40🤩2👍1