Алексей Щукин

Алексей Щукин

Неделя
May 24, 2021 → May 30, 2021
Темы

Архив недели @ShchukinAleks

Понедельник


Всем привет! Меня зовут Алексей и я работаю в компании Paypal в Стокгольме. До этого работал в других шведских компаниях, а также в Авито. Автор курса Многопоточность в iOS на Степик.

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

Но мы сможем с вами поговорить о многом другом, например: - релокация в Швецию и опыт работы в разных компаниях (я успел поработать в 3-х) - как это, жить в Швеции, мой опыт за 2 года - интервью в России и Европе, в чем разница - опыт создание видео курса

- конечно же многопоточность, например фишки gcd - life work balance - написание технических статей - изучение английского языка И много всего другого) А также если повезет с погодой, съездим с вами в мини трип

🔥Тред #1
Вкратце расскажу как я оказался в Швеции. В далеком 2018 году, я задумался о смене локации. В то время я много путешествовал по Скандинавии поэтому я быстро определился с выбором. Стокгольм показался интересным городом для релокации, как минимум из за количества it вакансий

Вот интересная статеечка на этот счет: bloomberg.omniekonomi.se/from-spotify-t…

Вторая кремниевая долина, так говорят. Стартапы, IT, вот это все

Пооткликавшись на разные вакансии в glassdoor и linkedin, я получил несколько приглашений на интервью, а в последствии и оффер.

Про собеседования мы конечно же поговорим в отдельном треде. Моя первая компания в Стокгольме - Viaplay. Такой Скандинавский нетфликс, что то вроде окко или кинопоиск hd.

Вообще процесс переезда прошел довольно гладко и занял около 2-3 месяцев, с момента получения оффера, нужно было оформит рабочую визу и тд. Насколько я знаю, это время может варьироваться в зависимости от страны

Мне помогли с оформлением всех необходимых документов, поиска жилья и тд. В Стокгольм я прилетел в конце марта 2019 года, т е больше 2-х лет назад

Тут я хочу добавить ВАЖНУЮ информацию. Переезжая в Швецию будьте готовы, что на открытие банковского счета вам может потребоваться больше месяца. Дело в том, что сначала нужно получить personal id (может занять от 2-х недель) и только потом регистрировать счет в банке

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

К слову о банках, они уступают по функционалу Российским аналогам, однако будут получше английских или германских. А так же есть кларна - самый большой финтех Европы

А вообще если вам интересны детали, их есть у меня. Твиттерский формат не всегда позволяет расписать все в красках, зато позволяет телеграм t.me/SwedishSyndrome

🔥Тред #2

Вторник


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

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

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

Я вот еще что заметил, многие Шведы живут от зп до зп, т е практически не копят деньги, особенно молодежь. С одной стороны зачем, когда вокруг много кредитов и дешевой ипотеки, а с другой это кажется все-таки немного наивным🤷‍♂️

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

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

Наверное самый очевидный - начать инвестировать. Самый популярный здесь сервис для инвестиций называется Avanza. Что примечательно, полностью на Шведском.

Настолько на Шведском, что даже поддержка отвечает на сообщение на английском по Шведски.

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

🔥Тред #3
Поговорим про аренду. Наверное, это одна из самых больных тем для жителей Стокгольма. С арендой все очень плохо, совсем.

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

Снять квартиру на долгий срок можно через государственную контору. И для этого, внимание, нужно встать в очередь на 10 лет. 10 лет, Карл! Кто сказал Советский союз?!

Отдельная песня это поиск жилья. Есть blocket, это местный авито, где так же можно искать жилье. Проблема в том, что на одну и ту же квартиру могут претендовать много людей. Приоритет, конечно же, у Шведов)

Обычно, нужно написать о себе и прикрепить рекомендательное письмо. Так я и делал, когда искал свою вторую квартиру. Я отправлял десятки откликов. Как вы думаете сколько раз мне ответили? Правильно, 1 раз и это был мошенник. Об этом я как нибудь обязательно напишу в своем блоге

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

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

Отдельным шиком считается если в квартире есть стиральная машина. Большое количество стокгольмских квартир не оборудованы простой стиралкой. Зато есть общая прачечная 👍

