• Раскладка Дворака — личный опыт

      Пытаясь усовершенствовать свою работу, чуть больше семи лет назад я пришел к раскладке Дворака и пользуюсь ей до сих пор. Хотя мне пришлось пойти на компромисс и отказаться от Дворака для программистов в пользу “классического”, в целом мне очень нравится, как спроектирована эта раскладка. Однако спроси меня сейчас, стоило ли оно того, я не порекомендую переходить. 

      Под катом о том, как я переучивался и с какими трудностями эксплуатации столкнулся. Напоследок несколько выводов по итогам 7 лет эксплуатации.

      Читать далее
    • Docker для самых маленьких автоматизаторов

        Привет, меня зовут Руслан, я руковожу тестированием в Максилекте. Сегодня поговорим о базовых понятиях Devops, которые пригодятся автоматизатору. Расскажу про CI/CD в целом - что это такое и для чего оно нужно, а также про Docker. Объясню на пальцах, как развернуть тестируемый сервис в Docker-контейнере и пробросить к нему порты, как запустить тесты снаружи или внутри контейнера.

        Читать далее
        • +3
        • 10.6k
        • 6
      • Оцениваем работодателя на собеседовании. Как понять, что за компания перед тобой?

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

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

          Читать далее
        • Один рабочий день QA

            Привет, Хабр! Меня зовут Юра, я автоматизатор тестирования. Координирую пятерых автотестировщиков, которых сам же до этого и обучал.

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

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

            Читать далее
          • Уточняем детали проекта методами практической психологии

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

              Текст написан по материалам внутреннего тренинга, который я проводил в нашей компании в начале февраля.

              Читать далее
            • AspectJ в автоматическом тестировании — несколько практических примеров

                Мне понравился механизм аспектно-ориентированного программирования (АОП), который используется в Allure Framework для перехвата выполнения тестовых шагов, отмеченных аннотацией @Step. И я попробовал применить его в автотестировании, не подключая к тестам таких монстров, как Spring или Guice.

                Под катом несколько полезных примеров использования аспектов.

                Читать далее
              • Kafka Streams — непростая жизнь в production

                  Привет, Хабр! Вокруг меня сформировался позитивный информационный фон на тему обработки событий через Kafka Streams. Этот инструмент привлекает множеством видео-докладов и статей на Хабре, подробной документацией, понятным API и красивой архитектурой. Некоторые мои знакомые и коллеги разрабатывают с его помощью свои системы. Но что происходит с в реальной жизни, когда эти системы уходят в production?

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

                  Читать далее
                • Почему мы ввели онлайн развлечения для удаленщиков в пандемию, хотя раньше этого не делали

                    Предновогоднее время отлично подходит для подведения итогов. В этом году под конец декабря хотим рассказать о некоторых преобразованиях, на которые нас толкнул “суровый 2020”. 

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

                    Читать далее
                  • Удаленная работа и отпуск. Вместе “веселее”?

                      Этот год перевернул все планы с ног на голову. Закрытые границы, локдаун, а потом и затянувшаяся у многих удаленка… 

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

                      Читать далее
                    • Разбираем шесть антипримеров построения удаленки

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

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

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

                        Читать далее
                        • +12
                        • 6.1k
                        • 8
                      • Как заставить Arduino петь как ZX Spectrum. Часть 2: музыка Dizzy IV на Arduino Nano

                          В этой части статьи мы перейдем к самому интересному - будем разбирать музыкальный модуль Dizzy IV по винтиками и воспроизводить мелодию сначала на Windows, а потом и на Arduino Nano. За подробностями добро пожаловать под кат.

                          Читать далее
                          • +11
                          • 5.5k
                          • 8
                        • Как заставить Arduino петь как ZX Spectrum. Часть 1: исторический экскурс

                            ZX Spectrum 128 и его многочисленные клоны имели встроенный звукогенератор AY-3-8912, благодаря чему как зарубежные музыканты, так и наши соотечественники успели написать огромное количество музыки под этот компьютер.

                            В двух частях этой статьи, приправленных щепоткой ностальгии, мы вспомним основные способы звукоизвлечения на ZX Spectrum 128, обозначим характеристики “музыкального сопроцессора” AY-3-8912, перечислим наиболее известные музыкальные редакторы, продизассемблируем музыкальный модуль от популярной игры Dizzy IV и воссоздадим его на Arduino. Приглашаем под кат всех любителей компьютерной музыки, DIY, а также тех, кто заинтересовался, почему словосочетание “музыкальный сопроцессор” мы взяли в кавычки.

                            Читать далее
                          • Один день удаленного тимлида на бэкенде

                              Привет, Хабр! Я - бэкенд разработчик на удаленке из Максилекта. Сейчас я работаю на внутреннем проекте компании, который мы реализуем совместно с партнером из Румынии. На собственных проектах с высокими нагрузками и ограниченными серверными ресурсами бывает всякое. Иногда у нас идет размеренная работа, а в другой момент мы целый день горим в пожарах на продакшене. Но в отличие от многих других проектов, здесь есть свобода выбора архитектуры, а вся ответственность за принятые технические решения на тебе. Каждое твое улучшение может привести к тому, что для обработки входящего трафика потребуется на один сервер больше или, наоборот, на один меньше. Это и воодушевляет, и влияет на всю твою работу, вплоть до распорядка дня. Продолжая рассказ своего коллеги с фронта, в этой статье я расскажу, как выглядит мой рабочий день.

                              Читать далее
                            • Robot Framework vs Pytest

                                Я активный сторонник Robot Framework. Уже писал на Хабре о том, что с его помощью можно решить практически любую задачу по автоматизации тестирования, особенно когда разработка ведется на Python. В той же статье я упоминал, что на смежных проектах в компании используется Pytest. Мне пришлось довольно близко познакомиться с этим инструментом, так что теперь я готов провести его полноценное сравнение с Robot Framework, конечно же, со своей персональной колокольни.

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

                                  Уехать в другую страну, работая удаленно? Легко! Но я сделал иначе. Я переехал из Краснодарского края в Валенсию (Испания), имея опыт только офисной работы. И лишь потом устроился удаленно, причем в российскую компанию.

                                  Как и почему так получилось - под катом.

                                  Читать далее
                                • Что кроется за “проактивностью” в ИТ-вакансиях?

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

                                    image
                                    Читать дальше →
                                  • Как не закопаться в рефакторинге на фронте. Советы новичку

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

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

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

                                      image
                                      Читать дальше →
                                    • Чем отличается сениор от миддла, или как второму стать первым

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

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

                                        image
                                        Читать дальше →
                                      • Борьба за производительность по-настоящему больших форм на React

                                          На одном из проектов мы столкнулись с формами из нескольких десятков блоков, которые зависят друг от друга. Как обычно, мы не можем рассказать о задаче в деталях из-за NDA, но попробуем описать свой опыт “укрощения” производительности этих форм на абстрактном (даже немного не жизненном) примере. Расскажу, какие выводы мы сделали из проекта на React с Final-form.

                                          image

                                          Представьте, что форма позволяет вам получить заграничный паспорт нового образца, одновременно оформляя получение Шенгенской визы через посредника – визовый центр. Кажется, этот пример достаточно бюрократичен, чтобы продемонстрировать наши сложности.
                                          Читать дальше →
                                        • Один день удаленного фронтендера

                                            Я недавно стал тимлидом на одном из проектов нашей компании.

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

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