Усилитель своими руками (ворклог)

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

Электроника для усилителя
Фактически вся электронная мелочь нашлась дома, специально покупались только микросхемы усилителей и выключатели с разъёмами для наушников. Платы делал и разрабатывал сам, кроме той — что для индикатора, эту я нашёл в сети. Так как у меня уже есть небольшой опыт в постройке электронных устройств, то для меня это не составило особого труда. Даже я бы сказал было интересно вспомнить молодость.
Радиатор найден в закромах от какого то старого усилителя. Немного пришлось кастрировать (сильно был великоват), длительным прогоном на максимальной мощности я был удовлетворён результатом. Нагрев не критический, даже я бы сказал не очень сильный и это не смотря на то — что на этом же радиаторе я разместил микросхемы стабилизатора питания для усилителя. На фото сейчас видны именно они. Всего стоит 7 шт, одна держит 1А получается вместе 7А. Усилок прожорливый при замерах показал ток потребления 5А.

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

Смонтирован усилитель, микросхема TDA 7265 схема собрана по дашиту с небольшими доработками для своих нужд, лупит честных 2х25W не HI — END конечно но для компа чтобы ухи были довольны вполне достаточно, в конце концов если захочется чего посерьёзнее то в компе есть цифровой выход, и его можно сконектить с ресивером. Реле коммутирует АС (кнопка на панели только включает релюшку). Это не безосновательно обусловлено тем — что контакт у реле более надёжный, чем у переключателя. Это я знаю уже по своему опыту.

Для наушников сделан отдельный небольшой усилок 2х5W чуток великоват по мощности конечно, но зато на 100% прокачает любые наушники, прослушивание мощных больших наушников оставило положительные впечатления, микросхема нагревается на большой громкости достаточно сильно так что потом при конечной сборке я думаю наклеить небольшой радиатор от греха. Отдельный усилок я сделал потому, что не хотел чтобы в звуковом тракте присутствовали ограничители типа резисторов и т.п. которые пришлось бы ставить если брать сигнал от основного усилителя. А тут сигнал сразу после усиления поступает на звукоизлучатели без ограничения, что положительно сказывается на качестве безусловно.

Это простая схема управления индикатором выходной мощности. Нашёл в сети случайно, сначала хотел собрать на специализированной для этого микросхеме К157ДА1, но к сожалению беготня по радиомагазинам результата не дала и я скидал схему на транзисторах. Схема от какого то совкового магнитофона.

Это плата разводки питания. Так же на ней стоят реле для коммутирования питания (я не стал заморачиваться с электронными ключами решил пойти по лёгкому пути). Стабилизаторы на самодельном радиаторе 12V для питания усилителя наушников и второй на 5V для светодиодной подсветки.

Набор деталей для блока питания. Корпус от какого то принтера найденный к «полезных вещах» дома, трансформатор подогнал корефан ( кстати ему отдельное офигительное спасибо за такой элемент..транс не смотря на свои небольшие размеры при прозвонке показал неожиданные результаты : при 25V он стабильно без нагрева фигачил 10А. ) На фото также выделяется реле стартёра от автомобиля. Тоже найдено дома, им предполагается включать усилитель с помощью компьютера. Берём с компа 12V и вуаля. Это чтобы не париться каждый раз с включением и выключением усилка, он будет управляться с компа и работать синхронно с ним. Для обычной работы без компа поставлю на задней стенке выключатель который коротит контакты реле и исключает его из схемы.

Монтаж блока питания получился очень плотный.

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

Напилив детали по размерам, скрутил всё на саморезы.

Стыки перед сборкой промазал клеем для надёжности.

Вырезал отверстия для установки элементов управления и индикации.

Необработанные края смотрятся не очень. Ручным фрезером произведена обработка торцов.

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

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

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

В итоге получилась красивая полированная поверхность, которая получилась круче чем на рояле или пианино.
Контактная Панель
Выключателей и разъёмов минимум, только самое необходимое. Зачем усилку мощности лишние прибамбасы? Все настройки есть в звуковой карте компа.
Выключатель «Сеть». Выключатель акустических систем, сигнал на наушники постоянный независимый от того включены колонки, или нет — это тоже часть задуманного плана. Сейчас не найдёшь усилителя с такой схемой, даже серьёзные рессиверы делают по принципу «воткнул наушники и нет сигнала на АС», а раньше все усилки делались именно по такой схеме, как сделал я. Не знаю кому то может удобно и наоборот, но для меня такая схема распределения сигналов очень актуальна.
Отверстия под выключатели выбраны коронками по дереву. Так же коронкой большего диаметра выбрана юбка вокруг отверстия, для того чтобы подсветкой подчеркнуть выключатели (царапанная и необработанная поверхность органики преломляет свет).