Как вы понимаете, каждый раз поиск жилья превращается в своего рода приключения. Сейчас, я живу в 3-ей квартире с момента своего приезда. Мне нужна ачивка😎

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

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

🔥Тред #4
Вкратце обозначу вторую больную тему, это медицина. Здесь, похожая ситуация, как во многих европейских странах. Доступ к медицинским услугам может занимать достаточно долгое время, особенно к специалистам.

В принципе это может занимать месяцы, тут как повезет, в зависимости от того к какому специалисту обращаетесь

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

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

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

А вот с emergency, увы особо вариантов нет, придется идти в госпиталь, если вам внезапно поплохело. Ключевое слово здесь «идти», потому что скорая за вами вряд ли приедет

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

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

Среда


Забыл вчера сказать, бесплатная медицина на самом деле условно бесплатная. Т е каждый визит к врачу стоит около 15-20 евро. Она становится бесплатной только если вы потратили на медицину больше 200 евро в год.

🔥Тред #5
Сегодня с вами поговорим, про то как это работать в шведских компаниях. Конечно, все зависит от самой компании, но в целом можно выделить общие черты

Рабочий день обычно длится с 9 до 17. За редкими исключениями это практически повсеместно. Почему то они называют это гибким рабочим днем. Какой же это гибкий рабочий день если тебе на утренний синк все равно в 9. Просто некоторые начинают раньше в этом и заключена вся гибкость)

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

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

Зато не ценят переработки. 6 часов вечера на дворе, а ты еще в офисе, чувак, ты что так поздно работаешь, иди домой) Да, да в 6 часов офисы практически пустые, привет московским программистам

Да и отдыхать здесь любят на широкую ногу, нередкое явление, когда сотрудник берет отпуск сразу на 5 недель в середине лета. Всего отпускных недель 6, 6-ю обычно берут на Рождество.

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

В каждой компании где я работал, были свои ценности (values), которые важны для данной конкретной фирмы, что то вроде доверие, смелость, находчивость, смекалка (это я, конечно же, сам придумал, но суть похожа)

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

С afterwork все зависит от коллектива, в моей первой компании были исключительно семейные шведы, поэтому в барчик удавалось сходить не часто. А вот в следующей было больше движа

Еще одна популярная тема это hack week. Раз или два в году разработчикам выделяется время, когда они могут реализовать свою идею (релевантную к бизнесу), а потом презентовать всей компании. Короче хакатон, только неделю

Вот и вечер наступил, можно поговорить про GCD. Я думаю, многие знакомы базовыми понятиями, что такой serial или concurrent queue. Или методы async и sync.

Поэтому начну с интересного. Есть такая конструкция dispatchPrecondition. Работает похожим образом с assert. Можно использовать для того что бы проверять выполняется ли код например на главной очереди или наоборот

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

Следующий важный факт. Работая в многопоточный среде, мы должны стараться максимально избегать context switch, т к это ресурсоемкая операция.

Что мы можем для этого сделать: Использовать как можно реже concurrent queue. Действительно, т к этот тип очереди выполняет свои задачи параллельно, то используется несколько потоков одновременно из thread pool, так же это может привести к thread explosion, но об этом позже

Сократить количество serial queue, несмотря на то что serial queue может использовать только один поток за раз, большое количество serial queue в приложении может привести к ненужному context switch. Apple рекомендует использовать одну очередь под систему (network, db and etc)

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

Thread explosion, как я уже сказал до этого concurrent выполняет свои задачи параллельно на разных потоках. Проблема возникает если ставим большое количество задач на этот тип очереди. Очень много потоков и ограниченное число ядер.

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

Так я немного подустал, завтра вечером продолжим. А пока анонс

Четверг


Кстати, обычно в компаниях дают бюджет на образование и бюджет на спортивные активности.

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

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

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

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

В Российских компаниях, мне кажется, на софт скиллы смотрят по остаточному принципу, хотя конечно есть исключения.

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

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

🔥Тред #6
Продолжаем про GCD. Сегодня поговорим про QoS, quality of service. Механизм приоритезации, чем выше приоритет у задачи, тем больше выделяется процессорного времени на ее выполение, а следовательно энергии

Всего 4 типа: userInteractive - для задач с максимальным приоритетом, например работа UI userInitiated - для задач, когда нужен быстрый ответ например загрузка данных и последующее отображение utility - для продолжительных задач, когда юзер не ожидает немедленного результата

backround - для задач, которые выполняются в бэкграунде.

Главный поток всегда выполняется в userInteractive (наивысшем) qos, т е все задачи, выполняющиеся в главном потоке получают наивысший приоритет

QoS propagation, когда мы не указываем qos напрямую срабатывает automatic propagation. Те присваивается qos вызывающей очереди. Например есть очередь utility, которая ставит на выполнение задачу в другую очередь, в итоге задача будет выполнятся с qos utility

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

Мы можем указывать напрямую qos при создании очередей и в методах async или sync

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

Что бы избежать priority inversion GCD автоматически поднимает приоритет у уже выполняющейся задачи

🔥Тред #7

Пятница


Мне кажется, одна из самых удобных стран, для семейных людей. Декретный отпуск тут доступен обоим родителям и составляет суммарно 480 дней.

Имеется ввиду 480 дней на обоих, а в каком соотношении делить, родители решают сами.

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

🔥Тред #8
А вообще Швеция учит терпению. Например, знаете, звонишь в компанию, а там ответчик, через который нужно продраться, а затем подождать, что бы связаться с оператором. Сейчас расскажу, как это работает здесь

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

Я сначала даже не поверил, думаю ошибка наверное или я неправильно расслышал, положил трубку, перезваниваю - вы 118 на очереди, среднее время ожидания 45 минут.

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

А мне переезжать через неделю. Делать нечего. Звоню опять, жду 40 минут, соединяюсь с оператором и прошу отключить модем, профит

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

А знаете, что может быть хуже? Когда автоответчик на Шведском

🔥Тред #9

Суббота


Сегодня мы с вами отправимся в небольшое путешествие.
notion image

На дачу. Шутка)
notion image

На месте
notion image

Как то так
notion image

Или так
notion image

А похоже, все таки на дачу
notion image

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

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

В целом неплохо съездил
notion image
notion image
notion image
notion image

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

Если понравились фотки, можете заглянуть ко мне на страницу в инсте, я переодически катался по разным шведским городам в последний год: instagram.com/shchukin.alexe…

🔥Тред #10

Воскресенье


Сегодня выходной, а значит хороший повод что бы поговорить про life work balance. Это словосочетание вы обнаружите во многих описаниях к вакансиям в Швеции. И действительно, шведы как никто другой умеют организовать этот баланс

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

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

Я помню лет 6 назад, на собеседованиях часто задавали вопрос - как вы относитесь к переработкам, ожидая исключительно положительный ответ. В Швеции просто немыслимо, что бы кто то задал подобный вопрос. Здесь вам наоборот будут рассказывать, как важно ценить свою время вне работы

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

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

🔥Тред #11
Ну и напоследок, давайте поговорим как улучшить свой английский.

По моему мнению, максимальный результат дает онлайн занятия с native. Для этих целей, использую сервис italki и в принципе, меня он полностью устраивает

Количество занятий каждый определяет сам, но для меня было оптимально 2-3 в неделю. С одной стороны при общении с нейтивами приходится выходить из зоны комфорта, а с другой стороны изучение проходит более эффективно

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

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

Важно также работать над увеличением словарного запаса. Тут существует много спосбов, например сервис memrise или различные приложения flash cards. Идеального решения я, к сожалению, не нашел. Но приведенных выше способов должно хватать, чтобы запоминать иностранные слова

🔥Тред #12
На этом все, ребята. Спасибо за ваше внимание, надеюсь вам понравилось. Если вам интересно почитать мои заметки про жизнь в Швеции, то можете заглянуть в мой телеграм канал: t.me/SwedishSyndrome

Также со мной можно связаться в твитере @ShchukinAleks

А поглядеть скандинавские фотки тут: instagram.com/shchukin.alexe…

Ссылки