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

Привет! Я Александр, многим знаком по содержательным статьям о том, как нанимать людей через хакатоны. Я люблю создавать небольшие стартапы и одной из идей появилась создать Сатана Джобс – сервис, который помогает закрыть эти чёртовы горящие вакансии в IT-компаниях

Что будет, если у Сатаны и Стива Джобса будет ребёнок? "Сатана Джобс"

В этой статье я расскажу какие вызовы есть у современной разработки и какие хитрости можно применить, чтобы уменьшить стоимость разработки при помощи 0-кода и сервисов автоматизации

Как появилась идея

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

На вопрос как должен выглядеть сервис? Мне вспомнилось детство. В школе я любил списывать на уроках. Это очень полезный навык для реальной жизни – найти что-то работающее и улучшить.

Один из популярных сервисов для поиска удалёнки является инди-проект http://remoteok.io. Его сделал Pieter Levels, довольно известный хакер. Сегодня его проект зарабатывает порядка миллиона долларов в год, о чём и заявляет он на своей странице Open Startup. Вообще Питер очень целеустремлённый, у него есть впечатляющая лекция, меняющее понимание о том, как делать стартапы "How to Build a Startup Without Funding by Pieter Levels". Лично меня безумно замотивировала его история о создании компании с миллионной выручкой без инвестиций (bootstrapped). Ответ на вопрос пришёл сам собой – нужно скопировать существующий популярный проект.

Решение

Продукт

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

Внешний вид сервиса

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

Как мы делали первую версию Сатана Джобс

Изучение рынка

Первое, с чего мы начали – немного покопались в рынке. В рекрутинге наиболее приоритетная задача – поиск senior-разработчиков в LinkedIn, а у самих разработчиков – найти интересные предложения на удалёнку. Браться за скрининг кандидатов в Линкедине немного трудозатратно, а вот сделать поток из таких заинтересованных кандидатов – вполне реально.

Вообще, при создании MVP я делаю две вещи:

  1. Общаюсь с целевой аудиторией (Качественное исследование рынка)
  2. Ищу тренды по количеству запросов в гугле (Количественное исследование рынка)

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

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

Любопытное наблюдение – количество запросов в гугле по удалённым вакансиям и по data science вакансиям в США за 5 лет. Из скриншотов логичный вывод – интерес к remote jobs растёт, а к data science – нет (во всяком случае, пока)

Разработка продукта

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

Размещение вакансий

Коротко

Публикация вакансий для рекрутёра происходит максимально просто – ему достаточно заполнить анкету, похожую на Google-форму, вакансия сразу попадает к нам в админку и мы, проведя модерацию, публикуем её в требуемых ресурсах. Попробовать размещение можно у нас на сайте satanjobs.com

Airtable из коробки даёт привычный пользовательский ввод

О технических деталях

В качестве бекенда было решено взять Airtable и Integromat. О его мощности я узнал в замечательном сообществе Вадика Михалева в тг "Я – зерокодер". Зирокод – это когда ты не пишешь код, а используешь уже готовые элементы (конструктор). Чаще всего, к зирокоду относятся как к инструменту для прототипирования, при этом во многих стартапах, где смысл в контенте, а не в глубокой технологии, большинство логики уместно перенести на 0-код.

В нашем случае логика работы такая: за хранение всех вакансий (стека технологий, мест публикации и т.п.) отвечает Airtable – прокаченные гугл-таблицы.

Так выглядит админка для модерации вакансий на Airtable

Причины, почему мы выбрали Airtable:

  1. возможность оперативно менять любые поля вакансий с нулевыми затратами. В будущем может оказаться, что какое-то поле не нужно пользователям, а разработка встанет в копейку. У нас же достаточно изменить колонку Airtable и фикс в прод готов.
  2. Добавление вакансий для рекрутеров осуществляется также через Airtable – через форму-опрос, которая меняется, если вы изменили поля самой таблицы

Сейчас, я бы отметил, для всех тех, кто делает свои инди-проекты следующие плюсы и минусы Airtable

Плюсы Airtable для стартапа, где важен контент

  • Есть встроенные формы, которые сразу заливают результат в админку
  • Интегрируется с большинством других 0-код сервисов (Zapier, Integromat)
  • Из коробки удобный API, чтобы достать/обновить элементы
  • Бесплатно 1000 записей, старые записи можно переносить в другую таблицу. Платно – до 50000 записей за ~$20 в месяц
  • Удобный markdown-редактор и история изменений
  • Из коробки можно менять таблицы, форматировать и не просить разработчика поправить что-то
  • Аналогичная разработка на Django заняла бы минимум 40-100 тысяч рублей работы фрилансера

Минусы Airtable

  • Гипотетические ограничения по форматированию (хотя почти любые задачи можно решить небольшими скриптами)
  • Сложнее подходит для контента, где много связей (например, если вы делаете графы)
  • Лимиты в базовом тарифе на upload и количество строк
  • Безопасность данных – airtable не подойдёт проектам, где требуется повышенная защищённость данных