Установлены так же разъёмы для наушников. Причём обязательно разных диаметров Jack 3,5 мм и Jack 6.3 мм чтобы потом не париться со всякими переходниками. С каким штекером есть наушники с таким и спокойно без заморочек- втыкаешь.

Покраска сначала серебрянкой для равномерного рассеивания света и потом краской чтобы не подсвечивать всё что находится вокруг панельки.

4 светика и вот конечный результат, внутрь гнёзд для наушников тоже по светодиоду для общей картины.

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

Корпус делал из того — что попалось под руку в куче хлама на балконе.

Шкала нарисована в программе Фронт Дизайнер, с последующей доработкой в Корел Драв, потому что первая фигово дружит с разными шрифтами, а нужно было написать поинтереснее.

Защитные колпачки для механических частей индикатора исполнены из горлышек пивных бутылок (сисек), удачно употреблённых по ходу дела.

Уже нарисовывается общая картина будущего изделия.

Примерка индикаторов. Потом они убраны подальше до конечной сборки прибора ( очень нежные детали, легко можно испортить).

Для управления спаян усилитель напряжения чтобы не было влияния на звуковой тракт и работа была корректной. Проверяем — всё зашибись, работает отлично. Схема найдена в сети от какого то совкового советского мафона, по моему Весна я не запоминал.

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

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

Регулятор Громкости
Регулятор конечно хотелось сделать классический, большой круглый, обязательно не кнопочный.. Чтобы при соприкосновении и вращении чувствовалось что маешь вещь, а не какое-нибудь игрушечное китайское барахло. На энкодере регулировка у меня отпала сама собой, нужна была подсветка положения на ручке, а бесконечно вращать с проводом её не получится. В общем я не стал заморачиваться и решил сделать на переменном резисторе. В конце концов если начнёт шкрипеть его поменять 5 сек.
И так к вашему вниманию — очередной изврат..
Пошукав по дому наткнулся на тюбик с кремом. После переговоров с женой, она презентовала мне от него крышку для последующего растерзания.
По задумке планировалась подсветка на ручке для того чтобы можно было легко и быстро определить положение регулятора (особенно это актуально в темноте). Просверлено отверстие 1мм,позади в дальнейшем приделаю светик.

В середину на эпоксидку вклеена ручка от какого то старого магнитофона или приёмника (нашлась в закромах), она как родная подходила для переменного резистора.

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

После отвердевания проверяем на прочность как сидит эта якобы втулка. всё классно и крепко. можно продолжать дальше.

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

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

Шкала сделана в программе Фронт Дизайнер а надпись и символы в Корел Драв. В дизайнере так не получится мало опций.

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

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

Ножки для усилителя.
Опоры для сего изделия решено сделать в классическом стиле дизайна радиоаппаратуры — хромированные, но с небольшой изюминкой аля НЛО. У основания ножек планировалась голубая подсветка.
Делалось из того — что нашлось так же на балконе в куче хлама. Хромированная мебельная труба 25мм, органика 3мм (подогнал корефан),светики конечно ходил покупал + клей (супер-клей и эпоксидную смолу).

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

Слой органики круглой формы предусмотрен для того — чтобы потом при заливке не вытекла эпоксидка. Заготовка из трубы плотно одевается на основание.

Залит клей в формочки, и детали ждут дальнейшей обработки после отвердевания смолы.

Сам полупроводниковый элемент изначально закреплён термоклеем.

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

Так выглядит гораздо интереснее, но это ещё не всё.

Пробное включение светиков не впечатлило и было принято решение сделать рассеивающую линзу. Свет попадает на неё и рассеивается в разные стороны.

Это начальный вид без линзы.

На этом комбинированном фото виден эффект рассеивания, сделанный простой манипуляцией сверлом.

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

