Rnd команда что это
Перейти к содержимому

Rnd команда что это

  • автор:

Зачем нужен RnD в технологическом стартапе? На примере Watts Battery

Чтобы технологический стартап был успешным, нужно, в первую очередь, озаботиться созданием и развитием RnD (Research and Development) департамента (или по-русски – научно-исследовательского и опытно-конструкторского подразделения). Это мозги и сердце компании, это центр, где рождаются идеи, которые потом воплощаются в жизнь.

1. Как устроен исследовательский отдел в Watts Battery

70% сотрудников нашей компании – это RnD департамент, где работают инженеры-исследователи, дизайнер, архитектор, конструкторы и технологи; разработчики силовой электроники, программисты системы управления и облачных сервисов. Один из наших сотрудников, например, занимался разработкой системы питания и управления ионно-плазменным двигателем для исследования дальнего космоса, другой — был дизайнером-конструктором первого социального коммуникатора Cybiko для школьников и студентов, еще один — занимался разработкой системы навигации для гражданских самолетов, которые до сих пор используются в гражданской авиации. Есть и разработчики передовых смартфонов, люди с опытом внедрения технологий ИИ в медицине и т.д. У каждого за плечами есть практически реализованные и выпущенные в серии продукты, появившиеся, как результат научных исследований.

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

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

Что ещё делают RnD-специалисты, кроме разработки новшеств

Раскрываем все карты: что делают RnD-специалисты на работе и как устроены исследования в RnD-отделе Ростелекома.

Данил Мусин
системный инженер ПАО «Ростелеком»

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

В RnD-команде мы исследуем инструменты, чтобы эффективно интегрировать их с внутренними продуктами компании — у разработки обычно нет на это времени. Также проверяем дополнительные критерии и требования, добавляем специфичные параметры, то есть задача приходит в усложнённом виде.

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

Формируем исследование

Из предложенных гипотез мы прорабатываем задачу. Например, коллегам из ЦХД, которые налаживают передачу данных между различными системами компании, нужно было найти open source ETL-инструмент как замену CDC и Informatica, чтобы одним продуктом обеспечить импортозамещение имеющихся. Так как один из часто используемых CDC-пайплайнов — это захват данных из санкционного Oracle и выгрузка в Postgres и GreenPlum.

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

● наличие удобного UI, чтобы программистам было интуитивно понятно, как пользоваться инструментом;

● открытый исходный код;

● возможность подключения сторонних JDBC-драйверов и планировщик заданий.

Так, удалось вычеркнуть больше половины: где-то не было UI, где-то поддержки JDBC, где-то отсутствовала ролевая модель или интеграция с Active Directory. Какой-то инструмент запускался только скриптами — а планировщик заданий был неинтерактивный.

Что ещё делают RnD-специалисты, кроме разработки новшеств 1

Изучаем документации продуктов и сокращаем количество вариантов

У нас осталось 5 продуктов вместо 25, их документации мы исследовали уже пристальнее. Нужно было проверить:

А также убедиться, что со всеми источниками действительно можно подключиться по разным протоколам: по JDBC, ODBC, через PXF. Дополнительно проверить наличие ролевой модели, возможность работать через API. Так, мы устанавливали, настраивали, пересобирали из исходников, интегрировали одни пакеты с другими.

Остановились на Apache NiFi. У него нет такого понятия, как пакеты, он не видит сырые данные. Они обрабатываются в другом формате, и инструменту требуется постоянная загрузка данных через свою очередь сообщений, чтобы выкачать их в другую систему. Это вызывает дополнительную нагрузку, поэтому ему нужна большая архитектура, инфраструктура для работы с большим объёмом данных.

Мы всё это зафиксировали и предоставили заказчику сводную таблицу со всеми факторами и объяснениями, почему остальные варианты не подходят и лучше оставить только NiFi. Да, инфраструктуру придётся создавать, зато он оказался самым подходящим по всем параметрам.

Документируем исследования (иногда это самое сложное)

Главное — задокументировать все результаты и метрики и подробно описать шаги, которые мы предпринимали, и ошибки, которые случались.

Был кейс, когда нам нужно было выявить для RT.DataLake (хранилище данных) с какими версиями файлов работают различные версии нашего Hadoop-кластера — Sqoop, Spark, Hive, NiFi. Чтобы они поддерживали и чтение, и запись в один тот же формат. А также проверяли, с каким именно форматом и версией они работают.

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

Что ещё делают RnD-специалисты, кроме разработки новшеств 2

У Avro (строковый формат хранения) нет специализированного формата файлов, там просто версии схем. Это никак не влияет на чтение и работоспособность. Есть различные версии библиотек, которые могут читать этот файл. Мы взяли не версию Avro, а версию файлов библиотеки, которая обрабатывает эти файлы.

