Профиль:
Ruby on Rails / Full-stack разработчик с коммерческим опытом разработки сложного B2B-продукта в сфере real estate finance / loan servicing.
Основная специализация — backend-разработка на Ruby on Rails, сложная бизнес-логика, финансовые расчёты, платёжные workflows, генерация документов, интеграции с внешними API, отчётность, reconciliation, alerts и модернизация legacy-кода.
На основном проекте работаю с критически важными частями системы: payment schedules, default interest, ACH/Wire платежи, monthly statements, investor reporting, borrower-facing функционал, DocuSign-подписание, Slack/Dropbox/email-интеграции и документные workflows.
Умею разбираться в большом существующем коде, переносить сложные бизнес-правила в поддерживаемую архитектуру, покрывать функционал тестами и безопасно развивать production-систему без поломки существующих процессов.
Опыт работы:
Continure, Milwaukee, Wisconsin, USA
Ruby on Rails / Full-stack Developer
2022 — настоящее время · Remote
Работаю в Continure над Ruby on Rails проектами для американского рынка. Основной долгосрочный проект — Domcap / Real Estate Finance Platform: крупный B2B-портал для real estate finance / loan servicing бизнеса в Нью-Йорке.
С середины 2022 года постоянно развиваю Domcap: реализую новую бизнес-логику, платёжные workflows, document management, DocuSign-подписание, investor/business entity функционал, reporting, alerts, reconciliation и интеграции с внешними сервисами. Открытый рабочий дневник с марта 2023 года доступен здесь.
Основные обязанности:
- Разработка и поддержка Rails-приложения для real estate finance / loan servicing бизнеса.
- Реализация сложной финансовой бизнес-логики: payment schedules, default interest, partial payments, cure periods, fees, monthly statements, credit lines, REO/foreclosure workflows.
- Разработка платёжных процессов: ACH payments, Wire payments, approval flows, Construction Draw payouts, monthly mass payments, revocation logic и duplicate-prevention rules.
- Интеграция с внешними API: DocuSign, Slack, Dropbox, Plaid, Western Alliance Bank, HouseCanary, Google API, OpenAI/internal tooling.
- Разработка document workflows: генерация DOCX/PDF документов, редактирование через Dropbox, отправка на подпись, автоматическая загрузка подписанных документов, Slack/email notifications.
- Модернизация legacy UI: Bootstrap 3 → Bootstrap 5, jQuery/best_in_place → Turbo/Stimulus, Vue.js → Rails/Hotwire там, где это упрощает поддержку.
- Проектирование Rails models, controllers, services, background jobs, Pundit policies/scopes, REST-friendly controllers.
- Написание RSpec-тестов для моделей, сервисов, request specs, бизнес-логики и внешних API-интеграций.
- Разработка и развитие js-file-tools-api — внутреннего Node.js микросервиса для работы с файлами с интеграцией Dropbox API, Google API и основного Rails-приложения.
- Работа с большими таблицами и отчётами: фильтры, сортировки, grouped columns, sticky headers, CSV export.
- Анализ production edge cases и исправление ошибок в финансовой логике, правах доступа, интеграциях и пользовательских workflows.
Ключевые достижения:
- Переработал core finance logic для Payment Schedule и Default Interest: реализовал новые правила начисления default interest, поддержку partial payments, unpaid due amounts, cure periods, paid date behavior и manual overrides.
- Реализовал Monthly Mass Payments / Bulk Jobs workflow: автогенерация monthly pages, upcoming/late/default payment rows, bulk pull/revoke, monthly statements, ACH approvals, borrower emails, Dropbox editing, editable email templates и защита от duplicate payment creation.
- Создал Western Alliance Bank API интеграцию и реализовал Wire payments infrastructure: создание, подтверждение, approval/review flow, bulk approve/reject actions, post-approval processing и интеграция Wire payouts в Construction Draw.
- Улучшил поддержку WAB API failures: добавил сохранение x_correlation_id в ActiveRecord-модель, чтобы support банка мог идентифицировать конкретный проблемный wire request.
- Реализовал Google API интеграцию для построения интерактивных графиков и визуализации финансовых данных на страницах отчётности.
- Разрабатывал и развивал js-file-tools-api — внутренний микросервис на Node.js для работы с файлами: обеспечил его интеграцию с Dropbox API, Google API и основным Rails-приложением.
- Создал DocuSign API интеграцию и реализовал document signing workflows для Payoff Letter, Default Letter, Term Sheet и других документов: multi-stage process, signer changes, envelope revocation, status tracking через webhooks, auto-upload signed documents, Slack/email notifications.
- Реализовал и развивал Payoff Letter workflow: Generate → Edit/Review → Approve → Signing → Complete, borrower-facing sending options, корректировки per diem / total due / interest calculations, wire vs check options и fee inclusion rules.
- Реализовал Default Letter approval/signing workflow с поддержкой 9 видов шаблонов и повторяемого процесса утверждения и подписания.
- Построил Loan Tape reporting page: 40 колонок показателей, 9 групп колонок, 22 сортировки, 5 фильтров, CSV export и sticky header, корректно работающий при фильтрации, сортировке и горизонтальном скролле.
- Модернизировал Investor / Business Entity portal: переработал Investor Roll, Business Entity pages, investor-specific workflows, Capital Manager pages и capital records flows, перевёл значительную часть UI на Bootstrap 5.
- Создал Credit Line Analysis & Reconciliation module: credit line capacity/drawn/available tracking, deal-level allocations, snapshots, end-of-month averaging и интеграция computed credit balances в deal/payment pages.
- Реализовал Plaid reconciliation tooling: отдельные Incoming/Outgoing views, filterable tables, mapping transactions to deals и распределение одной транзакции на несколько allocation targets: principal, interest, default interest, fees и другие категории.
- Реализовал automated HouseCanary valuation mismatch alerts: автоматический анализ адресов при переходе сделки из Term Sheet, сравнение aggregate value с As-Is Value, Slack alerts и user tasks при отклонении больше 10%.
- Реализовал alerts/notifications platform improvements: maturity notifications, insurance expiry alerts, Alerts Manager UI, enable/disable controls, global editable templates, Slack/email options и per-deal visibility.
- Переработал Document Manager: добавил audit trail, исправил role-based visibility, реализовал сложные Pundit policies/scopes для сотрудников и клиентов, улучшил REST-структуру контроллеров.
- Заменил устаревший best_in_place по проекту на собственный Turbo inline editor component, затронув несколько десятков страниц и 11 контроллеров.
- Реализовал поддержку multiple developers per deal вместо прежней модели с одним developer. Провёл cross-cutting изменение через deal show page, Loan Tape, AML/KYC, Cash Flow, Term Sheet, Proof of Funds, Pipeline, Operations, Quick Leads, RD Clients, Due Diligences, global search, Deal Consistency и Foreclosure pages.
- Добавил новую стадию сделки REO/post-Foreclosure с sale amount/date, tax-related behavior и новой таблицей на Operations page.
- Улучшал ACH/payment functionality: bulk actions на ACH approval page, backend sorting, filters with saved user preferences, привязка ACH payments из админки к deal/scheduled payment и ACH support в Construction Draw.
- Создал borrower-facing Construction Draw public link flow: менеджер генерирует secure token link, клиент создаёт Construction Draw request без авторизации, система уведомляет команду после создания запроса.
- Реализовал daily task summary email batching: новые user tasks, комментарии и обновления аккумулируются и отправляются одним daily email вместо множества отдельных писем.
- Мигрировал Slack file upload integration с deprecated endpoints на новый Slack upload flow.
- Улучшал test coverage и maintainability: покрывал тестами сложную финансовую и permission logic, обновил 109 test files и снизил время прохождения тестов приложения примерно на 40%.
Другие проекты в Continure:
Loandox — CRM-система для кредитной организации на Ruby on Rails. Участвовал в разработке функционала и поддержке проекта.
Holocenter — сайт для The Zekelman Holocaust Center, Farmington Hills, Michigan. Участвовал в Rails-разработке и поддержке проекта.