Кстати, касательно того, что Airtable подойдёт только для прототипов – миф. Например, Леван Квирквелия сделал электронный дневник с 300.000 пользователями и базой на Airtable, и рассказал об этом в лекции ZeroCode: Как тестировать больше гипотез и экономить миллионы?

Публикация вакансий

Коротко

После того, когда вакансия получает статус "ready for publish" вакансия отправляется в очередь для публикаций, после чего распростроняется по подключённым телеграм-пабликам и сайту. При этом формат публикаций можно варьировать в зависимости от телеграм-канала: на многих площадках у администраторов свой формат публикаций и кнопок

Вакансии сразу улетают в несколько тг-каналов, причём в каждый канал со своим форматом

О технических деталях

Как уже писал ранее, важна гибкость всей системы – и с этим отлично справляется Integromat – это "клей" 0-код проекта. Работает это таким образом: раз в 12 часов система проверяет неопубликованные вакансии в Airtable и публикует их в телеграм каналы. Визуально в интерфейсе это выглядит как последовательность исполняемых команд, где все поля автоматически подтягиваются из Airtable, при необходимости можно делать предварительное форматирование, добавлять кнопки публикаций и режим форматирования markdown/html и обрабатывать ошибки публикаций, а также добавлять десятки других команд в пару кликов мышкой.

Чем мне понравился интегромат – можно быстро подключить несколько телеграм-ботов, которые будут выполнять разные задачи: один бот публикует вакансии, второй бот пишет об ошибках в служебный чат телеграм. При этом добавление, скажем, Slack, Facebook Messenger или внешней популярной CRM происходит мгновенно как очередной блок системы.

Примерно аналогичным образом у нас реализована система нотификации, если пользователь отправил нам новую вакансию

Плюсы Integromat

  • Несколько сотен интеграций, которые не нужно программировать
  • 1000 операций в месяц бесплатно, чего в целом хватает для небольшого проекта
  • Пожалуй, самый простой интерфейс из тех сервисов автоматизации, которые я использовал
  • Есть поддержка нелинейных сложных сценариев

Недостатки Integromat

  • Функционал ограничен самими интеграциями – например, сделать персонализированного чат-бота можно, но придётся плясать с бубном
  • Форматирование текстов – боль, скажем, интеграция с телеграм ломается, если ей подавать по очереди markdown и html разметку - нужно либо удалять все html-тэги из текста, или удалять все элементы markdown-разметки
  • Тарификация идёт за операции – если вы что-то отлаживаете, то можете случайно выйти за лимиты и придётся докупать тариф

Интеграция с веб или как надо и не надо работать с фрилансерами

Сделав прототип для каналов в телеграм, решил сделать веб-версию.

Про дизайн

Попросил знакомого дизайнера сделать стиль в фигме. Идея про название появилась сама собой – вакансии горят, а что, как не ад, ассоциируется с огнём?

Прислал дизайнеру несколько референсов и описание что хочу. Мы договорились, что в воскресенье он покажет результаты и каждый ушёл в свои дела. Очевидно, здесь должен быть вывод, что сроки любого фрилансера можно воспринимать как +25-50% времени, в этом случае было не исключение: в понедельник меня предупредили, что дизайн будет ко вторнику, во вторник дизайнер попал в автоаварию.

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

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

Кстати, поделюсь советом по работе с креативными сотрудниками

У меня есть простое правило, которое я подслушал у Артемия Лебедева касательно дизайнеров – любому творческому человеку просто необходима свобода для творчества. Если дать ему строгое ТЗ, творческий человек из творца превратиться в машину, слово творческий можно вычёркивать. Собственно, результат от машины вероятно вы получите соответствующий

Про вёрстку

Долго думал делать проект полностью на 0-коде, ведь для веб-версии, есть, например Bubble, позволяющий сделать полноценный сервис без единой строчки кода. В нашем сервисе не последнюю роль играет дизайн, а существующие конструкторы часто дают ограниченный набор анимаций и возможностей по кастомизации. Поэтому, веб-версию решил сделать на React и развернуть на бесплатном веб-хостинге https://vercel.com.

Про наполнение первыми вакансиями

Что появилось раньше – вакансия или разработчики?

Аристотель

Чтобы наполнить джоб-борду нет проще идеи как спарсить чужие джоб борды. Пираты 21 века – это те, кто ворует данные. Становиться пиратом я не захотел, поэтому нашёл публичный API для получения вакансий. К удивлению, сайт remoteok, который я упоминал в начале статьи и собирался копировать, как раз предоставлял такой API. Я написал небольшой скрипт на питоне, который добавил в яндекс облако. Раз в 24 часа скрипт загружает новые вакансии из Remote Ok, добавляет их в базу и триггерит цепочку публикаций в каналы и на сайт. Из очевидных плюсов такого подхода – можно добавить больше ресурсов для сбора данных о вакансиях, поэтому, если вам интересно размещать у нас свои вакансии, мы готовы подключить ваш сайт – напишите на почту [email protected]. Что ещё хочется отметить – за Яндекс.Облако не приходиться платить – всё сделано на облачных функциях, которые обходятся нам бесплатно.