Для ORC (столбцовый формат хранения) мы проводили запись через Hive в таблице ORC. Прочитать исходные ORC-файлы не получилось, поэтому мы записывали из NiFi в ORC-файлы через HDFS, а считывали с помощью NiFi через Hive.

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

Также мы проверяли и сравнивали версии Parquet — с этим форматом было меньше всего проблем. У него во всех продуктах используется версия 1.0, а отличия только в номере сборки. Поскольку формат Parquet часто применяют в Big Data-решениях, то мы быстро нашли инструкцию по проверке в каждом из ПО, и сложностей не возникло.

Что ещё делают RnD-специалисты, кроме разработки новшеств 3

В конечном счёте получили таблицу, которую занесли в Confluence

Аргументируем бесполезность инструментов

Заказчик предложил изучить, подходит ли eMondrian — форк Mondrian от зарубежной компании Pentaho, которая закрыла исходники — для внедрения в наш прод в рамках дополнительного функционала работы с OLAP-кубами с использованием Excel, OpenOffice и LibreOffice.

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

Что ещё делают RnD-специалисты, кроме разработки новшеств 4

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

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

Делимся экспертизой с коллегами на демонстрациях

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

Что ещё делают RnD-специалисты, кроме разработки новшеств 5

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

В RnD не обязательно знать всё

Первое время в RnD-отделе может быть страшно: постоянно нужно быть в курсе новых трендов, кажется, что нужно знать абсолютно все продукты досконально, чтобы от тебя был толк. Но знать всё невозможно. Зато можно выработать методологию отбора инструментов и шкалу оценок, которые помогут стандартизировать процесс исследования. Тогда страх быстро развеется.

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

Функция Rnd

Возвращает значение Single , содержащее псевдослучайное число.

Синтаксис

Rnd [ (число) ]

Возвращаемые значения

Если number имеет значение Rnd создает
Меньше нуля Одно и то же число каждый раз, используя число в качестве начального значения.
Больше нуля Следующее число в псевдослучайной последовательности.
Равно нулю Самое последнее созданное число.
Не предоставлено Следующее число в псевдослучайной последовательности.

Замечания

Функция Rnd возвращает значение, меньшее 1, но большее или равное нулю.

Значение Number определяет, как Rnd создает псевдослучайное число:

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

Для получения случайных целых чисел в данном диапазоне, используйте следующую формулу:

Int((upperbound - lowerbound + 1) * Rnd + lowerbound) 

Здесь upperbound представляет собой самое большое число в диапазоне, а lowerbound — самое маленькое.

Для повтора последовательностей случайных чисел вызывайте функцию Rnd с отрицательным аргументом непосредственно перед использованием оператора Randomize с числовым аргументом. Использование randomize с тем же значением для number не повторяет предыдущую последовательность.

Пример

В этом примере используется функция Rnd для создания случайного целого значения от 1 до 6.

Dim MyValue As Integer MyValue = Int((6 * Rnd) + 1) ' Generate random value between 1 and 6. 

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Обратная связь

Были ли сведения на этой странице полезными?

Обратная связь

Отправить и просмотреть отзыв по

Зачем современному классическому бизнесу R&D команда на IT-решения?

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

А вообще, не так уж и давно, решения R&D в IT стали определенным шагом вперед для украинского IТ.

Что это такое — R&D?

R&D (research and development) — это уникальные решения, которые являются абсолютными инновациями (их никто до вас не делал). К примеру, интернет магазин, в котором ты сможешь рассчитаться FACE ID. R&D это то, что помогает организациям занять новую нишу на рынке путем создания нового дополнения к их продукту. Бизнес, преследующий инновации, в результате обгоняет конкурентов и занимает высокое место на рынке.

Даже у многих крупных компаний уже есть свой R&D центр в Украине (Samsung, Siguler Guff, NetCracker и многие другие).

Вообще есть две R&D задачи:

  1. Тщательно изучать рынок и быть в курсе всех инновационных инструментов, методов.
  2. Предлагать клиенту такие идеи и экспертизу, которую им не могут дать другие (R&D работники уже знают больше чем заказчик).

Поэтому, R&D — это определенная научно-исследовательская работа. Что же такое НИОКР тогда? НИОКР это работы, которые включают в себя и исследования и разработку инновационного продукта. То есть, это и есть R&D перевод на русский. Поэтому если видите эту аббревиатуру рядом с research and development, не паникуйте.

Структура отдела R&D позволяет:

  • Выявлять новые технологии для инновации продукта, что обеспечит бизнесу новое место на рынке;
  • Разрабатывать новые продукты, услуги, патентные решения;
  • Внедрять IТ решения на международных рынках.

R&D компания, по сути, помогает организациям внедрить новые технологии, обеспечить им успешное IТ будущее. R&D — это способ идти со временем в ногу, быть в тренде и сделать свой продукт современным и инновационным.

R&D команда InDevLab

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

Background

Предыдущий

GDPR для бизнеса: проблема или решение?

Следующий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *