<Zhenya>
ищу работу 👋

Трофимов Евгений

Fullstack developer, middle+/ senior

Привет, я Женя, у меня ~6 лет опыта работы, считаю себя отличным разработчиком с интересным бэкграундом. Люблю чистый код, красивый и сложный UI, практикую Mobile First, доступные интерфейсы, внимание к деталям.

Интересует позиция frontend разработчика (или fullstack с беком на node.js). Хочу работать с современным стеком технологий и талантливыми людьми, у которых я мог бы учиться и расти.

Любимый стек ❤️

Next.jsReactTypescriptGraphQL

С чем работал

JS Libraries & FrameworksReact, Vue, Next, Nuxt
UI Libraries & FrameworksAnt, MUI, Shadcn, Element, UI, самописные UI библиотеки
State managementRedux, Redux Toolkit, Apollo, Vuex
StylesPostCSS, Sass, Less, CSS modules, Emotion, Styled components, Tailwind
BundlersWebpack, Esbuild, Vite, Turbopack, Rollup, Gulp
Node.js frameworksExpress, Koa, Socket.io
DatabasesPostgreSQL, MongoDB, DynamoDB, GraphQL, Redis
ORMs & Query buildersMongoose, Knex, Sequelize
PaymentsStripe, Moonpay, Transak
AnalyticsGoogle analytics, Posthog
CD/CIDocker, Docker dev container, Heroku, GitHub Actions, k8s
OtherWebhooks, Puppeteer, Cheerio, Node.js workers, Telegram bots, Ruby on Rails, Python

Опыт работы

2022 - н.в.Human

HumanIPO — американский стартап, основная идея которого это дать возможность любому человеку выпустить свой токен (акции), провести свое IPO и раунды инвестиций.

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

ReactTypescriptNext.jsNode.jsDynamoDB
Подробнее

Чем занимался:

  • Система надежных транзакций. Нам необходимо было создавать/обновлять сущности в нашей бд после успешно выполненной транзакции. При этом важно было учесть, что транзакция может не пройти (например недостаточный баланс, ограничение контракта или сеть чейна прилегла). В результате получилась довольно сложная система из 2 воркеров (tx monitor, tx finalizer) в связке с удобными компонентами и хуками на фронте.
  • Самописный брокер сообщений на Redis Streams. Наши воркеры и приложения крутились в k8s, нужно было как-то реализовать общение между ними. В результате получился https://github.com/deadrime/redis-events-queue
  • Воркер для создание красивых image preview для постов. Реализовал при помощи puppeter, в котором рендерил сгенерированный реактом html.
  • Система UI компонентов с широкими возможностями по кастомизации. У нас постоянно все менялось, нужна была такая система компонентов, где можно быстро поменять цвета, размеры, сделать из светлой темы темную, задать у всех компонентов глобальный border-radius/border-width и т.д. Реализовал при помощи rem + css variables + свой ThemeProvider. Так же настроил сборку через vite и паблишинг в наш package registry. Бонусом получили уменьшенный размер бандла, до этого использовали довольно тяжелый antd. Вынес компонент формы в отдельную либу, можно посмотреть тут https://github.com/deadrime/react-any-shape-form
  • Лямбда функция для сжатия картинок на лету. Хотели экономить место на пользовательских аватарах и картинках в постах. При помощи sharp в связке с aws-sdk сделал автоматическую конвертацию в webp, сжатие и ресайзинг (3 размера - thumb, medium, large).
  • Миграция с less на нативный CSS + PostCSS. У нас достаточно медленно работал локальный дев сервер (страницы рендерились за 10 секунд), в процессе ресерча я обнаружил, что это частично связано с less и теми костылями, которые заставляли его работать в связке с next. После миграции удалось отказаться от старых зависимостей, которые не позволяли обновится на 14-й next и использовать turbopack. В результате локальный дев сервер стал работать гораздо быстрее (3 секунды на рендеринг страницы против 10).
2020 - 2021Sber

Я работал в подразделении SberDevices, там мы разрабатывали пользовательский интерфейс приложений, которые запускаются на SberPortal и SberBox.

ReactTypescript
Подробнее

Работал над:

  • Супер Шеф - приложение с готовыми рецептами, где можно найти и выбрать готовый рецепт, чтобы приготовить блюдо
  • S7 airlines - приложение для заказа авиабилетов
  • izi.TRAVEL - приложение для просушивания аудио гидов по городам/музеям
  • Готовая еда - приложение для заказа со всяких сервисов доставки еды вроде delivery club или яндекс еды.
Получил очень интересный опыт создания доступных (a11y) интерфейсов, так как любое приложение должно было поддерживать управление с пульта, при помощи сенсорного экрана и голоса. Научился уделять больше внимания производительности, размеру бандла и аналитике. Осознал, что мы не всегда можем предсказать поведения пользователей и лишь методом проб и ошибок можно создать действительно удобный UI.
2019 - 2021Frogogo

Frogogo - маркетплейс с прикольной системой лояльности. Удаленка, недельные спринты, утренний стендап, карточки в трелло. Когда я только пришел - на фронте жили своей жизнью jQuery + stimulus.

ReactTypescriptRuby on railsWebpackEsbuildStorybook
Подробнее

Чем занимался:

  • Написал библиотеку для UI компонентов на React + Typescript, настроил Storybook
  • Переписал все сложные интерфейсные моменты на React. Например - корзину, поиск, выбор пункта выдачи на карте.
  • Настроил всю инфраструктуру фронта, вначале все было завязано на вебпак, потом перешли на esbuild
  • Интересным опытом было настроить SSR react-а для ruby on rails (удовольствие сомнительное)
  • Реализовал табло для пунктов выдачи (номер заказа, статус).
2019ItCanFly

Первый опыт фриланса и работы на проектной основе, делал как мелкие фичи, так и достаточно крупные проекты, стек был самый разный.

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

Из интересного могу выделить:

  • Создавал графики на chart.js. Различная статистика, курс валют и т.п.
    ReactTypescriptChart.js
  • Участвовал в разработке сайта для антикафе Циферблат
    ReactTypescriptGraphQLApolloEmotion
  • Написал телеграмм бота для персонала. В боте можно было выбрать рабочие смены, провести инвентаризацию.
    TypescriptGraphQLNode.js
2018 - 2019Прочее

Год работал в офисе, требовалось разрабатывать и поддерживать админку с различной статистикой, а так же интерфейс для операторов call-центра и корпоративный чат.

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

Ничего примечательного, типичное формошлепство, могу выделить пару своих заслуг - адаптацию под мобильную версию и переезд с express на koa, в процессе которого мы все отрефакторили. Еще из интересного - внедрил JWT аутентификацию, проповедовал БЭМ, получил опыт создания node.js воркеров, нужно было по крону дергать тяжелые запросы и обновлять данные для построения графиков.

БлогВсе статьи →