Как стать автором
Обновить
39
0
Виталий @vt4a2h

Senior Software Engineer

Отправить сообщение

Да, CMake ужасен. Знаю людей, которые делегируют написание кода на нём ChatGPT :)

Разрабатывать на C++ в целом сравнительно хлопотное занятие. Как минимум нужно:

  • Включить все предупреждения

  • Превратить их в ошибки компиляции

  • Добавить флаги вроде (-pedantic)

  • Использовать статические анализаторы

  • Использоваться санитайзеры

  • Использовать фаззинг

  • Опционально использовать как минимум три разных компилятора

И это мы ещё не дошли до сборки проекта и управления зависимостями ;) Там отдельный прекрасный мир, даже учитывая наличие conan/vcpkg и CMake.

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

Однако же, не так давно гениальное правительство решило что пора бы всё-таки ввести эти самые налоги, а то их слишком мало в Норвегии. Теперь есть 25% НДС на стоимость свыше полумиллиона норвежских крон и появился налог на вес авто свыше 500кг.

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

подобное гуглится элементарно

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

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

А уж о причинах, почему многие люди в Европе и правда довольно долго арендуют жильё, я промолчу. Хотя готов подискутировать. Только упомяну, что если ты купил жильё, то никто тебе не мешает его сдавать, а самому уехать и где-то снимать, если есть желание.

Зависит от комании и области. Где я работаю (embedded) - периоды обучения такие, что полгода - это минимум выйти на хоть какую-то продуктивность, год - начать работать в полную силу.

Область может оказывать влияние, тут сложно поспорить. Но продуктивность опять же надо как-то измерять, равно как и пользу, которую человек приносит компании. Как скоро начинает окупаться новый сотрудник? А что вообще будет значить "окупаться"? Однозначного ответа на который, я подозреваю, не существует. Но, положим, пусть будет и год, как вы написали. То есть, если предположить что человек никакой ценности не приносил компании за первый год (что довольно странно, но окей), то ведь он что-то начнёт приносить в следующий, если его до сих пор не уволили. За пару лет, скорее всего это как минимум выйдет в ноль. Хотя, это очень и очень грубый и ничем не обоснованный расчёт.

Человек же может очень по-разному ценность для компании создавать. Кто-то быстро и решительно решает задачи, кто-то создаёт хорошую атмосферу в коллективе, кто-то постоянно организует всякие активности, кто-то приносит "очки репутации" и так далее. Есть ещё интересные случаи, когда, например, для некоторых стартапов надо показать численность, и человека просто возьмут на работу и будут платить ему зарплату, хотя для развития продукта он и не нужен, но ценность создаёт иначе.

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

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

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

На мой взгляд, если человек "прыгает" раз в пару лет, повышая себе зарплату на 10-15% + процент инфляции (ну или ища новый проект), то это более чем нормально. Это значит, что он как минимум чего-то стоит, если ему эту зарплату соглашаются повышать, и с ним можно побеседовать.

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

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

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

Я думаю, что примерно по данным причинам людей и тянет в столицы и high-tech хабы.

Касательно же "за МКАДом жизни нет". Её там и правда особо нет, раз уж на то пошло. Зависит от критериев конечно же. Я бы, к слову, слегка расширил это утверждение до Москвы и Питера.

PS
Честно будет упомянуть про опции удалённой работы и удалённого же участия в мероприятиях. Это не всегда возможно и/или приветствуется, причём как сотрудником так и работодателем. Далеко не все люди хотят удалённо работать и жить в деревне или же работать всю жизнь в одной компании.

Я работал в нескольких компаниях, которые платили от 1-2к евро если человек, которого ты порекомендовал, прошёл испытательный срок. Вполне себе адекватная мотивация: мелочь, а приятно. Я всегда давал рекомендацию, когда меня об этом просили :)

Я полностью с этим согласен.

Дело тут в том, что у каждого человека критерии эффективности и выгоды обмена своего времени на деньги различны. Кто-то считает что денег ему хватает и просто ходит туда, где ему комфортно работается. Кому-то важно то что он может пару-тройку дней в неделю заниматься своими проектами и/или регулярно посещать конференции. Есть люди, которые хотят, допустим, только open source заниматься и так далее.

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

Есть ли новости касательно std::expected? Я где-то читал что уже добавлено в 23, но возможно я ошибаюсь.

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

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

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

То есть, я роль HR ни коем образом не недооцениваю, даже наоборот, вижу пользу для бизнеса. Но, я хочу сказать, что: 1) HR и рекрутер -- разные профессии с разными должностными обязанностями; 2) роль HR для работника и работодателя может иметь совершенно разное значение.

Так и представил ситуацию, когда отличный инженер не прошел собеседование, потому что опоздал на 5 минут, не шутил на право и на лево, отвечал односложно и по делу, да ещё и отказался называть размер желаемой зарплаты! Абсолютно абсурдная ситуация, на мой взгляд.

Роль HR в компании -- это, не роль надзирателя на входе, который должен допускать или не допускать до технических собеседований. Это человек, который отвечает за то, чтобы сотрудникам в компании комфортно работалось. Всё. Некоторые HR почему-то пытаются заниматься рекрутингом.

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

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

Понятие "родина" ещё сначала надо определить. Для кого-то это просто географическое место рождения, а для кого-то это нечто большее или просто отличное.

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

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

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

Возможно многим не казалось это "рациональным трендом" после марта 2014 года, но вот после 24 февраля этого года уже точно можно было начать что-то подозревать, не так ли?

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

