Никита Чурсин

Москва, Россия · nchur-remove-sin.dev@gmail.com

Контакты в QR

Scannable QR code with contact info

Инженер-программист, в первую очередь решающий проблемы, а не пишущий код. Лучший код — ненаписанный. Качество продукта — ответственность всей команды. Практик экстремального программирования и BDD. Спикер, ментор, член программного комитета конференции DUMP 2023-2024 (секция “Тестирование”), экс-лидер Российского сообщества специалистов Salesforce, экс-коач проекта RAD Women.

Сертификаты

Соцсети

Навыки

Языки, Операционные Системы и Инструменты
  • Salesforce
  • Go
  • Javascript
  • Typescript
  • TeamCity
  • git
  • macos
  • linux
  • bash
Управление Данными
  • MongoDB
  • Redis
Контейнеры и облака
Софт-скиллы
  • Здравый смысл
  • Agile
  • Extreme Programming (TDD, pair prodgramming, CI/CD)
  • Scrum
  • Team leading
  • Проведение 1-2-1
  • BDD/ATDD

Личные проекты

Проекты, которые я запустил на “общественных началах” — open source, community, etc.

Salesforce Community

Русскоговорящее сообщество специалистов Salesforce.

Подробнее...

Salesforce TDD Script

Небольшой скрипт для разработки под Salesforce через TDD.

Подробнее...

SfCraft Mock Server

Библиотека Salesforce Apex для создания моков HTTP сервера.

Подробнее...

Open Source

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

Serenity/JS

Начал разрабатывать интеграцию с Playwright, а так же предложил структуру API, которая теперь используется в Serenity/JS 3.0.

Подробнее...

vim-test

Добавил поддержку конфигурации WebdriverIO на Typescript

Подробнее...

VSCode Apex PMD

Поддерживал проект, когда автор временно отошёл от дел.

Подробнее...

Nvim-Cokeline

Исправил баг для случая, когда табы не используется для буферов.

Подробнее...

И это ещё не всё!

Здесь больше примеров.

Публикации

Коллекция статей и докладов, которые я делал на различных конференциях и платформах. Темы разные: от разработки лагинов для VSCode до Agile, XP и BDD.

Доклад - Инъекция качества: как мы перестали искать дефекты.

В этом докладе я рассказываю о процессах в нашей команде, основанных на XP + BDD.

June 2021

Статья [EN] - How to use aliases in VSCode extension development

Статья рассказывает, как подключить алиасы в Typescript при разработке плагинов для VSCode.

December 2020

И это ещё не всё!

Здесь больше примеров.

Опыт

Старший разработчик Go

Ozon Bank

Разрабатывал сервисы для проверки клиентов (KYC, ЗСК).

Достижения:

  • Возглавлял проект с участием нескольких команд по интеграции с МВД (ГИС МУ) через СМЭВ для проаерки паспортов. Разработал целевую архитектуру решения, реализовал часть функционала на стороне KYC.

Stack: Golang, Postgres, ClickHouse, Bash, Gitlab, microservice architecture

May 2020 - May 2023

Руководитель группы разработки (Salesforce)

Deutsche Bank

Возглавлял команду разработки решения для сбора документов поставщиков для принятия в программы торгового финансирования, а также управления программами торгового финансирования. Помогал командам работать по методологиям экстремального программирования и BDD.

Достижения:

  • Помогал команде адаптироваться к отсутствию ролей: никаких разработчиков, аналитиков или тестировщиков — все могут делать всё. Мы использовали парное программирование, TDD, BDD, ATDD. Все тесты были автоматизированы, автоматизация разрабатывалась до функциональности. Удалось достичь результата в 1 баг за полгода.
  • Построил ещё одну, новую, команду в такой же парадигме отсутствия ролей. Новая команда успешно приняла проект от другой команды, повысила качество выпускаемого продукта, снизила время поставок и построила продуктивные отношения с командой бизнеса.
  • Повысил продуктивность всей Salesforce практики, внедрив использование машин на Linux’е для разработки.
  • Выступил на нескольких конференциях: DUMP, TechLead Conf, Podlodka TechLead Crew, TestDriven Conf.
  • Провёл тренинг на внутреннем событии для всех техцентров по продвинутому использованию Git.
  • Сделал фреймворк для декларативных тестов фронтэнда на основе Jest.

Stack: Salesforce (Apex, lwc), Bash, TeamCity, Java (test framework), JavaScript, RHEL 7

May 2020 - May 2023

Старший разработчик/Архитектор Salesforce

Aquiva Labs

В мои обязанности входило управление несколькими командами, а также разработка архитектуры решений на платформе Salesforce.

Достижения:

  • Создал и первоначально возглавлял команду глобальной поддержки проектов, вышедших из активной фазы разработки. Успешно подготовил нового лидера команды и передал дела.
  • Создал команду для срочных быстро-разрабатываемых проектов. В основном это были пакеты для Salesforce Appexchange.
  • Разработал и начал внедрение процедуры оценки сотрудников на основе индивидуальных целей, планов развития и обратной связи.
  • Возглавил разработку и внедрение стандартов написания кода в компании.
  • Провёл несколько внутренних тренингов по Salesforce и гибким методологиям разработки.
  • Выступил в роли Agile коача для нескольких команд, повысив их продуктивность.

August 2016 - March 2020

Разработчик/Scrum Мастер

Hotbot.ai

Помогал команде адаптироваться к Lean и Agile разработке. Также принимал участие в создании MVP в качестве разработчика.

Достижения:

  • Настроил автоматизированную развёртку и CI/CD, используя Docker, Docker Compose, и TeamCity.
  • Настроил мониторинг и соответствующие нотификации с помощью Zabbix.
  • Построил рабочую атмосферу в команде, помог адаптироваться к быстрому развитию и постоянным изменениям.

September 2017 - December 2018

Образование

МИРЭА

Системная и программная инженерия, магистр

2013 - 2015

МИРЭА

Приборостроение, бакалавр

2009 - 2013

МИРЭА – Центр обучения иностранным языкам (ЦОИЯ)

Переводчик технических текстов, английский

2009 - 2010

Смена стека: Salesforce -> Go

После поста о моём уходе из Salesforce, мне написал товарищ, который идёт тем же путём с единственной разницей: он решил учить питон. И попросил советов и лайфхаков. Поэтому опишу, как я подошёл к смене стека. TL;DR, список советов: Постоянно изучайте новые для себя технологии. Изучать лучше решая практические задачи. В любом новом языке нужно знать: управление памятью, обработка ошибок, многопоточность. Не забывайте про БД. При переходе с Salesforce на другой стек легко забыть, что мир не ограничен SOQL.
May 4, 2023
Nifty tech tag lists from Wouter Beeftink