Search
Write a publication
Pull to refresh
9
0
Amir Kadyrov @akk0rd87

C++ Developer, Oracle PL/SQL Developer

Send message

[Личный опыт] Огромные налоги, плюшки от компаний и две разных страны в одной: жизнь IT-инженера в Бельгии

Reading time11 min
Views21K

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


Мы поговорили как раз с таким специалистом, который отучился в Бельгии на инженера, живет здесь уже 8 лет и работает в местной IT-компании. Он расскажет, как в стране устроена работа, что здесь с IT-индустрией и как вообще живется в самом сердце Евросоюза.




Читать дальше →

[Личный опыт] Что делать IT-инженеру в ОАЭ: платят неплохо, но цены кусаются и навсегда не останешься

Reading time9 min
Views36K

Европа и США — очень понятные страны для переезда. Мы много про них знаем если не из историй экспатов, то хотя бы из фильмов, сериалов и книг. А вот ОАЭ — страна другого рода. Там вроде бы есть IT, и туда часто нанимают русских разработчиков, но что происходит внутри — непонятно. Как там устроена работа? Какие проекты? Что с ценами? Что с религией — мешает ли это жить? Можно ли там хорошо заработать?


Мы поговорили с Александром, который переехал в Эмираты в 2010 году и уехал обратно в Россию в 2017. Он успел поработать над несколькими проектами, у них с супругой родился здесь ребенок, и он расскажет, как вообще живется в ОАЭ и стоит ли сюда ехать IT-инженеру.




Читать дальше →

Все новинки Android 12. Обзор для разработчиков

Reading time14 min
Views23K

Прошло Google I/O и мы узнали абсолютно всё про новую версию Android. Основной упор в релизе был сделан на усиление безопасности ОС и приватности данных, а также провели редизайн системы. Очень хорошо поработали с поддержкой новых современных стандартов Media, причём минимизировали объем боли, которую будут испытывать флагманские устройства из-за старых или бюджетных смартфонов. App Widgets воскресили и сделали улучшения, которые просили еще с первой версии Android.

Читать далее

Как найти удаленную работу в зарубежной компании. 10 шагов

Reading time10 min
Views71K


Каждый год Оксфордский словарь английского языка выбирает «Слово года». Но в 2020-м что-то пошло не так. Издательство Оксфордского университета описало 2020-й как «год, который лишил нас дара речи», и сказало, что к нему невозможно подобрать правильное слово.


Но на наш взгляд, такое слово всё-таки есть. С прошлого марта в мире резко возросло использование слова «удаленно». Большинство предприятий отошли от традиционной модели офисной работы и стали пытаться организовать труд сотрудников из дома. Для разработчиков из СНГ это прекрасная возможность начать работу в лучших мировых компаниях. Зарплаты за рубежом выше, а возможностей сейчас стало больше, чем когда-либо прежде.


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


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

Читать дальше →

Дистанционная (удалённая) работа IT-специалистов: существенные условия трудового договора

Reading time8 min
Views11K
image

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

Правовой основой дистанционной работы IT-специалистов может служить:

  1. Договор гражданско-правового характера (ГПХ), а именно, договор подряда или договор оказания услуг. Сторонами такого договора являются «заказчик» и «подрядчик» (или «заказчик» и «исполнитель»).
  2. Трудовой договор, т.е. договор, заключаемый с сотрудником, принимаемым в штат организации. Сторонами такого договора являются «работодатель» и «работник».

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

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

Reading time25 min
Views709K
Взявшись за написание небольшого, но реального и растущего проекта, мы «на собственной шкуре» убедились, насколько важно то, чтобы программа не только хорошо работала, но и была хорошо организована. Не верьте, что продуманная архитектура нужна только большим проектам (просто для больших проектов «смертельность» отсутствия архитектуры очевидна). Сложность, как правило, растет гораздо быстрее размеров программы. И если не позаботиться об этом заранее, то довольно быстро наступает момент, когда ты перестаешь ее контролировать. Правильная архитектура экономит очень много сил, времени и денег. А нередко вообще определяет то, выживет ваш проект или нет. И даже если речь идет всего лишь о «построении табуретки» все равно вначале очень полезно ее спроектировать.

К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».

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

Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
Читать дальше →

Практическое руководство по анонимности в онлайне

Reading time9 min
Views216K

Направленная антенна для удалённого доступа к публичному Wi-Fi

Обеспечить собственную безопасность (анонимность) в онлайне — тяжкий труд, требующий массивного объёма знаний. Даже лучшие профессионалы не всегда справляются.

Но это возможно.

Предупреждение. Для усвоения информации в полном объёме требуется несколько недель.
Читать дальше →

Стандарт C++20: обзор новых возможностей C++. Часть 3 «Концепты»

Reading time11 min
Views49K