Краткое описание усилителя и его характеристик:
Мощность 2х25W,сделан на микросхемах TDA 7265 — это основной усилок, TDA 1517 — это усилок для наушников 2х5W,это основные. Превосходства его конечно очевидны хотя бы уже в показателях выходной мощности. Но я его делал не только для ушей, подобные экземпляры которые есть в продаже не соответствуют моим запросам вообще. и в том числе по удобству эксплуатации. Например чтобы подключить наушники с толстым штекером Jack 6,3 мм это вообще целая эпопея с переходниками и прочей ерундой, не говоря о том что они не могут в полной мере с приличным качеством просто напросто такие наушники прокачать. Внешний вид у покупных изделий оставляет желать лучшего и такие коробочки хочется убрать под стол, чтобы их не видеть ни когда, где неудобно их включать, данный усилитель лишён этого недостатка, потому что он включается и выключается синхронно с компьютером. Вся подсветка отключается кнопкой на задней стенке дабы не мешать пользоваться компьютером в темноте, после очередного включения она автоматически включается опять. Кнопки на лицевой панели «СЕТЬ» и отключение и включение АС.
Видеообзор самодельного усилителя:
Читайте также
- Поделки из дерева своими руками: фото, схемы, для начинающих
- Как изготовить неньютоновскую жидкость самостоятельно в домашних условиях
- Как сделать красивые коробки для хранения вещей: из ткани, из картона
- Поделки из гипса для сада и дома своими руками и советы по уходу
- Как сделать деревянную лодку своими руками: пошаговое руководство к действию
- Холистические подходы к лечению алкоголизма и наркомании
- Туристические путевки 2023 года по выгодным ценам в Казахстане
Жизнь — это движение! А тестирование — это жизнь 🙂
В продолжение темы о том, чтобы пустить Заказчиков в джиру.
Задачу в helpdesc поставили, админ сделал свой magic и появилась у Заказчиков возможность писать нам в общий доступ, так сказать. Чтобы каждый вопрос видела вся команда, а не только ее часть, подписанная на customer@support .
В итоге мы начали активно использовать галочку «Restriction to Workers», дабы попрятать комменты, не имеющие смысла для Заказчика. И даже скрыли от него закладку «Журнал работ» (где ты пишешь, сколько времени потратил и на что, и было ли это интересно), зачем ему смотреть наши ворклоги?
Однако я ходила и думала. Вот, скрыли мы свои комменты «Ага! А я говорил — потестить внимательно!!», «Да тестила я. «. В джире их не видно будет. А вдруг email нотификации придут? о_О
Не доверяю я задачкам, закрытым без тестирования ))))
В общем, думала, думала, пошла к админу, докопалась — проверял? Нет.
— Давай Никите доступ.
Прихожу к Никите:
— Поздравляю, ты — Заказчик! Ставь мне таск.
— Ок, не вопрос, под кем логиниться?
Создали таску, я пошла ее покомментила, что-то простым комментарием, что-то «спрятанным». Ну и ворклоги заполнила. Посмотрели на пришедшую почту — уф, с комментариями все хорошо. А ворклоги приходят! Кхе кхе кхе. «1 час, нейтрально, пыталась воспроизвести проблему». Ну бывает же такое, когда не воспроизводится? А представьте, такое сообщение Заказчику уйдет?
Таааак, бегом к админу! Снова magic, снова я химичу с тестовой задачкой и иду к нашему «Заказчику», который коллега.
— Ну, что пришло?
— А что, должно было что-то?
— Ага.
Смотрим. Пришло только «этот коммент будет виден» и «этот тоже».
— Ура, закрываем!
— А что, ты что-то еще писала?
— А ты под собой зайти и посмотри Activity Stream 🙂
Зашел. Похихикал :))
Читается оно снизу вверх, если что.

