Search
Write a publication
Pull to refresh
3
0.6

User

Send message

Рок-звёзды без премий: как Netflix хакнул систему мотивации сотрудников

Reading time7 min
Views69K
image

В 1998 г. мало кому известный стартап под названием Netflix, только что запустивший собственный сайт, платил своим сотрудникам значительно меньше рынка: в фирму семейного типа шли не за большими и быстрыми деньгами.

Сегодня всё иначе. Netflix — крупнейшая международная IT-компания и крайне щедрый работодатель с необычной, даже по меркам Кремниевой долины, системой оплаты труда. В 2018 году стриминговый сервис стал самым популярным местом работы среди соискателей, опередив Google и Apple.

Мотивационные схемы — часть и продолжение корпоративной культуры Netflix. За прошедшие десятилетия она серьёзно эволюционировала и к 2010-ым окончательно выкристаллизовалась в стройную систему. Сначала — в виде опубликованного в Сети “Корпоративного справочника Netflix” из 127 слайдов, затем — как манифест Netflix Culture, а недавно — как книга с громким названием “Никаких правил” (No Rules Rules).

В этой статье мы рассказали самую интересную часть из этой книги: как именно устроена система мотивации в Netflix и что нужно делать компании, чтобы рок-звезды в ней выкладывались по полной?

И почему отказ от премий сотрудникам стал фактором роста компании?
Читать дальше →

OSPF (часть первая)

Reading time11 min
Views221K
Данная статья была написана для себя, чтоб при необходимости быстро освежить память и разобраться с теорией. Решил ее опубликовать, возможно кому-то будет полезна, а может в чем то ошибаюсь.

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

OSPF (англ. Open Shortest Path First) — протокол динамической маршрутизации, основанный на технологии отслеживания состояния канала (link-state technology) и использующий для нахождения кратчайшего пути алгоритм Дейкстры.

Возникает сразу вопрос — Что есть технология отслеживания состояния канала? Данное название считаю не совсем удачным. Сложилось так, что существует два типа протоколов динамической маршрутизации: Link-state и Distance-Vector. Рассмотрим их принципы работы:

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

Тестовое задание для фронтендера

Reading time6 min
Views34K

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

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

Чтобы решить эту проблему, собираем в одном месте опыт десятков собеседований с верстальщиками. Вместе с Дашей Владыко из фронтенд-аутсорса «Лига А.» рассказываем, на что смотреть в тестовом задании джунов и мидлов, и как отличить хороший результат от плохого. Плюс несколько практических советов — например, как выбирать плагины и составить тестовое задание.

Читать далее

Универсальная архитектура приложений

Reading time17 min
Views9.7K

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

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

Читать далее

Ультимативный гайд по поиску утечек памяти в Python

Reading time7 min
Views31K

Практика показывает, что в современном мире Docker-контейнеров и оркестраторов (Kubernetes, Nomad, etc) проблема с утечкой памяти может быть обнаружена не при локальной разработке, а в ходе нагрузочного тестирования, или даже в production-среде. В этой статье рассмотрим причины появления утечек в Python-приложениях, доступные инструменты для отладки и мониторинга работающего приложения, а также общую методику поиска утечек памяти.

Читать далее

15 лучших наборов данных для обучения чат-бота

Reading time4 min
Views19K
Чтобы быстро решать вопросы пользователей без вмешательства человека, эффективный чат-бот требует огромного количества обучающих данных. Однако основное узкое место в разработке чат-бота — это получение реалистичных, ориентированных на задачи диалоговых данных для обучения этих систем с помощью методов машинного обучения. Специально к старту нового потока курса «Машинное обучение» делюсь с вами списком лучших наборов данных разговоров из чатов, разбитых на вопросы и ответы, данные службы поддержки клиентов, диалоговые данные и мультиязычные данные.


Приятного чтения!

5 приемов и хитростей для работы с SSH и кое-что ещё

Reading time8 min
Views25K
image

В этой статье мы поговорим о полезных приемах и командах при работе с SSH. А именно:

  • Как использовать двухфакторную аутентификацию для SSH-подключений.
  • Безопасное использование «проброса ключа» (agent forwarding).
  • Завершение зависшей сессии.
  • Оставляем терминал открытым при выходе или разрыве связи.
  • Расшариваем удаленный терминал с другом (без Zoom!).
Читать дальше →

Типичные ошибки в тестовых заданиях стажёров-исследователей

Reading time13 min
Views16K

Привет, меня зовут Ксения, я исследователь в UXlab Авито. Некоторое время назад мы запустили стажёрскую программу сразу в несколько направлений: искали продуктовых дизайнеров и дизайнеров коммуникаций, редакторов и исследователей.


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


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

Мониторинг пропускной способности интернет-канала

Reading time8 min
Views15K
Я использую для выхода в интернет LTE-модем. Меня часто интересует то, какую полосу пропускания канала обеспечивает провайдер. Поэтому я и подумал о том, что неплохо было бы сделать систему для мониторинга интернет-канала. Такая система должна была быть компактной и экономичной в плане потребления электроэнергии. В качестве её основы я решил использовать Raspberry Pi Zero. Этот одноплатный компьютер подключается к модему по беспроводной сети. В результате с помощью моей системы можно не только мониторить интернет-канал, но ещё и обнаруживать проблемы с сетью.


Готовая система мониторинга пропускной способности интернет-канала

Фоторамка на Flutter своими руками

Reading time11 min
Views8.5K

Привет! Меня зовут Игорь, я работаю Frontend-директором в компании Wrike. В этой статье хочу поделиться историей создания моего пет-проекта и рассказать, как я сделал электронную фоторамку и написал для нее софт на Flutter, столкнувшись по пути со всеми возможными сложностями.

