Как стать автором
Обновить
15
1

Пользователь

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

Почему я провалю ваше техническое собеседование

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров65K

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

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

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

Так думаю не только я: несколько лет назад Университет штата Северная Каролина совместно с компанией Microsoft пришли к таким же выводам: «Собеседования в технологическом секторе оценивают уровень стресса, а не навыки разработки ПО».

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

Не удержался. Ответ на статью про «где лучше платят»

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров52K

Это ответ, точнее мысли по статье, опубликованной на Хабре: «Зарплаты в IT: сравнение Германии и России — где программисты и айтишники получают больше». Советую сначала ее прочитать и потом уже здесь продолжить.

Читать далее

Рекрутеры — паразиты? Отказ на свою же должность в IT

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров104K

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

Читать далее

Как ускорить сборку Docker-образов в GitLab: стратегии кэширования с Docker Buildx

Уровень сложностиСложный
Время на прочтение16 мин
Количество просмотров8.3K

Скорость сборки Docker-образов играет важную роль в CI/CD, особенно для микросервисов, где частые обновления и тестирования требуют быстрой доставки изменений.

Одним из решений для оптимизации сборок является Docker Buildx — расширение к стандартной команде docker build. Docker Buildx предлагает дополнительные возможности, такие как кэширование слоев образов, что помогает значительно сократить время сборки за счет повторного использования неизменных слоев. В отличие от стандартного процесса сборки, Docker Buildx предоставляет более гибкое управление кэшем, поддерживает мультиархитектурные сборки и работу с несколькими платформами.

В этой статье мы сосредоточимся на том, как эффективно настроить и использовать кэширование с Docker Buildx в CI/CD пайплайнах на GitLab. Мы рассмотрим примеры, когда кэширование позволяет ускорить сборку, и ситуации, когда его лучше отключить для гарантии корректности итогового образа.

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

Telegram Web App, FastAPI и вебхуки в одном приложении: Создаем Telegram-бот с веб-интерфейсом для приема заявок

Время на прочтение49 мин
Количество просмотров24K

Сегодня мы создадим полноценное веб-приложение на FastAPI, которое будет взаимодействовать с Telegram-ботом через MiniApp и вебхуки. В основе проекта — асинхронное взаимодействие с базой данных SQLite с помощью SQLAlchemy, что позволит нам реализовать масштабируемое и эффективное приложение.

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

Для разработки самого бота мы воспользуемся библиотекой Aiogram 3, которая обеспечит удобный и мощный интерфейс для взаимодействия с Telegram API. Это позволит нам быстро реализовать необходимые функции и сделать процесс разработки более эффективным.

Читать далее

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

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров178K

Привет, Хабр! Я не являюсь преподавателем английского языка, но, как и многие присутствующие, долгие годы хотел постигнуть его дебри. В школе я от всего сердца завидовал ребятам, которым он даётся налегке, без видимых трудностей. Я же зубрил, пытался понять, получал двойки… и люто ненавидел английский язык как школьный предмет. Мечтал владеть, но совсем не хотел учить. После школы и университета приступал к его изучению несколько раз, однако каждый мой всплеск быстро угасал.

Наконец случилось чудо. В одну из очередных попыток я нащупал способ, который позволил продолжать развиваться, делать успехи, осознавать их и разжигать мой огонь всё сильнее и сильнее. Сегодня мне сложно представить день, проведенный без английского языка. И мне не хочется говорить без “изучения”, поскольку не сказал бы, что я именно учу. Скорее — постепенно “прошиваюсь” английским, как это обычно происходит с новорожденным детьми, которые постепенно начинают говорить, слушая и наблюдая за своими родителями. В настоящее время мой словарный запас не такой большой: 9 — 12 тысяч слов (зависит от теста). Я свободно смотрю видео на Ютубе разнообразной тематики (видеоуроки, спорт, фитнес, музыка, путешествия, кулинария, обзоры и т.д.), читаю документацию, компьютерную и популярную литературу, публицистику.

Читать далее

Истинная причина отмены удалёнки

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров89K

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

Читать далее

Распределение IQ: как программисту выживать в мире, рассчитанном на дураков?

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров41K

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

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

В этом посте я хочу рассмотреть вопрос, ответ на который, надеюсь, поможет вам понять, почему многие вещи в мире устроены так, как они устроены. Почему многие законы такие нелогичные? Почему идущие в кинотеатрах фильмы такие незамысловатые, а шедевры всегда проваливаются в прокате? Почему до сих пор так распространено мошенничество "с безопасным счётом", если о нём трындят на каждом шагу? Почему в США так важно кого на выборах поддержит Тейлор Свифт? Почему существует общество плоской Земли? Почему полиция работает так, как она работает? Причём я не буду прямо рассматривать ни один из этих вопросов, а рассмотрю только метавопрос, метаответ на который безмолвно отвечает на них все.

Читать далее

Транзакции в БД на Go с использованием многослойной архитектуры

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров7.5K

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

Однажды, я столкнулся с инцидентом на проде и обратился за помощью к самому опытному инженеру. Он пришел на помощь и с легкостью изменил значение в БД с помощью... ручного обновления. 🤯 Проблема заключалась в том, что набор SQL-обновлений не был выполнен внутри транзакции.

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

SQL кажется чем-то, что мы все хорошо знаем, и мало чем может удивить. (Ему уже 50 лет!) Возможно, пришло время пересмотреть подходы, так как мы уже прошли фазу хайпа по поводу NoSQL, и снова возвращаемся к “используйте просто Postgres”, а иногда и к “SQLite тут за глаза”.

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

