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

      image

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

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

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

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

      И почему отказ от премий сотрудникам стал фактором роста компании?
      Читать дальше →
    • OSCP: как я сдавал самый известный экзамен по информационной безопасности

        Offensive Security Certified Professional отличается от других сертификаций по информационной безопасности адски сложным экзаменом. Ребята из этой компании бегают по интернету и пристально следят за тем, чтобы никакие подсказки или готовые решения не были доступны публично. И, похоже, им успешно удаётся это делать более 10 лет подряд.

        Сдавая экзамен, люди не спят двое суток, решают задачи с постоянно включенной видеокамерой и спрашивают в специальном чате разрешения отойти в туалет. Я прошёл этот путь и сейчас расскажу, как всё устроено.

        Как это было
      • VR/AR и другие технологии в фильме «Первому игроку приготовиться»

          Всем привет!

          На новогодних каникулах пересматривал кучу фильмов. Между «Джуманджи», «Один дома» и «Крепким орешком» вклинился представитель 2010-х — «Первому игроку приготовиться» — ещё один блокбастер Стивена Спилберга. Мне захотелось пересмотреть его, спустя почти три года после премьеры. Почему? Во-первых, мне он понравился, во-вторых, я заметил, что в фильме про жизнь в виртуальном мире показано много того, что есть уже сейчас.

          В «ЛАНИТ-Интеграции» я занимаюсь мультимедиа, VR и AR и много читаю про них. Мне показалось, что было бы интересно зафиксировать технологии в фильме Спилберга, привести современные аналоги и поделиться всем этим с вами.

          Алгоритм такой — я описываю фрагмент из кино (гифка), потом даю пример из нашего времени. 

          Источник
          Читать дальше →
        • Как мы просто сократили объем входящего в дата-центр трафика на 70%

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

            Единственное, о чем мы пожалели — что не применили это решение раньше.

            Читать далее
          • Математик-пенсионер, «хакнувший» лотерею


              Любитель головоломок


              Джеральд Селби всегда любил загадки: там, где другие видели лишь шум, он стремился найти порядок и гармонию. Работая на фабрике Kellogg's по производству овсяных хлопьев, он занимался анализом материалов для увеличения срока годности продукции. Однажды, изучая хлопья других компаний, Джерри наткнулся на странную последовательность символов на обороте коробки General Mills. Вместо даты и фабрики-производителя там был отпечатан загадочный код. Джерри решил расшифровать его: взяв несколько коробок завтраков Kellogg's и General Mills, он начал сравнивать их влажность, сообразив, что хлопья с примерно одинаковой влажностью должны иметь близкие даты производства. Делая записи на бумаге, он выявил некоторые закономерности. Вскоре ему удалось расшифровать всё, что позволило определить место, дату и время изготовления. В более агрессивной сфере бизнеса «взлом» секретов конкурентов мог бы обернуться огромной выгодой, но не в производстве овсяных хлопьев, поэтому руководство восприняло его открытие без энтузиазма.
              Читать дальше →
            • Что такое фильтр Блума?

              • Translation

              Всем привет! В этой статье я постараюсь описать, что такое фильтр Блума, рассказать о его назначении и показать сценарии, в которых его можно использовать. Я также реализую фильтр Блума на Python с нуля в целях облегчения понимания его внутреннего устройства.

              Фильтр Блума. Что это?
            • MyCompany — бесплатное и открытое решение для небольшого бизнеса



                Около года назад мы выпустили открытую и бесплатную платформу для разработки бизнес-приложений lsFusion. В первую очередь, мы ориентировались на разработчиков, которые могут на ней быстро и легко создавать различные информационные системы. Тем не менее, разработка “с нуля” системы управления, даже небольшим бизнесом, остается достаточно трудоемким процессом.

                По этой причине мы решили создать базовое решение с названием MyCompany, которое реализует основные бизнес-процессы малого бизнеса. Оно полностью бесплатно, выпускается под Apache лицензией, и ее исходники находятся на Github. Решение легко устанавливается и поддерживает российское законодательство.

                В качестве системы управления базой данных используется PostgreSQL. На сервере решение устанавливается и запускается как Java приложение, состоящее из сервера приложений и веб-приложения под управлением Apache Tomcat. В качестве GUI может использоваться как веб-интерфейс, так и десктоп-клиент, запускающийся через Java Web Start.
                Читать дальше →
              • Как Контур балансирует нагрузку в микросервисах

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

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

                  Читать далее
                  • +20
                  • 4.1k
                  • 2
                • Ваш pet-project будет доволен. Как вдохнуть жизнь в свои наработки

                    Pet project


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


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

                    Читать дальше →
                    • +27
                    • 5.9k
                    • 1
                  • Как я изучал структуры данных и алгоритмы для собеседования в FAANG

                    • Translation
                    Продолжая тему устройства в FAANG, которую уже мы поднимали в нашем блоге, и специально к старту нового потока нашего курса по алгоритмам сегодня делюсь описанием пути Эско Обонга, старшего инженера-программиста Uber.

                    Эта история началась в 2015 году, когда стартап, к которому я присоединился как «сотрудник-основатель», закрылся через шесть месяцев после первого раунда инвестиций, и я искал новую работу. Первое моё собеседование было с  Codecademy, где на этапе телефонного разговора меня заверили: «Не волнуйтесь, мы не задаём сумасшедших вопросов об алгоритмах или что-то в этом роде». И я им поверил…


                    Приятного чтения!
                  • Как я готовился к собеседованию в Google

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


                    Приятного чтения!
                  • Рекомендательные системы, основанные на графах

                      Всем привет! Меня зовут Александра Зенченко, я Lead Software Engineer в ЕРАМ. Занимаюсь разработкой решений, которые помогают нашим клиентам повышать эффективность работы и, в основном, включают в себя часть машинного обучения. В последнем проекте я работала над построением рекомендательной системы в сфере логистики. Хочу поделиться своим опытом и рассказать, как при помощи алгоритмов помочь довезти груз из Мюнхена в Женеву.

                      image
                      Читать дальше →
                      • +10
                      • 3.2k
                      • 7
                    • Таков путь! Эволюция бэкапов в Timeweb: от rsync до ZFS

                        Мы постарались кратко описать путь, который прошла команда Timeweb за 10 лет: от rsync, LVM и DRBD до ZFS. Эта статья будет полезна тем, кто занимается серверной масштабируемой инфраструктурой, планирует делать бэкапы и заботится о бесперебойной работе систем.

                        image

                        Расскажем о:

                        • rsync (remote synchronization)
                        • DRBD (Distributed Replicated Block Device)
                        • инкрементальные бэкапы под DRBD с помощью LVM
                        • DRBD + ThinLVM
                        • ZFS (Zettabyte File System)
                        Читать дальше →
                      • 5 диаграмм, необходимых для документирования архитектуры решений

                        • Translation

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

                        Читать далее
                        • +26
                        • 7.7k
                        • 2
                      • Как законтрибьютить в опенсорс, чтобы не сгореть со стыда

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


                          На осеннем TechTrain Андрей Солнцев (asolntsev) и Артем Ерошенко (eroshenkoam) показали на примере Allure и Selenide, как справиться с техническими и психологическими трудностями. Прямо во время доклада они сделали изменения в опенсорсных проектах.



                          Под катом — расшифровка их доклада и видео с фестиваля. Далее повествование будет от лица спикеров.

                          Читать дальше →
                          • +50
                          • 8.5k
                          • 6
                        • Три типовых ошибки в сфере безопасности, о которых должен знать каждый React-разработчик

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

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



                          Сегодня мы поговорим о типичных уязвимостях React, о том, как находить их во время код-ревью, и о том, как от них защищаться.
                          Читать дальше →
                        • Объясняем современный JavaScript динозавру

                          • Translation


                          Если вы не изучали JavaScript с самого начала, то осваивать его современную версию сложно. Экосистема быстро растёт и меняется, так что трудно разобраться с проблемами, для решения которых придуманы разные инструменты. Я начал программировать в 1998-м, но начал понимать JavaScript только в 2014-м. Помню, как просматривал Browserify и смотрел на его слоган:


                          Browserify позволяет делать require («модули») в браузере, объединяя все ваши зависимости


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


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

                          Читать дальше →
                        • Как подступиться к fullstack-разработке сегодня, если ты проспал десять лет



                          Привет, Хабр! Несколько месяцев назад у меня остро встал вопрос смены профиля деятельности и я обнаружил, что для претендента на вакансию web-разработчика сейчас недостаточно навыков десятилетней давности (какая неожиданность!). Пришлось срочно актуализировать свои знания. Заодно я решил составить шпаргалку с описанием большинства современных технологий, чтобы в случае чего кидать жаждущим новых знаний линк на эту статью, да и самому не забывать.
                          Читать дальше →
                        • 8 учебных проектов

                          • Translation
                          «Мастер совершает больше ошибок, чем новичок — попыток»

                          Предлагаем 8 вариантов проектов, которые можно сделать «по фану», дабы получить реальный опыт разработки.

                          Проект 1. Клон Trello


                          image


                          Клон Trello от Indrek Lasn .

                          Что вы освоите:

                          • Организация маршрутов обработки запросов (Routing).
                          • Drag and drop.
                          • Как создавать новые объекты (доски, списки, карточки).
                          • Обработка и проверка входных данных.
                          • Со стороны клиента: как использовать локальное хранилище, как сохранять данные в локальном хранилище, как читать данные из локального хранилища.
                          • Со стороны сервера: как использовать базы данных, как сохранять данных в базе, как читать данные из базы.

                          Тут пример репозитория, сделанного на React+Redux.
                          Читать дальше →
                        • Запоминать, но не зубрить — учеба «по карточкам»

                            Метод изучения различных дисциплин «по карточкам», который еще называют системой Лейтнера, известен уже около 40 лет. Несмотря на то, что чаще всего он применяются, чтобы пополнить лексический запас, выучить формулы, определения или даты, сам метод — не просто очередной способ «зубрежки», а инструмент поддержки учебного процесса. Он позволяет сэкономить время, требующееся для запоминания большого объема информации.

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