Читать далее

CIFS over SSH штатными средствами Windows 10

Reading time6 min
Views18K

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


Однажды потребовалось мне организовать доступ к серверу по протоколу SMB и в поиске решения я наткнулся на следующую статью: Mounting your Nikhef home directory using SSH for Windows 8. Это было простое и удобное решение, которое использовало Putty. Чуть позже мне пришлось настраивать это решение на другом компьютере и я понял, что Putty тут лишний с тех пор как в Windows 10 появился встроенный ssh-клиент на основе OpenSSH.


Под катом — идентичная схема, только с использованием OpenSSH под Windows 10.

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

Аппаратный взлом жёсткого диска

Reading time14 min
Views128K

Жёсткие диски: если вы читаете эту статью, то с большой вероятностью у вас есть одно или несколько таких устройств. Они довольно просты и, по сути, представляют собой набор 512-байтных секторов, пронумерованных возрастающими адресами, также называемыми LBA (Logical Block Address). Компьютер, к которому подключен жёсткий диск (hard drive, HD), может считывать и записывать данные в эти сектора. Обычно используется файловая система, абстрагирующая все эти сектора до файлов и папок.

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

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

Отказоустойчивый кластер с балансировкой нагрузки с помощью keepalived

Reading time15 min
Views90K

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

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

Сбер выложил русскоязычную модель GPT-3 Large с 760 миллионами параметров в открытый доступ

Reading time10 min
Views176K
Последнее десятилетие в области компьютерных технологий ознаменовалось началом новой «весны искусственного интеллекта». Впрочем, ситуацию в индустрии в наши дни можно, наверное, охарактеризовать уже не как весну, а полноценное «лето ИИ». Судите сами, за последние неполные 10 лет только в области обработки естественного языка (Natural language processing, NLP) произошли уже две настоящие технологические революции. Появившаяся в результате второй из них модель GPT-3 произвела настоящий фурор не только в технологических медиа, но стала знаменитой далеко за пределами научного сообщества. Например, GPT-3 написала для издания «The Guardian» эссе о том, почему ИИ не угрожает людям. GPT-3 сочиняет стихи и прозу, выполняет переводы, ведёт диалоги, даёт ответы на вопросы, хотя никогда специально не училась выполнять эти задачи. До недавних пор все возможности GPT-3 могли по достоинству оценить лишь англоязычные пользователи. Мы в Сбере решили исправить эту досадную оплошность. И сейчас расскажем вам, что из этого получилось.


Источник изображения
Читать дальше →

Голосовой бот + телефония на полном OpenSource. Часть 2 — учим бота слушать и говорить

Reading time5 min
Views12K

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

Как генерируются UUID

Reading time7 min
Views139K

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

Современную реализацию UUID можно проследить до RFC 4122, в котором описано пять разных подходов к генерированию этих идентификаторов. Мы рассмотрим каждый из них и пройдёмся по реализации версии 1 и версии 4.
Читать дальше →

В нативный код из уютного мира Java: путешествие туда и обратно (часть 1)

Reading time18 min
Views35K


Java и другие управляемые языки просты и удобны во многих случаях, но иногда их возможностей недостаточно — например, если нужна библиотека, написанная только на C или C++. Иногда хочется позвать пару методов из системного API, или попытаться улучшить производительность для модуля — и тогда прямой путь в нативный код.


Но тут возникают подводные камни: написать нативный метод и вызвать библиотеку может быть и легко, но JVM начинает крашиться в случайных местах, производительность падает, сборщик мусора перестает справляться с работой, а в репозитории царствуют бесконечные C-шные файлы с буквами JNI. Что же могло пойти не так?


Иван Углянский (dbg_nsk) из Huawei разбирается со всем по порядку: что необычного в интеропе между Java и нативным кодом, как оно работало раньше и что нужно делать для их нормальной совместной работы (и можно ли это вообще сделать). Иван рассказывает, как избежать просадок производительности, внезапных OOM и размышляет на тему будущего — в контексте проектов Panama и Sulong.


Мы подготовили текстовую версию доклада о работе с нативами в Java. В первой части:


  • Зачем вообще работать с нативным кодом в Java.
  • С какими ошибками и проблемами придётся столкнуться при работе с нативами.

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


Далее — повествование от лица спикера.

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

Бесплатные аналоги популярных SaaS решений

Reading time5 min
Views11K


Мы подготовили небольшой обзор бесплатных альтернатив популярных в России платформ SaaS. С небольшими усилиями зачастую можно добиться практически такой же функциональной отдачи, но с меньшими финансовыми затратами.
Читать дальше →

Опасность при настройке SSL VPN на FortiGate

Reading time3 min
Views7.3K


По информации SAM Seamless Network более 200 тысяч компаний, в которых используется SSL VPN с настройкой «из коробки», уязвимы к атакам типа MitM. Злоумышленники при подключении могут предоставить действующий SSL сертификат и обманным путем подключиться к корпоративной сети компании. Под катом представлен пример атаки, а также рекомендации по безопасной настройке SSL VPN.
Читать дальше →

IPSec туннель между Strongswan за NAT и VMWare NSX Edge

Reading time3 min
Views7.1K
В силу ряда причин, потребовалось организовать VPN-соединение между сетью в VMWare Cloud Director и отдельной машиной Ubuntu в облаке. Заметка не претендует на полноценное описание, это просто небольшое howto.

IPSec туннель между Strongswan за NAT и VMWare NSX Edge
Читать дальше →

Information

Rating
2,105-th
Registered
Activity