EN | RU

Иван Земчиков

Ruby on Rails / Full-stack разработчик

Моё фото
Иван Земчиков
Ruby on Rails / Full-stack разработчик

Информация:

  • Самара, Россия / Remote
  • Коммерческий опыт с 2022 года

Контакты:

Профиль:

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-разработке и поддержке проекта.

Навыки:

  • Ruby
  • Ruby on Rails
  • RSpec
  • MySQL
  • PostgreSQL
  • SQL
  • JavaScript
  • Node.js
  • Hotwire
  • Turbo
  • Stimulus
  • Vue.js
  • HTML
  • CSS
  • Bootstrap 5
  • Git
  • REST API
  • Background Jobs
  • Pundit
  • DocuSign API
  • Slack API
  • Dropbox API
  • Plaid API
  • Western Alliance Bank API
  • HouseCanary API
  • Google API
  • OpenAI API
  • Service Objects
  • Query Objects
  • CSV Export
  • PDF/DOCX generation
  • VCR
  • FactoryBot
  • XML
  • JSON
  • Linux
  • Heroku

Образование:

  • Курс Ruby on Rails
    • «Хороший программист» — Rails Heliodor 2021 (2021–2022)
  • Самарский юридический институт Министерства юстиции
    • Юридический факультет (1999–2003)

Владение языками:

  • Русский — родной
  • Английский — B2/C1
  • Испанский — B1
  • Немецкий — A1