Компания Wunder Fund парсит тысячи профилей в LinkedIn, чтобы HR-специалисты могли выбирать лучших кандидатов для найма. В ФАНС они обратились за разработкой удобного HR-инструмента для обработки профилей кандидатов.
Приложение сделал всего один программист: он общался с заказчиком и делал все — от дизайна до бэкенда. Рассказываем, почему обычно все на порядок сложнее и благодаря чему у нас получилось сделать такой камерный запуск.
Компания Wunder Fund занимается высокочастотной биржевой торговлей (HFT) — зарабатывает на микроскопических ценовых колебаниях. Алгоритмы анализируют рынок, находят торговые возможности и совершают десятки тысяч операций в день.
Эти алгоритмы разрабатывают высококвалифицированные программисты и математики, таких специалистов называют квантами. Wunder Fund, как и другие компании из этой сферы, стремятся нанять лучших квантов.
Чтобы искать новых сотрудников, в Wunder Fund парсят в Linkedin тысячи профилей. Один из основателей компании вручную выгружал из базы кандидатов с нужными параметрами и отдавал HR-специалистам Excel-таблицы. К нам обратились, чтобы сделать из базы профилей удобный рабочий инструмент.
Обычно ФАНС работает над крупными проектами: например, мы перезапустили платформу «Синхронизации» и создали SaaS для управления логистикой. Стандартно над проектом работают множество специалистов: менеджеры, дизайнеры, архитекторы и разработчики.
Wunder Fund не требовалась масштабная разработка, лишь программист, который сможет создать интерфейс. Тем не менее задача показалась нам интересной — и мы решили рискнуть.
Над проектом работал разработчик ФАНС Артур Даценко-Боос. Он самостоятельно общался с заказчиком, делал фронтенд, дизайн и вносил изменения в бэкенд. Если чего-то не хватало, он задавал заказчику вопросы, часто принимал решение самостоятельно, а затем показывал клиенту. Так за полтора месяца появился Tinder для HR — приложение The Guys (Ребята).
На момент обращения к нам, у заказчика уже был реализован бэкенд на Supabase. Эта платформа с открытым исходным кодом для быстрого запуска бэкенда на основе PostgreSQL и других преднастроенных инструментов. Фронтенд решили разработать на Vue.js.
На проекте использовалось одно окружение: фронтенд развернут на Vercel, бэкенд — на встроенном хостинге Supabase. Выбранный стек обеспечил удобный процесс выкатки изменений и позволил получать быструю обратную связь от клиента.
У заказчика был перечень фич, которые необходимо реализовать, из них основных три.
Артур работал недельными спринтами, в начале каждого — планирование и демо. За полтора месяца заказчик и разработчик созванивались всего семь раз. Разделы приложения разрабатывали по мере значимости: главная страница → страница кандидата → фильтры → Tinder-mode → остальные фичи.
В Wunder Fund хотели реализовать сложные фильтры, чтобы отбирать кандидатов по названию прошлой должности, компании, опыту и другим параметрам.
Артуру помогло, что он разбирается не только во фронтенде. Для создания фильтра требовалось построить сложные связи между таблицами PostgreSQL. Например, когда две таблицы связаны не напрямую, а через третью. Сначала Артур попробовал реализовать ее на базе функций, но в итоге использовал view.
«Когда мы только начали работать над фильтрами, я предложил заказчику вариант реализации, и он мне ответил SQL-кодом. Оказалось, заказчик настолько технически подкован, что видит реализацию на уровне кода.»
Раздел, где HR могут посмотреть всю информацию о кандидате. Она представлена в двух вариантах: полном и кратком, в боковом меню выводится список остальных кандидатов.
Фича для отбора кандидатов — кванту можно поставить лайк, дизлайк или суперлайк. При разработке этого раздела Артур опирался на функционал приложений для дейтингов.
У Tinder-mode есть лог ивентов — HR-специалисты видят, как кандидата оценили коллеги. В исходной базе данных не было таблицы для ивентов, Артур предложил идею и архитектуру таблицы и реализовал ее после согласования с заказчиком.
Еще одна фича приложения The Guys — highlighter. По сути, это кастомная имплементация поиска по Ctrl/Cmd+F. Отличие от стандартного поиска — в том, что можно вводить несколько слов и искать только в определенных разделах, например, в профилях кандидатов.
Процесс работы над The Guys был нестандартным, например, не потребовался менеджер для общения с заказчиком, а один разработчик самостоятельно закрывал все задачи.
У клиента было не только примерное представление о проекте, но и детальные макеты. Перед первой встречей с программистом он записал loom на 15 минут, где прошелся по всем макетам и объяснил механику работы продукта.
В больших компаниях даже простое решение часто требует множества обсуждений и согласований — здесь же все решения принимались на лету.
Артур — не просто фулстек-разработчик, который может создать фронтенд и бэкенд. Он помогал докрутить функциональность продукта и предлагал дизайн-решения.
Обычно мы делаем большие проекты, но иногда готовы браться и за небольшие задачи. Мы очень рады, когда можно быстро принести видимую пользу. Обращайтесь!