Финально

Проект мы делаем вдвоём с Димой Малаховым, Senior Frontend разработчиком. Учитывая, что пользование Airtable, Integromat, Vercel, Yandex.Cloud выходят нам в 0 рублей в месяц, то единственная денежная трата в проекте была на дизайн.

Завершая, мы как-то сами пропёрлись с нейминга – вот подумайте – горящие вакансии, рекрутинг как девять кругов ада и разработчики, фанаты Гилфойла из Кремневой Долины. Что может быть круче, чем Сатана Джобз?

Если вы хотите посотрудничать с нами, и оказаться в пекле рекрутёрских событий, то напишите на почту [email protected]

Бонус: где искать вакансии на удалёнку разработчику

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

  • https://satanjobs.com – чёртовы вакансии с огоньком
  • http://stackoverflow.com/jobs – все разработчики знают про Stack Over Flow, причём мало кто слышал, что там есть раздел по поиску вакансий
  • https://your.gms.tech/ – G-mate – бот в телеграм для подбора персонализированных вакансий
  • https://djinni.co/– персональный помощник по поиску вакансий
  • profunctor – российские ребята публикуют вакансии, которых нет в LinkedIn
  • remoteok.io – популярный сайт по поиску удалёнки, преимущественно публикуют преимущественно вакансии из nomad-сообщества и крупных US-based компаний
  • arc.dev – удобный агрегатор вакансий
  • turing.com – нашумевший HR-tech стартап с проработанным скорингом разработчиков
  • remoteml.com – вакансии для data science / machine learning разработчиков
  • https://cryptojobslist.com – вакансии в крипте/блокчейне
  • weworkremotely.com – здесь часто встречаются компании, которых нет на других сайтах по поиску удалёнки

Была ли полезна статья? Важно ваше мнение, поделитесь в комментарии

0
20 комментариев
Написать комментарий...
Анна Назарова

окей гугл, теперь как сделать mvp без адекватного технического бэкраунда

Ответить
Развернуть ветку
Александр Малышев
Автор

У Вадика Михалёва классные ресурсы есть по 0-кодингу, можно быстро разобраться и попробовать себя

Ответить
Развернуть ветку
Alexander D

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

Ответить
Развернуть ветку
Товарищ

Название классное. Но проект выглядит, как "прокладка" remoteok.io. Ничего уникального, кроме дизайна, и то что это копипастится в телегу - нет. Думаю, даже, если все сидят в этих группах, то видят одну и ту же скопированную вакансию.

Ответить
Развернуть ветку
Александр Малышев
Автор

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

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

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Александр Малышев
Автор

Вот Pieter Levels напротив, рассказывает, что лучше пилить всё самому, максимально автоматизировать рутину с помощью кода. Думаю, единой стратегии не существует ;)

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Дмитрий Малахов

HR-ы, которые оставляют контакты к вакансиям будут попадать в callback hell :)

Ответить
Развернуть ветку
Александр Малышев
Автор

А если они указывают вилку у вакансий, то им отпустят грехи?

Ответить
Развернуть ветку
Виталий Иванов

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

Ответить
Развернуть ветку
Maxim Averin

MVP здорового человека без пиления сервиса по 1 году. Посмотрим, как пользователи воспримут это

Ответить
Развернуть ветку
Александр Малышев
Автор

А что плохого пилить MVP долго?)

Ответить
Развернуть ветку
Дмитрий Малахов

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

Ответить
Развернуть ветку
Александр Малышев
Автор

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

Хотя в Deep-Tech проектах это может не работать

Ответить
Развернуть ветку
Daniel Dhawan

Классная идея с неймингом, это помогает вам с продвижением?

Ответить
Развернуть ветку
Александр Малышев
Автор

А чёрт его знает

Ответить
Развернуть ветку
Александр Власюк

Клёво! Понравилось что сделали почти без кода. Не было в какой-то момент желанию бросить 0-code и нормально интеграции сделать или было всё удобно?

Ответить
Развернуть ветку
Александр Малышев
Автор

Переодически появляются: всегда натыкаешься на ограничения и думаешь уходить от этого или искать костыли.

Все разработчики меня поддержат, что иногда появляются задачи, которые очевидные, но из-за технологии/индексов в базе/… хотфикс может занять неделю

у меня уже был опыт, когда намучился с джангой и сейчас понимаю, что большинство задач лучше решать 0-кодом, чем писать код

Ответить
Развернуть ветку
Alexander D

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

Ответить
Развернуть ветку
17 комментариев
Раскрывать всегда