Дмитрий Левшин

Frontend engineer · Фронтенд · Старший (Senior)
От 300 000 ₽ · Открыт к предложениям
Опыт работы: 2 года и 5 месяцев
Регистрация: 05.10.2020
Последний визит: 4 недели назад
Местоположение: Россия, Москва
Профессиональные навыки: ReactJS · Redux · Typescript · MobX · Apollo · CSS · Node.js · ExpressJS · GraphQL
Войдите, чтобы посмотреть контакты пользователя

Обо мне

About me 🤔:
1. Wide knowledge of computer science: algorithms, data structure, boolean logic, graph theory, and etc.
2. Advanced knowledge of JavaScript (this, closure, prototypes, event loop and etc.).
3. Wide expertise in Typescript and Flow.js (generics, infer, recursive types, extends, covariance/contravariance and etc.). In the last project, I created a powerful type-checking infrastructure, which excellent infers types after great manipulations and prevents wrong using the infrastructure. Also, I was a great successful experience (initiator and main maintainer) of changing the language of the codebase: from Flow.js on Typescript.
4. Deep understanding of React (Reconciliation, Fiber, Virtual Dom, lifecycle, hooks, Pure Component, Suspense, concurrent mode, HOC, render children, SSR). Had great successful experience in searching and fixing problems in different React applications.
5. Great experience with Redux (redux-toolkit, thunks, promise middleware, reselect) and understanding, that you shouldn't put a state of a select or input element in Redux store. I developed my own Redux-flow, that united redux-toolkit, typescript, and the idea of dynamic reducers. Also, I had experience with MobX and Effector, and understand, that Redux isn't a silver bullet.
6. Created a lot of complicated UI components like asynchronous select (with pagination and infinity loader), date(time)picker, table and etc. I extracted them in a separated UI library based on TSDX and used it in different company projects
7. Work with different technology for styles: styled-components, reshadow, but I prefer CSS-modules.
8. Understanding Node JS and frameworks: express, NestJS, Next.js.
9. Have great experience with REST and some pet projects on Graphql (Apollo, graphql-yoga).
10. Always write tests for different business logic and don't write tests for layout. I have a strong opinion: if your code isn't testable, it's bad code. I worked with: enzyme, jest, testing-library, karma.
11. Have big experience with git (resolving merge conflicts, interactive rebase, squash, stash, cherry-pick and etc.).
12. Have experience in creating an architecture of an application and changing the architecture of the existing project. I understand and successfully apply different principles, like SOLID, DRY, YAGNI, KISS.
13. Work with agile frameworks like Kanban and SCRUM, can decompose and estimate tasks, understand that "story points" ≠ hours. I have a belief, that your work is measured by results, not hours of working and amount of code.
✅ I've enormous interest to companies, that:
1. Appreciate my professional level and my expertise.
2. Allow me to have a high level of independence and influence on result.
3. Have a great level of flexibility and support initiative from below.
4. Don't have ossified rules and practices (ready for changing).
5. Have transparent system of salary correlation from skills, responsibilities or other ones.
6. Support my initiatives in professional growth (books, conferences, mentors, and etc.). In an ideal situation, your company has something like a "grow portal", courses, or PDP.
7. Have a package of benefits: English courses, gym, food and medical insurance.
8. Have a lot of gifts in your kitchen like buns, bakes, fruits and tasty coffee 😉.
⛔ I don't interest in companies with:
1. Unofficial salary or other machinations.
2. Great bureaucratic system and millions accesses for everything (bank or something like this).
3. System of time-tracking or synthetic KPI system.
4. Working only from office.
5. Missing coffee-machine 😿.

Опыт работы

  • СервисТранс
    Senior React Developer
    Октябрь 2019 — По настоящее время (1 год и 4 месяца)
    Работа в инфраструктурной части команды, создание собственной UI библиотеки, оптимизация и изменение архитектуры проекта, осуществил переезд с Flow.js на Typescript, переезд с классического Redux на Redux Toolkit, написаk большое количество сложного вывода типов, типопреобразования и сверки типов для ядра проекта. Также занимался разработкой бизнес фич и правкой багов.
  • Ведущий мировой поставщик услуг по разработке программного обеспечения и цифровых платформ
    Рязань · Более 5000 сотрудников
    Frontend engineer
    Сентябрь 2018 — Октябрь 2019 (1 год и 2 месяца)

    Разработка(в т.ч. с нуля) и поддержка высоконагруженных банковских проектов на стэке: TypeScript, React, Redux, Material-UI. Оптимизация бизнес-логики и перфоманса приложения.

Высшее образование


    Рязанский государственный радиотехнический университет
    Рязань · 443 выпускника
    Сентябрь 2015 — Июнь 2019 (3 года и 9 месяцев)