Мораль сей басни такова — не доверяй сторонним программам! Их тоже надо тестить.
Статья Ворклог реверса одной мобильной игры
Часть 1- логин сервер
Как-то раз в далеком 2017 году понадобилось мне разобрать одну популярную мобильную игру того времени- Зитву Бамков. Я уверен, многим из вас приходилось играть в нее, когда она была на пике популярности. На данный момент игра стала умирать. Разработчики отдают внутриигровые ресурсы за копеечный донат. По просьбе знакомого, и из-за обесценивания этой информации, публикую обзор полного взлома игры: от реверса, до создания альтернативного сервера и накрутки валюты гильдии, на которую даже сделали обзор некоторые ютуберы (да-да, Князь, привет). За это время у меня сохранились не все материалы, которые стоило бы использовать в статье. Поэтому в части скриншотов будет показана старая версия игры, а в части- новая. Однако мой сервер все еще работает с новой версией игры. Значит, можно надеяться, что обновления обратно совместимы
Изначально разбор игры я прототипировал на питоне, итоговая версия написана на котлине. Примеры кода буду брать из итоговой версии, благо, котлин очень интуитивный, и наглядный. Интересующиеся могут самостоятельно перенести код на свой любимый яп.
0. Анализ стека технологий, и устройства игры
Базовый этап, дающий представление о том, с чем придется иметь дело дальше
Легко заметить, что приложение написано на cocos2dx.
Например, если посмотреть smali код CastleClashActivity, можно заметить
.method public constructor ()V .locals 1 .line 50 invoke-direct , Lorg/cocos2dx/lib/Cocos2dxActivity;->()V const/4 v0, 0x0 .line 67 iput-boolean v0, p0, Lcom/igg/castleclash/CastleClashActivity;->isOfflineBack:Z .line 306 iput-boolean v0, p0, Lcom/igg/castleclash/CastleClashActivity;->isChangeAccount:Z return-void .end method
что оно наследует Cocos2dxActivity.
Cocos2dx это c++ форк игрового движка cocos2d, написанного на питоне
Если еще немного посмотреть smali код, то можно заметить, что он исключительно определяет не очень интересные функции-хелперы, и через JNI передает управление библиотеке libgame.so. Из чего можно сделать вывод, что самое интересное происходит в нативе
1. Анализ структуры траффика
Самый очевидный ход перед погружением в реверс натива. Может дать представление об устройстве механизма работы с сервером. Для этой цели буду использовать андроид приложение packet capture. Оно удобно тем, что позволяет записывать трафик только нужного приложения.
- Клиент взаимодействует с двумя серверами. Вначале стучится к логин серверу (порт 9300), у которого получает данные игрового сервера. Потом- собственно к игровому (порт 9339)
- Приложение общается с сервером через tcp сокет. Причем почему-то без ssl.
- Трафик клиента вначале идет в открытом виде, а потом начинает шифроваться. Трафик сервера всегда не зашифрован (видно по кускам строк).
- Используется little endian
2. Реверс
Нужен для анализа игровой логики
Первым делом определим, как устроено взаимодействие с сервером на самом деле, и каким образом шифруются данные на клиенте
За взаимодействие с сервером тут отвечает класс NetMessage. Вот его методы слева направо:
За шифрование пакетов, очевидно, отвечают методы EncryptMsg, и DecryptMsg.
Посмотрим на EncryptMessage
Он использует метод ELangh класса Langh- набора криптографических утилит, который используется как синглтон. Всё приложение работает с одним его экземпляром
Внутри творится криптографическая магия. Однако прогуглив интересные методы Langh, я нашел библиотеку, которая, похоже, была перепилина в этот класс-
Ссылка скрыта от гостей
.
Вот метод EncryptData из этой библиотеки, и кусок ELangh из игры. Почти одно и то же
Значит, игра использует des для шифрования. Но, как мы знаем, des- блочный шифр. Какой паддинг используется для данных, размер которых не кратен 8 байтам?
Как оказалось, никакого паддинга там и нет. Китайцы используют гениальное решение- шифруют packet_data[acket_data_size // 8] (в терминах питона), и дописывают в конце packet_data[packet_data_size // 8:] в исходном виде.
По-моему это очень странно. Оставим это дело на их совести
Для создания декодера пакетов осталась всего одна деталь- ключ des. Поискав по xref’ам метода Langh::InitializeK, я быстро нашел установку ключа
Им оказалась строка «L*#)@!&8».
У нас есть все для создания прокси-сервера, который будет декодировать, и логировать пакеты
3. Пишем прокси-сервер
Для начала нам понадобится менеджер шифрования, который мы будем использовать для дешифрования тел пакетов от клиента. На котлине он выглядит так
Описываем интерфейс пакета
И три сущности: ClientPacket, EncryptedClientPacket, ServerPacket, Packet(для унификации механизма чтения и отправки пакетов. Кастится к EnctyptedClientPacket, и ServerPacket)
Делаем чтение, и отправку
Прокси логин-сервер будет состоять из двух корутин
Первая получает пакет у клиента, дешифрует (превращает EncryptedClientPacket в ClientPacket), печатает нам его содержимое и отправляет на сервер
Вторая получает пакет у сервера, печатает содержимое, и отправляет клиенту
Итоговый код прокси логин-сервера у меня выглядит так:
class LoginServer(serverIp: String = "0.0.0.0", val loginServerIp: String) : TcpServer(serverIp, LOGIN_SERVER_PORT) < var serverProcessors = listOf(LoginServerServerPacketProcessor()) var clientProcessors = listOf(LoginServerClientPacketProcessor()) override suspend fun processClient(iggChannel: IGGChannel) < val loginSocket = aSocket(ActorSelectorManager(Dispatchers.IO)).tcp() .connect(InetSocketAddress(loginServerIp, LOGIN_SERVER_PORT)) val loginChannel = IGGChannel(loginSocket) var stop = false val gameSession = GameSession() coroutineScope < launch < while (!stop) < try < var serverPacket: ServerPacket? = ServerPacket(loginChannel.readPacket()) println("Login server: $serverPacket") val packetType = serverPacket. type val processor = serverProcessors.firstOrNull < it.packetType == serverPacket. type >if (processor != null) < val newPacket = processor.process(serverPacket, gameSession) if (serverPacket.smartBuffer.unpackedItemsInfo.isNotEmpty()) < println("Login server: $") println("Login server: $") > serverPacket = newPacket > if (serverPacket == null) // Processor has drop the packet println("Login server: Packet was dropped- $packetType") else iggChannel.sendPacket(serverPacket.asPacket()) > catch (e: Exception) < stop = true iggChannel.close() >> > launch < while (!stop) < try < val encryptedClientPacket = EncryptedClientPacket(iggChannel.readPacket(), gameSession.isEncryptionEnabled) var clientPacket: ClientPacket? = ClientPacket(encryptedClientPacket) println("Login server: $clientPacket") val packetType = clientPacket. type val processor = clientProcessors.firstOrNull < it.packetType == clientPacket. type >if (processor != null) < val newPacket = processor.process(clientPacket, gameSession) if (clientPacket.smartBuffer.unpackedItemsInfo.isNotEmpty()) < println("Login server: $") println("Login server: $") > clientPacket = newPacket > if (clientPacket == null) < println("Packet was dropped: $packetType") >else < loginChannel.sendPacket(EncryptedClientPacket(clientPacket, gameSession.clientPacketSerialNum?.inc()).asPacket()) >> catch (e: Exception) < stop = true loginChannel.close() >> > > println("Disconnected") >
Адрес логин сервера клиент получает из конфига (
Ссылка скрыта от гостей
), адрес которого лежит в assets/config.xml
Деплоим свой конфиг, скопировав содержимое оригинального, c нужным адресом в секции LoginServer. Меняем адрес конфига в assets/config.xml на наш. Пересобираем приложение
В расшифрованных телах пакетов клиента в первых четырех байтах идет инкрементирующееся чисто- порядковый id отправленного пакета. К сожалению, архитектура у меня не позволяет выводить полное содержимое пакета, ибо при инжекте пакета старый порядковый id будет все ломать. Поэтому я не смог показать полные данные пакета с ним. Вот вывод моего реверс прокси. Как видите, у меня организована авторазметка пакетов
При подключении клиент сервер отправляет igg id, токен, и версию игры
В ответ логин сервер отправляет данные игрового сервера, и игровой токен
Ворклог что это
До марта 2020-го все дискуссии на тему «офис или удаленка» обитали где-то в области корпоративной культуры и дополнительных бонусов. Сейчас это необходимые реалии, и времени на управленческие эксперименты не осталось. Или ставишь процессы на новые рельсы, или съезжаешь вместе с командой и всем бизнесом под откос.
И тут большинство усердных управленцев попадают на развилку: доверие или контроль? Бежать проводить анализ рынка тайм-трекеров или довериться, рискнув дедлайнами и квартальными отчетами? Как говорится, от каждого по возможностям, каждому по способностям.
Практика нашей команды показала, что подход определяется вовсе не местом работы, а качествами конкретного человека и способностью компании так организовать работу команды, чтобы каждый ее участник не чувствовал страх быть наказанным руководителем, а чувствовал ответственность перед всеми коллегами за результат на вверенном ему участке.
Когда стоит проявить доверие
Давайте начнем с того, что доверие не возникает тогда, когда вы составляете график созвонов в Skype или Zoom. Доверие возникает в моменте, когда вы берете человека на работу и не боитесь отдать ему определенную зону задач. И еще один момент: если большинство ваших сотрудников заняты умственным трудом, скорее всего, ваше доверие повысит их эффективность. Они знают круг своих задач, имеют все нужные инструменты для их решения, ну и (будем надеяться) достаточно дисциплинированы, чтобы в рабочее время быть на связи в Телеграме или Битриксе. Таких сотрудников можно безболезненно отправлять на удаленку.
У меня есть руководитель подразделения, который совсем недавно присоединился к команде. В резюме большой послужной список, и, в качестве проверки, я предложил ему самому сформировать задачи для себя и подчиненных. Через две недели мы созвонились, и он справился. Теперь я могу доверить ему большое количество задач без ежедневного контроля. Необходимость контроля свелась к «сверке часов» раз в неделю.
Когда не помешает контроль
Несмотря на все возможности современных цифровых технологий, 100% контроля вы все равно не добьетесь. Смиритесь. Если сотрудник захочет вас обмануть, он найдет способ исхитриться. Но гораздо эффективнее будет просто не доводить до игр в детективов и объяснить сотрудникам, что контроль помогает не терять качества и избежать проблем / лишней работы / потери клиентов. Вводить его нужно для: 1) задач с высоким уровнем приоритета; и 2) сотрудников с низким уровнем самоконтроля.
Когда-то мы использовали TimeDoctor, логировали рабочее время в Jira, и это работало. Сейчас там, где нужен серьезный контроль, используем разного уровня ворклоги (подробное описание результата, которого ответственный по задаче добился за указанный промежуток времени, даже если задача не была выполнена). И то, мера больше точечная, чем постоянная, – помогает при работе с не очень дисциплинированными разработчиками. Происходит это так: включаем систему ворклога в Jira, смотрим, что человек делает, потом отключаем. Понятие чисто IT-шное, но его можно применить к любым другим отраслям. Самый действенный и простой инструмент контроля в команде – это наглядное сравнение эффективности сотрудников со схожими задачами. Мы придерживаемся методики Agile, в которой взаимодействие внутри команды строится на самоорганизации, а коллективная ответственность членов команды друг перед другом мотивирует к полной отдаче.
Важно помнить о том, что разные задачи выполняются разными по складу людьми. Разработка – вещь логическая и системная, тут процент «спонтанных» людей меньше. А вот в творческой команде с планированием времени и стабильной работоспособностью могут возникнуть сложности. Так, мы около года работали с копирайтером на удаленке. Девушка писала объемные материалы, делала качественные обзоры, предлагала креативные идеи. В какой-то момент большая нагрузка и отсутствие плотного контакта с коллегами сказались на качестве. Сотрудник «выгорел». Мы не смогли добиться прежнего уровня мотивированности, а переход «в офис» был невозможен. К сожалению, пришлось расстаться.
Бывает и так, что сотрудник не работал раньше на удаленке и не знает, как построить процессы, как справляться с отвлекающими факторами и т. д. Иногда это решается совместным планированием дня, помощью, банальным общением, а иногда только временем и опытом. По-моему, большинство все же учится перестраиваться.
Мы сейчас понимаем, что после карантина отдел разработки оставим на удаленке – эффективность не пострадает, а затраты снизятся. А коммерческий блок и бэк-офис, скорее всего, вернутся в свои кабинеты.
Вот что действительно может потребовать вашего контроля при переходе на удаленку, так это таймлайны по проектам. В онлайне времени на коммуникации, созвоны и переписки тратится ощутимо больше, но и это можно оптимизировать. Главное – не выпадать из общего поля и работать в слаженном ритме. А в офисе или на удаленке – вопрос эпидемиологических обстоятельств.