Забавно, что ни один из ваших вопросов не ставит под сомнение и никак не противоречит процитированному вами фрагменту.

Даже не смотря на наличие программ поддержки, переезд врача не пройдёт настолько легко, насколько переезд, скажем программиста. Разработчику для переезда в Европу надо знать английский на уровне около среднего и немного что-то уметь (около трёх лет реального опыта работы) и/или иметь хорошее образование что бы претендовать на специальные позиции недавних выпускников или стажёров. И всё. При этом зарплата будет, чаще всего на 10-20% выше средней по городу (а то и сильно выше) или как минимум средняя. То есть если есть желание именно переехать, его можно легко осуществить.

Программы же поддержки переезда врачей мало того что есть *скорее всего* далеко не во всех странах Европы, так ещё и подразумевают намного больше действий и условий. В Европе все бюрократы и это надо понимать. Может быть ещё Германия как-то ослабит (или уже ослабила) требования. Но это особый случай, как многим известно.

Из того, что скорее всего надо будет сделать врачу (который не из ЕС/ЕЭС с соответствующим образованием и опытом), я могу предположить как минимум:

  • подтвердить диплом (и мало того, иметь необходимое количество лет и часов по определённым предметам, и возможно даже стажировок)

  • пройти какие-нибудь курсы/стажировки для переквалификации или её подтверждения

  • очень даже может быть что нельзя будет работать врачом какой-то специализации первые N лет, а только каким-нибудь ассистентом или врачом общей практики

  • язык. И тут от стране к стране требования будут отличаться. Адекватным требованием для врача я бы назвал не ниже advanced, а то и fluent. А это +2 года обучения примерно для взрослого человека (если он ни чем другим заниматься не будет). Например, я живу в Норвегии, и тут в такой ситуации надо сдать специальный тест (https://www.bergenstest.com/en/what-is-the-bergenstest/), на котором, как мне известно даже проверяют навыки понимания разных диалектов и разговора с их носителями.

Минимум 2 года толком не практиковать, учить язык и около года собирать документы, всё подтверждать и т.п. При этом зарплата у вас будет хорошо если средняя по городу проживания. Если вообще будет (от страны зависит). Более реалистично, около 5 лет, скорее всего будет.

Возможно? Безусловно, но сильно сложнее чем для условного разработчика.

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

Интересная информация, спасибо!

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

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

Буду цитировать великого себя :)

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

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

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

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

Также, английский откроет тебе доступ, условно, к 5% рынка труда таких стран как:

...

Норвегия

Могу сказать, что в Норвегии, это мягко говоря не так. Страна говорит на английском на 98%, в том числе и практически все пожилые люди. Норвежцы, можно сказать, билингвы, так как им приходится учить язык для получения информации и они уже почти все сносно говорят на нём ещё до того как он начинает изучаться в школе.

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

Я бы сказал, что норвежский нужен как раз-таки в тех самых 5% случаев. Это будут компании, которые работают чисто на внутренний рынок и/или консультанты. Во многих из таких компаний вы не захотите работать :)

Знание языка даже не всегда как плюс рассматривается или вообще упоминается в описании вакансии. Социальные навыки важны по большей части, формальный опыт работы (тут это отдельная сложная тема) и немного технические навыки. То есть условно слабый технический специалист с большим формальным опытом работы, будет принят на хорошо оплачиваемую должность, если он всем понравился. Это справедливо, наверно для 60% случаев. Для молодых компаний или стартапов, технические навыки будут играть существенно большую роль.

Подозреваю, что похожая ситуация и в Дании со Швецией.

Тут, как мне кажется, вопрос классификации. Кого мы подразумеваем, когда говорим "разработчик"?

Например, если это условный "Младший/Средний/Старший <технология А>/<язык А> разработчик", то скорее всего это "ремесленник". То есть, человек, который научился владеть конкретным инструментом и умеет решать задачи с его применением. Это не хорошо или плохо, это просто то, чего требует индустрия в больших объёмах.

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

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

? - это костыль, который лишь говорит о том, где все сказки "удобно, пм - круто" были фейком. Можно почитать то, что пели последователи result до ?.

Если говорить о реальном коде, особенно о C++(где есть полиморфизм и куда более мощная ситема типов, нежели в раст), то ? становиться бесполезным.

Предположим, что у нас есть две функции. Онда из первой библиотеки, а другая из второй. Как результат нельзя будет напсать {first::f()?; second::f()?;} - код сломается. Там есть страшные костыли на макросне, но в реальном коде просто будет box dyn err. А здесь уже проще написать исключения.

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

Касательно типа объекта ошибки, это ожидаемо. Интересно было бы посмотреть, как это выглядит в достаточно больших и долгоживущих проектах, написанных профессиональными разработчикми на Rust (к которым я сам не отношусь). Безусловно, вариант который вы привели, с некоторым базовым типом и выделением объекта на куче выглядит как наиболее очевидное и наивное решение.

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

pm достаточно слабая концепция, которая во много неполноценна. А уж тем более в C++, если есть полиморфизм и перегрузка.

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

Вы имеете ввиду реализацию pm непосредственно в Rust?

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

Насчёт того, насколько синтаксис Rust "человеколюбивый" у меня есть свои соображения :) Хотя, привыкнуть можно и к его особенностям. Я лично нахожу Rust (и его экосистему в целом) во многих аспектах намного более удобным чем "современный C++".

1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Oslo, Oslo, Норвегия
Зарегистрирован
Активность