25 февраля автор курса «Разработчик C++» в Яндекс.Практикуме Георгий Осипов рассказал о новом этапе языка C++ — Стандарте C++20. В лекции сделан обзор всех основных нововведений Стандарта, рассказывается, как их применять уже сейчас и чем они могут быть полезны.

При подготовке вебинара стояла цель сделать обзор всех ключевых возможностей C++20. Поэтому вебинар получился насыщенным и растянулся на почти 2,5 часа. Для вашего удобства текст мы разбили на шесть частей:

  1. Модули и краткая история C++.
  2. Операция «космический корабль».
  3. Концепты.
  4. Ranges.
  5. Корутины.
  6. Другие фичи ядра и стандартной библиотеки. Заключение.

Это третья часть, рассказывающая о концептах и ограничениях в современном C++.
Читать дальше →

Хабр, давай поштурмим

Reading time5 min
Views7.9K
Мы написали почти 1800 статей в свой блог на Хабре: профессиональных авторских переводов, серий, статей, фан-контента, спецпроектов. Со стороны может показаться, что это очень просто: нашёл удачную идею и написал, нашёл классный пост и перевёл. Делов-то. Но кто писал на Хабр, тот в Форбсе не смеётся: важно провести фактчекинг, проверить корректность всех формулировок подобрать заголовок и изображение, сверстать, выпустить и F5, F5, F5 в ожидании плюсов минусов, комментариев, багрепортов в личку. И знаете, что самое интересное? Даже спустя пять лет эти ощущения не отпускают: каждый раз как в первый раз.

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


Читать дальше →

Введение в неблокирующие алгоритмы

Reading time8 min
Views25K

Неблокирующие алгоритмы широко применяются в ядре Linux когда традиционные примитивы блокировки либо не могут быть использованы, либо недостаточно быстры. Эта тема многим интересна и время от времени всплывает на LWN. Из недавнего — вот эта июльская статья, которая собственно и сподвигла меня написать свою серию. Ещё чаще разговор заходит про механизм read-copy-update (RCU — руководство 2007 года всё ещё актуально), подсчёт ссылок, и способы сделать более понятные, высокоуровные API ко всему этому разнообразию. Ну а сейчас вас ждёт погружение в идеи, стоящие за неблокирующими алгоритмами, а также их использованием в ядре.


Знание низкоуровневой модели памяти в целом считается продвинутым уровнем понимания, которого страшатся даже опытные программисты-ядерщики. Словами нашего редактора (из его июльской статьи): «Понять модель памяти можно лишь правильно повёрнутым мозгом». Говорят, что моделью памяти Linux (и файлом memory-barriers.txt в частности) можно пугать детей. Порой для достижения эффекта достаточно всего лишь рявкнуть “acquire” или “release”.


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

Читать дальше →

Люди как новая нефть: ОАЭ готовы предоставить гражданство иностранцам

Reading time3 min
Views29K

Разговор в автомобиле на трассе из Дубая в Шарджу 31 июля 2020 года:

- Город-стройка. Сколько всего возводят … Но для кого? Кто будет здесь жить? Тем более после такого кризиса. Дубай экспо переносят, резиденты покидают страну, многие потеряли работу или бизнес: даже авиакомпания Эмирейтс сократила тысячи сотрудников, в число которых попал мой друг пилот.

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

Заголовок в новостях 31 января 2021 года, ровно спустя семь месяцев:

«ОАЭ впервые в истории предоставляет иностранцам право получить гражданство».

Читать далее

Всё, о чём должен знать разработчик Телеграм-ботов

Reading time15 min
Views707K

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

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

Подробный гайд о том, как работать с ботами — под катом.

Читать далее

Что тимлиду спросить о компании на собеседовании

Reading time5 min
Views23K

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

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

Каковы финансовые показатели компании?

Является ли компания прибыльной или тратит деньги инвесторов? Или даже до инвесторов ещё не дошло, и основатели пока платят из своего кармана? Как выглядит бизнесовый план развития?

Если компания имеет представительство в РФ, официальное ли (по ТК РФ) трудоустройство и полностью ли "белая" зарплата?

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

Расскажите про ваше понимание «хорошего тимлида»

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

Возможно, это понимание даже прописано в должностных инструкциях.

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

Читать далее

Как составить резюме на английском для иностранной компании

Reading time6 min
Views40K
Привет! Меня зовут Лео Скляр, я методист направления английского языка в Яндекс.Практикуме. Сейчас занимаюсь подготовкой курса английского для работы. Он может быть полезен как программистам, так и другим специалистам из digital-сферы. Я решил обобщить актуальную и самую ценную информацию из этого курса в гайд по грамотному составлению резюме на английском.

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



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

1. Специфика англоязычного резюме


