Artur Fedotiev

Software Engineer

Profile Avatar

Around 6 years of experience in developing Web applications using HTML + CSS, SASS, JavaScript, TypeScript. Deep knowledge in developing huge enterprise SPA's using Angular 6-13 and associated tools. Experience making client side architectural solutions, working with mono-repository architecture, DDD methodology, and lately micro front-ends with Module Federation approach. Experience in developing Browser agnostic Web extensions.

Experience with leading up to 10 FE developers and taking part in mentoring, and onboarding processes. Participation in projects with distributed teams with a size of up to 100 persons, with the different SDLC, staff models and business domains. As a result, I have a strong understanding of developing products from scratch by a huge and small teams with a high focus on code quality, compliance to SOLID principles and test coverage. Also, I like to share my knowledge during meetups and by mentoring.

Designing software is my passion which is supported by curiosity and dedication to self-improvement. Therefore, I am looking for the enterprise projects environment which has a strong development culture and is focused on the highest standards.

Experience

Software Engineer

Dash Financial technologies | 10/2022 - PRESENT

  • Developing a client system for a financial company with high load, high availability and real-time data processing UI with AG-grid.
  • Building reusable UI components and mat-form-fields using Angular Material & Tailwind.
  • Implementing form controls and components with Angular Reactive Forms and Angular Material.
  • Using RxJs and NgRx Component Store for state management.
  • Migrating legacy codebase to a new architecture using DDD methodology and NX-workspace.
  • Enhancing code quality and test coverage through unit testing with Karma+Jasmine/Jest and integration testing with Angular Testing Library.
  • Optimizing the CI/CD process by introducing NX cloud, affected commands and NX cache.
  • Working with Bitbucket version control system.

Senior software developer at Ciklum

Ciklum | 07/2020 - 08/2021

Main:

  • Leading a FE sub-domain team
  • Participating and ensuring proper client-side architectural solutions to enable autarkic teams, independent deployments possibilities, accelerated on-boarding processes, quality and speed of product delivery.
  • Use of NX-workspace tools for building a product with mono-repo architecture.
  • Ensuring code quality and decoupling between domain, which with a use of nx speeds-up CI/CD process, and decreases team dependencies inside repository.
  • Investigating and analyzing of different approaches, drawbacks and benefits of introducing micro front-end architecture, mainly with Module Federation approach.
  • Improving the CI/CD process by introducing NX cloud, affected commands and NX cache.
  • Responsible for creating responsive UI/UX with HTML, CSS3, SASS, TypeScript, Angular 10-12.
  • Performance-tuning by applying practices of code splitting and lazy loading approaches to large-list UI components, networking, and cashing.
  • Developing of reusable UI components.
  • Unit testing with Jest.
  • Introducing Cypress component-testing for the UI components testing.
  • Working by Agile Scrum methodology and MS Azure is used as a version control tool
  • Mentorship
  • Continuously working with documentation.

Secondary:

  • Part-time work on internal BE project meant to automate interview processes inside a company.
  • Implementing features with Nestjs, PostgreSQL database, Typeorm
  • Implementing UI with React, Redux, React-Query, React-Testing-Library, Jest, Cypress.
  • Implementing authentication with Firebase.

Front End Developer

AndersenLab | 11/2018 - 07/2020

  • Responsible for creating efficient design and developing User Interaction screens using HTML, CSS3, SASS, TypeScript, Angular 6-10.
  • Developed Chrome Extension using Angular 8, and custom redux store implementation.
  • Extensively worked with NgRx state management.
  • Building reactive UI using RxJs library capabilities for push based architecture.
  • Developed reusable components for internal design system using Ant Design.
  • Worked with Jasmine and Karma, Jest for unit testing.
  • Designed and developed the application using Agile Scrum methodology.
  • Used JIRA for bug tracking. Git is used as a version control tool and Jenkins is used for continuous integration of builds.

JavaScript developer

RiverSoft | 05/2017 - 11/2018

  • Designing and developing the web application using HTML5, CSS3, Bootstrap, JavaScript.
  • Building admin dashboard using React
  • Extensive usage of Bootstrap for layout as well as responsive design and SASS for Responsive design.
  • Performed unit testing after writing the code by using Jest Framework.
  • Designed and developed the application using Agile Scrum methodology.

Skills

Frontend

Angular
React
Qwik
JavaScript
TypeScript
HTML5
CSS/SaSS
redux/ngrx

Backend

NodeJSExpressNestJSTypeORM

Databases

PostgresqlMongodbFirebase

Testing

Jest Unit Testing
Jasmine/Karma Unit Testing
Cypress E2E Testing
Cypress Component Testing
TDD

Architecture

DDDNx-MonorepoMFEClean Arch.Hexagonal Arch.

Version control tools

GithubBitbucketGitLabAzure DevOps

Languages

English
German
Bulgarian
Ukrainian
Russian

Education

Master's Degree of Electrical and Electronics Engineering

Kremenchuk State Polytechnical University, Ukraine

2011 - 20017

Hobbies

gymhikingbicyclinglanguagesneural biologytechs I don't use at work