Работа над функциями внутри ваших сервисов
Новые эндпоинты, фоновые задачи и внутренние пакеты, собранные под шаблоны, которые уже использует ваша команда, с ревью через ваш действующий процесс пул-реквестов.
Программирование и разработка ПО
Выделенный Go-разработчик, который присоединяется к вашей действующей команде, работает внутри вашей кодовой базы и соглашений и остаётся столько, сколько нужно продукту.
Большинство компаний, готовых нанять Go-разработчика в Дубае, уже держат кодовую базу на Go в продакшне и небольшую команду, которая её поддерживает. Обычно им не хватает не пары свободных рук для разовой сборки, а ещё одного человека, который подхватит существующие соглашения, будет ревьюить чужие пул-реквесты и продолжит выпускать код вместе с командой, уже знающей систему. Именно для такой ситуации написана эта страница: присоединение, а не старт с чистого листа.
Сам Go был создан в Google, чтобы объединить скорость компилируемого, статически типизированного языка с чем-то близким к простоте скриптового языка, и он стал обычным выбором для backend-сервисов, инструментов командной строки и инфраструктурного ПО, которому нужно надёжно работать под конкурентной нагрузкой. Разработчик, понимающий, почему команда выбрала Go, а не только его синтаксис, быстрее вписывается в существующую команду, а именно это стоит искать, когда вы решаете нанять Go-разработчика в Дубае для такой роли.
Присоединение к действующей команде
Работа, которая предполагает живую систему и чужой код, а не пустой проект.
Новые эндпоинты, фоновые задачи и внутренние пакеты, собранные под шаблоны, которые уже использует ваша команда, с ревью через ваш действующий процесс пул-реквестов.
Диагностика утечек горутин, состояний гонки и медленных участков в сервисах, уже несущих реальный трафик, с использованием собственных инструментов профилирования и обнаружения гонок Go.
Поддержание модулей Go в актуальном состоянии, аккуратная работа с обратно несовместимыми изменениями и удаление зависимостей, тихо ставших неподдерживаемыми.
Добавление повторов, таймаутов и защитных механизмов там, где сервис сейчас падает жёстко, и написание тестов, доказывающих, что исправление держится.
Логирование, метрики и трассировка, добавленные в существующие сервисы, чтобы инцидент можно было диагностировать по данным, а не наугад.
Инструменты командной строки для ваших же инженеров, естественная задача под быстрый запуск Go и его вывод в виде единого бинарника.
Важные навыки
Навыки, показывающие, что человек умеет работать внутри чужого кода, а не только своего.
| Навык или инструмент | Как выглядит хороший уровень | Почему это важно |
|---|---|---|
| Горутины и каналы | Может объяснить, когда использовать канал, а когда мьютекс, и уже отлаживал реальную ошибку конкурентности | Ошибки конкурентности в Go, обычное дело и часто проявляются только под реальной нагрузкой |
| Модули Go | Уверенно управляет версионированными зависимостями и критически читает файл go.mod, а не просто запускает команды | Граф зависимостей существующего сервиса редко бывает таким чистым, как в новом проекте |
| Свободное владение стандартной библиотекой | Тянется к стандартной библиотеке, прежде чем добавлять новую зависимость | Меньше сторонних пакетов означает меньше того, что нужно поддерживать и проверять со временем |
| Тестирование и бенчмаркинг | Пишет табличные тесты и умеет читать результат бенчмарка, а не только «прошёл или не прошёл» | Команде, присоединяющейся к живой кодовой базе, нужно доказывать, что изменения ничего не сломали |
| Культура код-ревью | Конструктивно даёт и принимает комментарии в ревью, ссылаясь на соглашения самого проекта | Выделенный найм тратит столько же времени на чтение чужого кода, сколько на написание своего |
Собственная страница часто задаваемых вопросов Go сама по себе полезный источник для собеседования: кандидат, не способный объяснить, почему Go отдаёт предпочтение принципу «делитесь памятью через общение», а не общему состоянию с блокировками, вероятно не работал с горутинами под реальной нагрузкой. Это самый полезный вопрос, который можно задать, когда вы решаете нанять Go-разработчика в Дубае для существующей, живой кодовой базы.
Как строится сотрудничество
Эта роль построена вокруг одного формата сотрудничества: выделенный разработчик, который присоединяется к вашей команде, работает по вашим приоритетам, и оплачивается помесячно за своё время. Если вместо этого вы хотите, чтобы мы собрали и передали вам один определённый сервис на Go, смотрите проектный формат на нашей странице Golang-разработчик, которая описывает тот же язык под другим углом. Поддержка в подборе персонала также хорошо подходит, если вы предпочитаете нанять человека напрямую в свой штат после того, как мы найдём и оценим его, а короткий консалтинговый обзор подойдёт команде, ещё решающей, правильный ли Go выбор, прежде чем нанимать вообще кого-либо. Большинство компаний, решающих нанять Go-разработчика в Дубае через нас, выбирают именно описанный здесь выделенный формат.
Оценка кандидата
Проверки, нацеленные именно на человека, входящего в существующую кодовую базу.
Покажите недавнее, показательное изменение в вашей кодовой базе и спросите, как бы он его отревьюил. Его вопросы говорят не меньше, чем его ответы.
Конкретная история, включая то, как он её нашёл, стоит больше, чем заученное определение горутин.
Дайте небольшую задачу и посмотрите, тянется ли он сначала к новому пакету или к стандартной библиотеке.
Попросите его раскритиковать предоставленный вами тестовый файл. Хорошие тестировщики обычно быстро замечают пропущенные граничные случаи.
Человеку, присоединяющемуся к устоявшейся команде, нужно конструктивно отстаивать свою позицию, а не просто соглашаться или игнорировать замечания, и это ясно проявляется вне зависимости от того, как вы решите нанять Go-разработчика в Дубае, напрямую или через поддержку в подборе персонала.
Сертификации
Сертификации по Go от Google или команды Go не существует, так что любой заявленный сертификат стоит оценивать соответственно.
Собственная документация Go, которую ведёт команда Go в Google, описывает язык и его инструменты, но не упоминает и не одобряет программу сертификации. Всё, что продаётся как сертификат по Go, идёт от стороннего провайдера курсов, а не от Google, так что это не должно быть решающим фактором, когда вы решаете нанять Go-разработчика в Дубае.
Публичный репозиторий с реальным кодом на Go, разбор продакшн-инцидента, который он решал, и уверенное обсуждение политики релизов Go о поддержке только двух последних крупных версий, которое покажет, держит ли он зависимости актуальными.
Особенности ОАЭ
Актуально, если сервис, над которым он будет работать, касается данных клиентов.
Согласно федеральному декрету-закону ОАЭ №45 от 2021 года, компании, хранящие персональные данные, должны обеспечивать их безопасность и обрабатывать с согласия, независимо от того, где происходит обработка. Если сервис на Go, который будет поддерживать выделенный разработчик, уже хранит данные клиентов или сотрудников, стоит заранее уточнить у команды, как сейчас выполняется это обязательство, и это честный вопрос, который стоит задать любому, кого вы решите нанять как Go-разработчика в Дубае, прежде чем предоставлять доступ.
Поскольку это выделенный найм, а не переданный проект, код, репозиторий и доступ уже были вашими до нашего участия, и остаются такими на всём протяжении сотрудничества.
Эта роль относится к нашей категории программирование и разработка ПО, части раздела нанять разработчиков в Дубае. Тот же язык в формате определённого проекта, а не выделенного найма, описан на странице Golang-разработчик. Если ваша backend-работа шире одного языка, наши страницы backend-разработчик и Python-разработчик описывают соседние роли, а Rust-разработчик, частая альтернатива для похожей, чувствительной к производительности работы.
Прямые ответы
Выделенный найм подходит, когда работа постоянная и должна вестись внутри вашей существующей кодовой базы и процесса ревью, а не как самостоятельный кусок, который можно оценить по объёму и передать. Это также означает, что один человек со временем нарабатывает реальный контекст по вашей системе, а не каждый раз заново вникает в новый бриф.
Фиксированного срока нет. Одни клиенты держат выделенного разработчика месяцы под конкретный план развития, другие ведут сотрудничество бессрочно рядом со своей собственной командой. Оплата помесячная, и любая сторона может пересмотреть условия по мере изменения потребностей продукта.
Вы. Он участвует в ваших стендапах, получает указания от вашего технического лида и следует вашему действующему процессу ветвления и ревью. Мы не управляем его нагрузкой со стороны.
Да, и мы это рекомендуем. Короткое платное ревью перед началом обычной работы над функциями заранее выявляет соглашения, технический долг и любые риски конкурентности, так что первые недели проходят продуктивно, а не в угадывании вашей кодовой базы.
Этот вопрос ближе к консалтингу, чем к выделенному найму. Мы можем связать вас с человеком, который рассмотрит это решение на ограниченный по времени срок, прежде чем вы возьмёте на себя помесячное сотрудничество.
Источники
Фиксированная цена в письменном виде
Получили. Мы уже готовим ваше предложение.
В рабочее время вы получите его в течение 45 минут. Проверьте почту, там письмо с подтверждением.