pleshevski.ru/dist/assets/works.html-CihZ59B-.js

2 lines
7.5 KiB
JavaScript
Raw Permalink Normal View History

2024-10-15 16:20:10 +03:00
import{_ as t,c as r,e as a,o}from"./app-CvTe0YTg.js";const i={};function n(l,e){return o(),r("div",null,e[0]||(e[0]=[a('<h2 id="highlighted-working-experience" tabindex="-1"><a class="header-anchor" href="#highlighted-working-experience"><span>Highlighted working experience</span></a></h2><h3 id="binary-management" tabindex="-1"><a class="header-anchor" href="#binary-management"><span>Binary Management</span></a></h3><ul><li>Dates: August 2018 currently</li><li>Roles: Lead Fullstack Developer, Team Lead, Architect</li></ul><p>Development of a Project Management Tool for Interior Designers</p><h5 id="backend-graphql-api" tabindex="-1"><a class="header-anchor" href="#backend-graphql-api"><span>Backend GraphQL API</span></a></h5><p>Stack: <code>Node.JS</code>, <code>Apollo</code>, <code>PostgreSQL</code>, <code>Redis</code>, <code>BullMQ</code></p><ul><li>Migrated database triggers into business logic. Code became easier to read and maintain, and the system became more reliable.</li><li>Introduced unit testing and integration testing practices. I wrote over 70% of all tests myself.</li><li>Added GraphQL subscriptions for dynamic updates.</li></ul><h5 id="frontend" tabindex="-1"><a class="header-anchor" href="#frontend"><span>Frontend</span></a></h5><p>Stack: <code>React</code>, <code>Apollo</code>, <code>Antd</code></p><ul><li>Formed a UIKit and general components, optimized complex and loaded components.</li><li>Changed API work on the frontend.</li><li>Introduced integration testing practice using Cypress.</li><li>Migrated the entire project to TypeScript. Created isolated system modules.</li></ul><h5 id="leadership-of-the-team" tabindex="-1"><a class="header-anchor" href="#leadership-of-the-team"><span>Leadership of the Team</span></a></h5><ul><li>Introduced TDD (Test-Driven Development) practices.</li><li>Brought the &quot;Critical Chain Method&quot;, the &quot;Buffer Method&quot;, and the &quot;Backward Planning&quot; method into the project. Helped the team get in sync, releasing small batches every week.</li><li>Created individual development plans for team members.</li></ul><h5 id="architecture" tabindex="-1"><a class="header-anchor" href="#architecture"><span>Architecture</span></a></h5><ul><li>Broke down the entire codebase into modules by feature.</li><li>Optimized <code>PostgreSQL</code> database, splitting company data into separate schemas and applying partitioning tables.</li><li>Added query caching with Redis.</li><li>Reduced infrastructure costs by 5 times, migrating the project from Kubernetes to NixOS.</li></ul><hr><h3 id="core-spirit-back-office" tabindex="-1"><a class="header-anchor" href="#core-spirit-back-office"><span>Core Spirit (Back Office)</span></a></h3><ul><li>Даты: Август 2024 - currently</li><li>Роль: Lead Fullstack Developer</li></ul><p>Development of the Back Office for Core Spirit social platform.</p><ul><li>Integrated <code>Dependabot</code>, which helped update all outdated dependencies. Replaced webpack with <code>vite</code>.</li></ul><hr><h3 id="master-progress" tabindex="-1"><a class="header-anchor" href="#master-progress"><span>Master Progress</span></a></h3><ul><li>Dates: May 2018 - currently (Passively maintained)</li><li>Role: Tech Lead</li></ul><p>Development web infrastructure of the educational center Master Progress</p><ul><li><a href="https://masterprogress.ru" target="_blank" rel="noopener noreferrer">The main site</a> (<code>Python</code>, <code>Flask</code>).</li><li><a href="https://cabinet.masterprogress.ru" target="_blank" rel="noopener noreferrer">Student&#39;s cabinet</a> (<code>Python</code>, <code>Flask</code>, <code>TypeScript</code>, <code>React</code>, <code>PostgreSQL</code>).</li><li><a href="https://rosmintrud.masterprogress.ru" target="_blank" rel="noopener noreferrer">A tool for rosmintrud</a> (<code>Deno</code>, <code>Vue</code>, <code>Typescript</code>)</li><li>A complete infrastructure was created on <code>NixOS</code>. Before that, I had created an infrastructure using <code>Drone CI</code> / <code>Woodpecker CI</code> and <code>Dock