• Быстрый перевод из мессенджеров — QIWI Кошелек Android

      Привет!

      Меня зовут Алексей, я разработчик в компании QIWI.

      TL;DR

      Как перебросить из мессенджера сразу на платежную форму:

      1. В манифест помещаем пустую Activity c intent-filter вида ACTION_VIEW и ACTION_DIAL со схемой “tel”.
      2. В activity перебрасываем на форму оплаты через существующий deeplink, обогатив его данными из оригинального intent-а “tel:XXXXX”



      Профит: по клику на подсвеченный номер телефона в мессенджере человек попадает на форму перевода с заполненным полем получателя перевода.
      Бонус: расскажу, как красиво включать эту фичу, не имея возможности изменить список intent-filter в манифесте в рантайме.

      Зачем?


      Читать дальше →
      • +11
      • 2,1k
      • 5
    • Третья неделя удалёнки — полёт нормальный. Отзывы ребят из IT QIWI о полноценной работе из дома

        Привет!

        Пару недель назад мы бодренько перевелись на удаленку. Как и большинство из вас.

        Главные сложности были в самые первые дни, когда в срочном режиме надо было быстро организовать удаленные рабочие места для многих пользователей. На сегодня у нас онлайн (читай «работают удалённо и в сети») в среднем 1100 пользователей. До всеобщего перехода на удаленку это число редко превышало 400.



        Мы собрали реальные отзывы наших сотрудников о работе в условиях удаленки, дабы узнать плюсы и минусы и сделать выводы. Для чистоты эксперимента обратная связь собиралась анонимно. Мнения сисадминов, ведущих разработчиков, QA и остальных — под катом. Вместе с опросом.
        Читать дальше →
      • Новая QIWI Кухня — уже 5 марта. Москва, AGLOFT

          Привет!

          Через 2 недели, 5 марта, мы проведем нашу новую QIWI Кухню.

          .
          Как это было в 2019

          В этот раз собираемся в AGLOFT, это м. Тульская, Варшавское шоссе, 33с3. Вход бесплатный, но регистрироваться лучше заранее (регистрация закрывается 29 февраля). Сделать это можно по ссылке.

          Говорить будем о разном: о дизайне в целом и о том, как и зачем научить дизайну разработчика, как проводить встречи продуктивно, а не как всегда, про нетворкинг и HR. Собственно, мы даже в этот раз специально разделим пространство на 4 секции, чтобы вы могли выбрать нужные и интересные для вас темы. Вот как это будет.
          Читать дальше →
        • Автоматизация тестирования ПО QIWI-терминалов

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

            Сегодня поговорим на специфическую тему: автоматизация тестирования ПО для терминалов самообслуживания QIWI.

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

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

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


            QIWI-терминал в 2020. На заднем фоне можно увидеть его начинку.
            Читать дальше →
          • Cassandra. Как не умереть, если знаешь только Oracle

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

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

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



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

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

                Привет! Меня зовут Паша Черняк, я ведущий разработчик в QIWI, и сегодня я хочу поговорить о неизбежном. О Legacy.

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



                Прежде чем переходить к тому, как мы в QIWI работаем с нашими Legacy-сервисами, я расскажу, как мы навели порядок с сервисами в Кошельке. Вот уже два года я отвечаю за его работоспособность. Если есть какая-то проблема, то всегда в первую очередь звонят мне. Мне обычно не хватает наглости в 11 часов вечера позвонить кому-то еще, поэтому приходилось садиться и разбираться во всех сервисах нашего домена.

                Но я, как и любой человек, люблю спать по ночам, поэтому пытался разобраться с эксплуатацией: «Ребята, а почему вы мне звоните?». На что получил вполне лаконичный ответ вида «А кому еще?». Потому что я сервисы чиню, а еще ребята банально не знают, кому звонить.

                Поэтому на одной из ретроспектив команды бекэнда Кошелька мы решили, что нужно составить табличку, на которой написан список наших сервисов, микросервисов и монолитов кошелька, и ответственных за них. Таблички это вообще полезно, в разумных пределах.
                Читать дальше →
                • +18
                • 4,2k
                • 2
              • QIWI Server Party 5.0

                  Привет!

                  Мы собираем QIWI Server Party в пятый раз — уже через 10 дней, 17 октября, мы соберемся на улице Правды, дом 24 стр. 3.

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


                  Читать дальше →
                • О славном саппорте замолвите слово (24 сентября, Москва)

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

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


                    Когда подарил сотруднику поддержки кружку с флешкой на день программиста

                    Во вторник, 24 сентября, мы поговорим именно об этих ребятах и их деле. В офисе QIWI (м. Чертановская), вход свободный, но надо зарегистрироваться.

                    Под катом — программа митапа.
                    Читать дальше →
                  • Персонализируй это: как мы в QIWI работаем с рекомендациями

                      Всем привет!

                      Меня зовут Лидия, я тимлид небольшой DataScience-команды в QIWI.

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

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

                      Однако, откуда берется тот самый контент или предложение? Если вы впервые погружаетесь в темные воды машинного обучения, то наверняка столкнетесь с вопросом – с чего начать и как выявить те самые интересы клиента. Чаще всего при наличии большой базы пользователей и отсутствии знаний об оных возникает желание пойти по двум популярным путям:

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

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



                      2. Обжегшись на варианте #1, часто выбирают вариант unsupervised-анализа без обучающей выборки.
                      Читать дальше →
                    • Как мы в QIWI пришли к единому стилю взаимодействия между View и ViewModel в рамках MVVM

                        Изначально весь проект был написан на Objective-C и использовал ReactiveCocoa версии 2.0


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


                        И вот настало время использовать Swift. Поначалу мы решили попробовать вообще без реактивщины.

                        Читать дальше →
                        • +17
                        • 4,2k
                        • 9
                      • Поездка в call-центр и Product Backlog глазами разработчика

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

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

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


                          На работу в поля
                          Жюль Бретон


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

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

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



                            Вот еще ситуация: меняется API, нужно срочно бежать в отдел бэкенда узнавать подробности, потом обратно к фронтам (iOS / Android / web). Дальше, обсудив с фронтами свои корректировки, нужно идти обратно к бэку и говорить наши требования. Это очень изнуряло, терялось время команд, отдельного разработчика и нервы всех заинтересованных людей.

                            Меня зовут Валерий, наша команда занималась QIWI Кошельком под iOS. Но всегда нужно было держать коммуникации с другими командами, иначе получался полный рассинхрон. Что касается наших неудобств, то бизнес всегда идет навстречу и дает свободу для экспериментов. Поэтому встал вопрос об изменении существующей структуры. Благоприятной средой для тестирования наших идей по изменению был скрам. Каждые две недели мы внутри платформы могли редактировать курс, чтобы это хоть как-то согласовывалось с другими командами. На проверку теорий давалось много времени. От месяца до полугода. Какие варианты мы перепробовали:
                            Читать дальше →
                            • +20
                            • 2,9k
                            • 8
                          • 25 июля, Москва — QIWI iOS Meetup

                              Привет!

                              Кроме нашей QIWI Кухни для дизайнеров, Server Party для разработчиков и митапов по JS, мы проводим митапы и по iOS. Ближайший будет в Art-space (м. Павелецкая) — 25 июля, в четверг, стартуем в 18.00, закачиваем в 22.00 (спикеры до 21.00).



                              Вот на этой странице можно заранее бесплатно зарегистрироваться, а под катом — программа мероприятия. Онлайн-трансляция появится в день митапа.
                              Читать дальше →
                            • Быть ментором

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



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

                                Этих людей часто объединяет то, что в свое время им попался плохой учитель в школе или плохой ментор уже на карьерном пути.

                                Быть плохим ментором легко. Плохого ментора заметить бывает сложно, с виду он может казаться хорошим и не понимать, что он делает ошибки.
                                Читать дальше →
                              • Прокачиваем дизайнеров в компании: от джуниора до арт-директора

                                  Вольный пересказ лекции Александра Ковальского с нашей прошедшей QIWI Кухни для дизайнеров

                                  Жизнь классических дизайн-студий начинается примерно одинаково: несколько дизайнеров делают примерно одни и те же проекты, а значит и их специализация примерно одинакова. Тут все просто — один начинает учиться у другого, они обмениваются опытом и знаниями, совместно делают разные проекты и находятся в одном инфополе.



                                  Сложности начинаются в тот момент, когда появляются новые бизнес-юниты, модель студии меняется на модель агентства или продуктовой команды. Растет число специалистов, а их скиллы перемешиваются настолько сильно, что уследить за ними становится практически невозможно. Мы столкнулись с этой проблемой, когда помимо традиционного веб-дизайна у нас появились команды сервисного дизайна и брендинга, началось формирование зарубежной UX-команды. Встал вопрос, как оцифровать их знания, привести к единой системе и сделать для каждого индивидуальный план прокачки навыков.
                                  Читать дальше →
                                  • +13
                                  • 6,6k
                                  • 1
                                • 23 мая, 18:30 — прямая трансляция QIWI Кухни

                                    Всем привет!



                                    Уже завтра, 23 мая, стартует наша очередная QIWI Кухня для дизайнеров. Напоминаем, что будет вестись онлайн-трансляция, доступная по этой ссылке.

                                    Вас ждут выступления вот этих ребят:

                                    18:30–18:55 Юля Урасова (QIWI, руководитель дизайнеров)
                                    Расскажет, что дизайнер точно должен понимать в аналитике, и даст инструкцию, как прокачаться.

                                    18:55–19:20 Вова darkspi Зимин (Почта России, дизайн-директор)
                                    Подскажет, с чего начать менять олдскульные продукты, когда нужно менять ВООБЩЕ ВСЁ.

                                    Перерыв 15 минут
                                    Читать дальше →
                                  • История одного молодого сервиса Daida (искусство по подписке)

                                      Привет! Мы начинаем публикацию докладов с QIWI Кухни, и первым будет доклад Абсамата про его сервис искусства по подписке. Слово спикеру.

                                      Меня зовут Абсамат, я партнер сервис-дизайн агентства Useful, а еще я параллельно делаю сервис DaiDa, который позволяет людям брать в аренду предметы искусства, а именно — картины разных художников.



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

                                      Есть такая штука как PMF, product/market fit. Определений этому много, если вкратце — это соответствие вашего продукта ожиданиям рынка и аудитории. То, насколько он вообще нужен и будет ли востребован. Понять, достигли PMF или нет, просто — если вы видите кратный и постоянный рост пользователей и понимаете за счет чего он происходит — PMF у вас есть, тут трудно ошибиться.

                                      Мы как стартап PMF не нашли, мы все еще в процессе. А что касается идеи, то у нас все было вот как.
                                      Читать дальше →
                                    • Открываем API для приема p2p-переводов

                                        Привет!

                                        Мы тут в QIWI открыли API приема переводов. Новый сервис должен решить сразу несколько проблем для тех, кто часто посылает (а особенно — получает) деньги именно посредством p2p-перевода. Во-первых, мы открыли возможности, ранее доступные только для бизнеса, и постарались сделать процесс безопасным, быстрым и удобным, а во-вторых, хотим снять риски вида «Мне тут за работу заплатили и банк счет поблочил».


                                        Зачем все это вообще и как именно мы это сделали, а еще про возможность получить от нас до 3 миллионов рублей в рамках QIWI Universe — под катом.
                                        Читать дальше →
                                      • Москва, 18 апреля — QIWI SERVER PARTY 4.0

                                          18 апреля, в четверг, мы снова собираем митап QIWI SERVER PARTY.

                                          На митапе подробно обсудим не только технические вопросы, но и поговорим о том, нужны ли хорошим программистам soft skills, на каких ошибках мы научились, обучая стажеров, и нужен ли сотруднику ментор, или достаточно менеджера.



                                          О чем поговорим:


                                          • Зачем разработчику писать автотесты;
                                          • Метрики: как перестать бояться и начать понимать свою систему;
                                          • Soft skills и работа в команде;
                                          • Техническая устойчивость продукта при совместном владении кода;
                                          • Почему не обязательно ограничивать себя рамками одной технологии или языка программирования;
                                          • Менторство и обучение стажеров — как не надо делать.

                                          Подробнее о докладах — под катом.
                                          Читать дальше →

                                        Самое читаемое