• Поиск сотрудников и поиск работы: мой взгляд изнутри и снаружи

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


      ПОИСК ПЕРСОНАЛА: взгляд со стороны работодателя


      Сразу отмечу, что я не профессиональный HR-рекрутер и не психолог, но по заказу клиента занималась подбором и первичным обучением команды, специалисты которой работали в нескольких городах РФ. Опыт по “другую сторону баррикад” получился в таких для меня уроках.


      image


      • Любой контакт с работодателем может оказаться первым и последним, смотря что вы скажете или не скажете. Я вела собеседования на вакансию, где предполагалось постоянное общение с людьми и было важно поддерживать положительный эмоциональный контакт. И когда на такую позицию собеседуемый на третьей минуте разговора сказал “б***ь”, то, считайте, для меня разговор был окончен, хоть он и извинился. Если у человека такая культура речи, то контролировать её в клиентской работе постоянно он не сможет. Хотя не отрицаю, что он подойдет на любое другое место, где общение – не ключевая сторона работы.
      • Настойчивость порой действительно открывает все двери, как не очевидно бы это было. Однажды мы взяли в команду человека, которого вообще не планировали.
      Читать дальше →
    • Snoop Project невероятный инструмент интернет разведки, которого пользователи рунета ждали так долго — доступен

        image

        На Github-e выложен OSINT-инструмент, заточенный (в том числе) для поиска %username по СНГ локации


        Если вам до боли знаком такой софт, как namechk или spiderfoot, то «Snoop Project» вас явно порадует, он даёт «им» фору вместе взятым и это не желтый заголовок «Статья вечерняя» — это реальная «forensic-работа» по цифровым следам в киберпространстве…
        Читать дальше →
      • Как я избавился от тысячи вкладок…

        … и опоздал на 3 года. В идеале должно быть так: пользователь запускает браузер, и браузер показывает то, что нужно пользователю. Но пока такого не реализовали приходится пользоваться поисковыми системами. В идеале должно быть так: пользователь открывает поисковую систему, вводит поисковый запрос, и она показывает то, что нужно пользователю. Но пока кнопка «I feel lucky» не так хорошо работает (хотя в последнее время ощутимо движение в этом направлении), приходится иногда переходить по нескольким адресам со страницы поисковой выдачи.

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

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

        Мне всегда нужна была кнопка «Нашел», которая бы подчищала за мной последствия поиска (назовём её «I was lucky»). После того, как окунулся в мир расширений для браузеров, я подумал, что это то, что может помочь в данном случае. Так смутно начало появляться желание написать расширение, которое бы решало мои задачи.

        Расскажу вам свою историю, рассказ буду вести в хронологическом порядке, выводы могут оказаться неожиданные.
        Читать дальше →
      • Консольные утилиты Linux, которые смогут облегчить вам жизнь

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

          Читать дальше →
        • Cassandra. Как не умереть, если знаешь только Oracle

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

            Меня зовут Миша Бутримов, я хотел бы хотел немного рассказать про Cassandra. Мой рассказ будет полезен тем, кто никогда не сталкивался с NoSQL-базами, — у нее есть очень много особенностей реализации и подводных камней, про которые нужно знать. И если кроме Oracle или любой другой реляционной базы вы ничего не видели, эти вещи спасут вам жизнь.

            Чем хороша Cassandra? Это NoSQL-база данных, cпроектированная без единой точки отказа, которая хорошо масштабируется. Если вам нужно добавить пару терабайт для какой-нибудь базы, вы просто добавляете ноды в кольцо. Расширить ее на еще один дата-центр? Добавляете ноды в кластер. Увеличить обрабатываемый RPS? Добавляете ноды в кластер. В обратную сторону тоже работает.



            В чем еще она хороша? В том, чтобы обрабатывать много запросов. Но много — это сколько? 10, 20, 30, 40 тысяч запросов в секунду — это немного. 100 тысяч запросов в секунду на запись — тоже. Есть компании, которые говорили, что они держат 2 млн. запросов в секунду. Вот им, наверное, придется поверить.

            И в принципе у Cassandra есть одно большое отличие от реляционных данных — она вообще на них не похожа. И об этом очень важно помнить.
            Читать дальше →
          • 6 рекомендаций по разработке безопасных Go-приложений

            • Перевод
            В последние годы Golang распространяется всё шире и шире. Успешные проекты, вроде Docker, Kubernetes и Terraform, сделали огромные ставки на этот язык программирования. Go стал стандартом де-факто в области создания инструментов командной строки. А если говорить о безопасности, то оказывается, что в этой сфере у Go всё в полнейшем порядке. А именно, с 2002 года в реестре CVE имеется запись лишь об одной уязвимости Golang.

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



            Автор статьи, перевод которой мы сегодня публикуем, сформулировал, на основе данных OWASP, 6 рекомендаций по разработке безопасных приложений на Go.
            Читать дальше →
          • Разработка REST API — что такое Code First подход?

            • Перевод
            • Tutorial
            Это четвертая статья в серии статей по REST API:


            В этой статье мы продолжим знакомство с разработкой REST API и рассмотрим подход Code-First.

            Разработка хорошего REST API важна для того, чтобы иметь хорошие микросервисы. Подход Code-First фокусируется на генерации контракта из кода. Это наилучший из возможных подходов?
            Читать дальше →
          • Что такое *args и **kwargs в Python?

            • Перевод
            Функции — это жизнь. Правда? Если вы только начали осваивать Python, неважно — первый ли это ваш язык программирования, или вы пришли в Python из другого языка, то вы уже знаете о том, что количество параметров в объявлении функции соответствует количеству аргументов, которые передают функции при вызове.



            Это — основы. Это то, что помогает людям понимать окружающий мир. Но утверждение «количество параметров равно количеству аргументов» закладывает в голову новичка бомбу замедленного действия, которая срабатывает после того, как он увидит в объявлении функции таинственные конструкции *args или **kwargs.

            Не позволяйте всяким значкам загонять себя в ступор. Тут нет ничего архисложного. В общем-то, если эти конструкции вам незнакомы — предлагаю с ними разобраться.
            Читать дальше →
            • +44
            • 22k
            • 9
          • Публикация артефакта в Maven Central через Sonatype OSS Repository Hosting Service

            На написание этой статьи меня сподвигла некоторая разрозненность источников информации по такой
            важной, на мой взгляд, теме, как публикация своих артефактов в Maven Central. Конечно, следует
            отдать должное сотрудникам Sonatype: их официальный гайд (ссылка в конце статьи) достаточно полно
            описывает весь процесс. Но в нём нет некоторых неочевидных тонкостей (вроде проблемы хранения
            паролей), и он сам выглядит немного неряшливо. На русском же языке на эту тему ресурсов я не нашёл в
            принципе. Лично для меня это не страшно, но многих это может остановить.

            Внимание, много текста
          • Автоматизация тестирования с использованием Selenide через Selenoid в Docker контейнере

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

              Здесь мы рассмотрим некий базовый проект на Selenium. Увидим, как подключить Selenium и TestNG к проекту, пример Page Object с описанием элементов страницы и используемых методов.

              Далее, знакомство с Selenide: рассмотрим сам фреймворк, его основные возможности и преимущества, добавление Selenide в тестовый проект. Рассмотрим работу с элементами, проверки и ожидания, доступные в Selenide.

              И наконец, подключим к своему проекту фреймворк Selenoid для запуска тестов в Docker контейнере и вне его.


              Читать дальше →
            • Микросервисная архитектура, Spring Cloud и Docker

              • Tutorial

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



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

              Читать дальше →
            • JSON API – работаем по спецификации

                В последнее время веб-разработка разделилась. Теперь мы все не full-stack программисты — мы фронтендеры и бэкендеры. А самое сложное в этом, как и везде, это проблема взаимодействия и интеграции.

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

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


                Читать дальше →
              • Принципы построения REST JSON API

                • Tutorial

                Эта памятка писалась для внутренних нужд (открыть глаза менее опытным в вебе коллегам). Но, т.к. я насмотрелся велосипедов от довольно уважаемых, казалось бы, контор, — выкладываю на хабр. Мне кажется, многим будет полезно.


                Зачем


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


                • Стандарт HTTP это стандарт. Его несоблюдение вредно для кармы и ведёт к постоянным проблемам с безопасностью, кэшированием и прочими "закидонами" браузеров, которые совсем не закидоны, а просто следование стандарту.
                • Велосипеды со всякими {error: "message","result":...} невозможно нормально тестировать и отлаживать
                • Поддержка большим количеством готовых клиентских библиотек на все случаи жизни. Те, кто будет вашим api пользоваться, скажут большое человеческое спасибо.
                • Поддержка автоматизированного интеграционного тестирования. Когда сервер на любые запросы отдаёт 200 ОК — ну, это такое себе развлечение.
                Читать дальше →
              • Как проверить паспорт на действительность



                  Реквизиты паспорта — не просто набор цифр, в них закодирован вагон информации. Если правильно расшифровывать и сопоставлять реквизиты, подозрительные документы мгновенно всплывут на поверхность. Продукты HFLabs уже 14 лет проверяют клиентские данные в банках, страховых, телекомах и другом крупном бизнесе. Расскажу, как мы распознаем ошибки в российских паспортах.
                  Читать дальше →
                • Как не сойти с ума в Open Space: делаем новый офис с нуля

                    Так сложилось в индустрии, что большинство офисов устроено в формате open space. И это часто причиняет боль и страдание всем, кто в таком пространстве работает: людей слишком много и они слишком близко, постоянно шумно, огромное помещение выглядит неуютным. Нельзя открыть окно или выключить кондиционер, кому-то обязательно будет дуть, а другому немедленно станет душно. Однако, планируя новый офис, мы сразу понимали, что это будет open space. Осознавая все минусы, мы заранее начали думать о том, как сделать будущий open space максимально комфортным для работы наших коллег. Разумеется, настроены были скептически, а кто-то считал, что это просто невозможно. 

                    Long story short, спустя почти год после переезда я могу смело заявить, что новый офис в разы лучше прошлого. Мои коллеги говорят, что у них возникает ощущение дома, когда они приходят на работу. Под катом мы расскажем подробнее о том, как придумывали для себя Lamoda Home, что нам удалось сделать хорошо, а над чем еще придется поработать. Надеюсь, наш опыт пригодится тем, кому в ближайшее время предстоит подобный подвиг.



                    Читать дальше →
                  • Строим домашний CI/CD при помощи GitHub Actions и Python

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

                    Читать дальше →
                  • RabbitMQ против Kafka: отказоустойчивость и высокая доступность

                    • Перевод


                    В прошлой статье мы рассмотрели кластеризацию RabbitMQ для обеспечения отказоустойчивости и высокой доступности. Теперь глубоко покопаемся в Apache Kafka.

                    Здесь единицей репликации является раздел (partition). У каждого топика один или несколько разделов. В каждом разделе есть лидер с фолловерами или без них. При создании топика указывается количество разделов и коэффициент репликации. Обычное значение 3, это означает три реплики: один лидер и два фолловера.
                    Читать дальше →
                    • +42
                    • 19k
                    • 3
                  • Разбор задач Одноклассников на Joker 2019



                      С 28 по 29 октября в Санкт-Петербурге проходила Joker 2019 – самая большая и хардкорная на просторах России конференция, посвященная Java-разработке. Мероприятие проходило в седьмой раз и как всегда побило рекорд по посещаемости, в этот раз мероприятие привлекло более 2000 специалистов.

                      Одноклассники традиционно принимают участие в Joker в качестве партнеров мероприятия. В этом году на нашем стенде можно было попробовать справиться со знаменитыми «нерешаемыми» задачами от ведущих инженеров OK.RU. Участники конференции, правильно ответившие на вопросы, получили призы.

                      Справедливости ради надо сказать, что из 1 000 листочков с задачами, которые мы раздали, обратно было получено менее 100. Лучшим оказалось решение, набравшее 4.5 балла из 5 возможных.

                      Мы публикуем задачи и их решения, чтобы вы смогли проверить свои силы.
                      Читать дальше →
                      • +32
                      • 8,5k
                      • 7
                    • Создание многомодульного Gradle проекта SpringBoot + Angular в IDEA

                      Достаточно часто в моей практике используется связка Spring + Angular. Хочу поделится своим опытом по подготовке подобного проекта в среде разработки IntelliJ IDEA.


                      Создаем пустой Gradle проект


                      Для начала создадим пустой Gradle проект в IDEA, при этом снимите все галочки библиотек и фреймворков.




                      Пусть наш артефакт будет «demo», а группа «com.habr». После создания проекта будет автоматически сгенерировано файлы settings.gradle и build.gradle со следующим содержанием:

                      Читать дальше →
                      • +19
                      • 8,2k
                      • 8