Основной принцип многослойной архитектуры заключается в разделении критически важных частей кода (логики) от деталей реализации (например, SQL-запросов). Одним из способов достижения такого разделения является паттерн «Репозиторий». Однако, наиболее сложным аспектом такой архитектуры является обработка транзакций.

Читать далее

Как превратить дейли из утренней пытки в эффективный инструмент

Время на прочтение4 мин
Количество просмотров10K

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

Что с ними не так? Предлагаю разобраться в причинах и следствиях.

Читать далее

VLESS vs ShadowSocks. Рассказываем про протокол, который придет на смену SS

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров104K

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

Читать далее

ByeDPI для Android, SpoofDPI для Mac и Linux – чиним YouTube и не работающие в России сайты на Андроид, Линукс и Мак

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров222K

Вчера писал о графической оболочке Launcher for GoodbyeDPI, позволяющей интуитивно-понятно воспользоваться решением GoodbyeDPI от ValdikSS для решения проблемы замедления YouTube и недоступности в России ряда сайтов. Все хорошо, но это были решения лишь под Windows. В комментариях основные вопросы были о том, как быть с Android, Linux и Mac, и почему не в исходниках. Увы, репрессии РКН заставляют администрацию Хабра цензурировать статьи, во вчерашнюю статью внесение изменений мне запрещено, и сама ссылка доступна лишь вне России, потому объясняю про Андроид, Линукс и Мак здесь, со ссылками на исходники.

Итак, для Android есть масса проектов, мне подошел Release ByeDPI 1.0.0 · dovecoteescapee/ByeDPIAndroid · GitHub. Для Mac и Linux я бы ставил https://github.com/xvzc/SpoofDPI/releases. Все в исходных кодах.

ByeDPI for Android, это приложение, которое запускает локальный VPN-сервис для обхода DPI (Deep Packet Inspection) и цензуры. На вашем устройстве локально запускается SOCKS5-прокси ByeDPI и весь трафик перенаправляется через него.

Снятие блокировок на Android/Mac/Linux

Замедление YouTube с технической стороны: ограничение и обход

Время на прочтение5 мин
Количество просмотров441K

Привет, Хабр!

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

Сразу скажу, что буду говорить обо всём, что известно на данный момент. Понятно, что с этим разбирался далеко не один я: огромное спасибо обывателям ntc party форума за проделанный ресёрч.

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

UPD 10.08.2024 Многие жалуются на недоступность ютуба в целом: не грузит домашнюю страницу. Переживать не стоит, оно обрабатывается всё тем же ТСПУ по всё той же стратегии, обходы должны работать.

Читать далее

Микросервисы в представлении среднего разработчика, и как всё на самом деле

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров63K

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

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

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

погрузиться в микросервисы

Выжимаем из Go максимум производительности

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров20K

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

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

Читать далее

Scrum — рак, убивающий индустрию

Время на прочтение7 мин
Количество просмотров98K

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

Какой?

О найме. Взгляд оттуда

Уровень сложностиПростой
Время на прочтение20 мин
Количество просмотров30K

Давайте поговорим о том как нам обустроить Россию правильно нанимать людей и не задавать глупые вопросы на интервью.

Читать далее

Как реагировать на то, что вы не единственный (работодатель)?

Время на прочтение5 мин
Количество просмотров24K

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

Я постоянно учусь руководству и был лидером более сорока лет, в том числе работал вице-президентом отдела HR в Microsoft. Момент возникновения необходимости работы из дома был удивительным временем, потому что дал мне возможность увидеть страх на лицах менеджеров: они внезапно потеряли тот самый контроль, которым жили.

Менеджеры, потерявшие контроль


Работающие из дома сотрудники были избавлены от поездки на транспорте до работы, от мешающих факторов в офисе и зоркого надзора своих менеджеров. Большинство совершило этот переход эффективно, и многие даже преуспевали. Но некоторые воспользовались преимуществами новообретённой свободы.

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

Осенью 2022 года многие СМИ писали поразительные истории о программистах из Кремниевой долины, зарабатывавших больше полумиллиона долларов на нескольких работах с полной ставкой — они жонглировали Zoom-созвонами и множеством дедлайнов в своём основном офисе, чтобы «обмануть» систему.

Очевидно, менеджеров коробило то, что эти сотрудники оставались безнаказанными.
Читать дальше →

PostgreSQL Antipatterns: обновляем большую таблицу под нагрузкой

Время на прочтение6 мин
Количество просмотров30K
Как стоит поступить (а как точно не надо), если в «многомиллионной» активно используемой таблице PostgreSQL нужно обновить большое количество записей — проинициализировать значение нового поля или скорректировать ошибки в существующих записях? А при этом сохранить свое время и не потерять деньги компании из-за простоя.


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

Взломать Wi-Fi за 10 часов

Время на прочтение12 мин
Количество просмотров1.5M
Еще не так давно казалось, что беспроводная сеть, защищенная с помощью технологии WPA2, вполне безопасна. Подобрать простой ключ для подключения действительно возможно. Но если установить по-настоящему длинный ключ, то сбрутить его не помогут ни радужные таблицы, ни даже ускорения за счет GPU. Но, как оказалось, подключиться к беспроводной сети можно и без этого — воспользовавшись недавно найденной уязвимостью в протоколе WPS.


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

Информация

В рейтинге
1 551-й
Работает в
Зарегистрирован
Активность