В отличие от принятого в России резюме, которое больше похоже на CV (Curriculum vitae — описание профессионального пути на две–три страницы в хронологическом порядке) — резюме для американских и европейских компаний — это одностраничный документ, составленный по чёткой структуре. Такая лаконичность может казаться удивительной, но одна страница — это общепринятый стандарт резюме за рубежом. Даже если опыт большой, в резюме стоит сохранить упоминание только трёх–пяти последних мест работы, вашу позицию и ключевые достижения. Как правило, работодателя интересует актуальный опыт. Если ему потребуется узнать о вас больше, он может запросить расширенную версию резюме.
Читать дальше →

Companies — это не люди, а American — только СШАавчане. Нюансы английского языка, о которых вы даже не задумывались

Reading time5 min
Views18K

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

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

Читать далее

Статьи — это тоже исходный код {

Level of difficultyMedium
Reading time9 min
Views16K

Title


Открываю VS Code и начинаю набирать статью с самого начала. Но вот незадача — формат маркдауна не совсем совместим с имеющимся форматом Хабра. Получается выхода нет и придётся возвращаться к встроенному редактору Хабра;


Или не придется?

В голову пришла идея написать утилиту, которая конвертирует разные форматы маркдаунов друг в друга, например, из формата GitHub в формат Habr;


Такую программу я в итоге и разработал. Теперь не надо копировать статьи в редактор Хабра, чтобы посмотреть как она выглядит, можно продолжать писать в любимом VS Code;


Хотя я и использую множество плагинов VS Code, но мысли о неэффективном процессе написания статей не исчезли. Раз уж я набираю текст в VS Code, то почему бы сразу не делать коммиты контента в гит-репозиторий?


Это дало бы немало новых возможностей, которыми пользуются программисты: версионирование, бекапы на локальные носители или веб-сервисы, правки от редакторов и пользователей. А еще можно внедрить CD/CI;


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

Читать дальше →

C и C++: межъязыковые интерфейсы

Reading time11 min
Views16K
Как известно, C и C++ — это родственные языки между которыми есть много общего. Но их пути, с годами, расходятся всё сильнее. В общих чертах дело обстоит так: код, написанный на одном из этих языков, не может быть скомпилирован под видом кода, написанного на другом. Этому мешает множество больших и маленьких различий между языками. Причём, речь идёт не только о синтаксических различиях. Некоторые общие синтаксические конструкции могут иметь разную семантику. Поэтому обычно нет никакого смысла в том, чтобы компилировать код, написанный на C, с помощью C++-компилятора. Не стоит доверять тем, кто утверждает обратное.

Правда, есть одна сфера, где обычно наблюдается согласие между C и C++. Это — ABI (Application Binary Interface, двоичный интерфейс приложений). Структуры данных и функции одного языка могут быть, в той или иной мере, использованы в другом языке. C и C++, кроме того, достаточно сильно пересекаются в области спецификаций интерфейсов, вследствие чего один и тот же заголовочный файл можно использовать из кода, написанного на обоих языках.



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

Микросервисы VS монолит: баттл адептов

Reading time17 min
Views21K

Монолитная и микросервисная архитектуры — два диаметрально разных подхода. Во время круглого стола на конференции DevOps Live 2020 столкнулись адепты этих архитектур, которые в формате баттла искали ответы на самые актуальные вопросы. Избыточны ли ресурсы на каждый микросервис? Есть ли необходимость в постоянном рефакторинге? И как грамотно организовать рабочее место?

Читать далее

Бестиарий С++. Справочник по загадочным персонажам

Reading time9 min
Views33K


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

Читать дальше →

Модели памяти C++ и CLR

Reading time16 min
Views41K

Это расшифровка-перевод доклада Саши Гольдштейна, признанного лучшим на конференции DotNext 2016 Piter. С годами этот доклад стал лишь актуальнее прежнего: появление Mac на ARM-процессорах — еще один пример, почему разработчикам сегодня нужно думать не только о x86-архитектуре.



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


То, что подходит процессорам Intel на архитектурах x86 и x86-64, может не подойти другой архитектуре. Как только вы перенесете свой код на другой процессор, например, на ARM для iPhone и Android, есть вероятность, что он перестанет работать как надо. Проблемы могут быть как очевидными (воспроизводиться с первого-второго раза), так и не очень (возникать только раз в миллион итераций). Вполне вероятно, что такие баги могут добраться до продакшна. Сегодня .NET и, конечно, C++ можно использовать не только на Windows и Intel, но и на других платформах, так что доклад будет полезен многим разработчикам.


Дисклеймер: статья предназначена для продвинутых читателей. Смотрите на свой страх и риск. За частое упоминание барьеров памяти и изменения порядка исполнения инструкций она получила возрастное ограничение 18+.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Mobile Application Developer
Git
C++
SQL
OOP
Database
Oracle