Fyodor Yemelyanenko, Developer in Khabarovsk, Khabarovsk Krai, Russia
Fyodor is available for hire
Hire Fyodor

Fyodor Yemelyanenko

Verified Expert  in Engineering

APIs Developer

Khabarovsk, Khabarovsk Krai, Russia

Toptal member since December 28, 2020

Bio

Fyodor is a seasoned full-stack developer with over 15 years of experience in IT and in-depth knowledge of JavaScript, TypeScript, React, C#, .NET, and related technologies. He specializes in enterprise software development, large-scale IT infrastructure maintenance, team leadership, and direct management and is known for his self-motivation, discipline, and precision. Fyodor's expertise is further demonstrated by his 10,000+ reputation on Stack Overflow, reflecting his outstanding skills.

Portfolio

CaseCtrl
ASP.NET, JavaScript, TypeScript, MongoDB, Storybook, React, React DnD...
Open Retail
Storybook, Material UI, Redux, JavaScript, TypeScript, React, APIs...
Material-UI
Material UI, JavaScript, TypeScript, React, Visual Studio Code (VS Code), CSS...

Experience

  • JavaScript - 7 years
  • CSS - 6 years
  • C# - 6 years
  • APIs - 6 years
  • .NET Core - 6 years
  • TypeScript - 5 years
  • Redux - 5 years
  • React - 5 years

Availability

Full-time

Preferred Environment

Visual Studio, Windows, Visual Studio Code (VS Code)

The most amazing...

...project I've developed is a full-featured task management application based on React, TypeScript, MongoDB, and .NET Core.

Work Experience

Senior Full-stack Developer

2022 - 2024
CaseCtrl
  • Created components library based on Chakra UI in Storybook to be reused in the project. The library included basic components, like buttons or form inputs, and composite components, like tables and responsive tabs.
  • Added highly customized calendar based on React Big Calendar. It displayed events in different time zones, allowed drag-and-drop events (using React DnD), and had custom event cards.
  • Created dozens of API endpoints with ASP.NET Core (C#) that queried data from MongoDB, processed it, and sent it back to UI or update DB.
  • Developed most of the new full-featured SPA that was built from scratch. The new UI was created in half a year and pushed to production.
Technologies: ASP.NET, JavaScript, TypeScript, MongoDB, Storybook, React, React DnD, React Big Calendar, React Hooks, Formik, APIs, MediatR, Swagger, ESLint, Prettier, Next.js, API Development, Front-end, Databases, Chakra UI, Figma, REST APIs, Front-end Development

Full-stack Developer

2020 - 2022
Open Retail
  • Extended the SolidCommerce primary app with new features. Added a ShipNow UI functionality that allows merchants to split orders into several packages, select the best shipment rate from several carriers, and print shipping labels.
  • Introduced TypeScript and Storybook to the project, which increased the velocity of UI components development.
  • Upgraded the project from React 16 to React 17 and from Material UI 4 to Material UI 5.
  • Configured the Docker Swarm cluster for deploying Azure Function apps on-premise. Added TFS build and release pipeline for Dockerized Azure Function apps.
  • Developed Azure function apps using C# and .NET Core, which are used as API to get data from the SQL Server DB.
  • Contributed to developing the React Native mobile app, which has some features of the main web app, including inventory addition, depletion, and checks.
Technologies: Storybook, Material UI, Redux, JavaScript, TypeScript, React, APIs, Azure Functions, C#, CSS, HTML, Docker, .NET Core, REST, Azure DevOps, .NET, API Integration, Jira, HTML5, eCommerce, React Native, Android, Visual Studio Code (VS Code), Responsive UI, React Redux, Git, ASPX, ASP.NET, Microsoft SQL Server, SQL, Full-stack Development, Full-stack, Back-end, Cloud, SCSS, Expo, Mobile Development, API Development, Front-end, Databases, REST APIs, Front-end Development

Volunteer Software Engineer

2020 - 2020
Material-UI
  • Solved several bugs. All had been accepted to the Material-UI codebase.
  • Extended the types of typography props to accept custom component props.
  • Created a list of pull requests. They can be viewed here: https://github.com/mui-org/material-ui/pulls?q=is%3Apr+author%3Afyodore82.
Technologies: Material UI, JavaScript, TypeScript, React, Visual Studio Code (VS Code), CSS, HTML, Git, Front-end Development

Full-stack Software Developer

2018 - 2020
Nevada, LLC.
  • Designed and developed a job board SPA, including the database, the back end, and the front end. Built the database with SQL, the back end with C#, EF, and .NET Core, and the front end with Material-UI, Redux, React, and TypeScript.
  • Created and developed a task management SPA, including the database, the back end, and the front end. I built the front end with React and Redux, the back end with C# and .NET Core, and I used MongoDB for the database.
  • Established an Azure DevOps environment for all projects, including Git and CI/CD pipelines, and deployed the websites to Azure.
  • Created sophisticated reports in Excel with data extracted from a REST API endpoint, modified with Power Query M, and presented to users using PivotTable.
  • Automated the hiring process using Power Apps and Power Automate. Created Power Apps forms embedded in SharePoint lists for applicants and then used Power Automate to automate applicants' approval and load their data to a third-party HR system.
Technologies: Redux-Saga, Redux, JavaScript, TypeScript, React, Azure, .NET, HTML5, MongoDB, Visual Studio Code (VS Code), Material UI, .NET Core, CSS, APIs, HTML, REST, Azure DevOps, React Redux, Git, Microsoft SQL Server, SQL, Full-stack Development, Full-stack, Back-end, Cloud, Microsoft Excel, Excel 365, Excel 2013, Excel 2007, Excel Expert, Excel 2010, Visual Basic, Visual Basic for Applications (VBA), Excel VBA, API Development, Front-end, Databases, REST APIs, Front-end Development

Software Engineer

2018 - 2018
Freelance Agency
  • Solved bugs in Aurea CRM using JavaScript on front end and C# and C++ on the back end.
  • Fixed bugs in Exinda. Debugged in Linux kernel modules, iptables custom targets, and C++.
  • Achieved the "five bugs in a week" goal in two months—the same goal attained by engineers who worked on the project for more than a year.
  • Worked in a scrum environment with daily stand-ups and Jira backlog.
Technologies: JavaScript, C#, C++, APIs, Jira, Microsoft SQL Server, SQL

IT Manager

2014 - 2018
Nevada LLC
  • Managed three people supporting end users' PCs, 20+ Windows Servers, 5 Exchange Servers, and 10+ Mikrotik routers.
  • Created a project of a private network for over 30 retail shops with primary and backup network channels. Used BGP for dynamic routing.
  • Managed the upgrade to the latest Microsoft Exchange Server version for 1,000 mailboxes.
  • Created an Office 365 hybrid environment. Connected the local Active Directory to Azure AD using AD sync for SSO. Enabled MS Teams for all company users.
Technologies: Networks, Networking, IP Routing, Virtual Machines, Border Gateway Protocol (BGP), Windows Server, Microsoft Exchange, SharePoint, Microsoft Power Apps, Microsoft Power Automate, Microsoft Power BI

Partner Technology Strategist

2006 - 2014
Microsoft
  • Managed several partner-engineering teams: suggested the right engineers, created Microsoft certification plans, first leads, and integration projects.
  • Led the partner-engineering teams in the deployment of the first Microsoft cloud solutions, 400+ Office 365 seats in 2012‐2013. Office 365 was a brand-new technology for customers in the regional market.
  • Presented dozens of pure technical conferences with 100+ attendees on Microsoft products and technologies, including technical deep dives for IT geeks.
  • Automated Excel data processing with VBA, PivotTable, and Power Pivot.
Technologies: Contract Negotiation, Product Evangelism, Networks, Microsoft, Microsoft Exchange, SharePoint, System Center, Microsoft SQL Server, SQL, Microsoft Excel, Excel 365, Excel 2013, Excel 2007, Excel Expert, Excel 2010, Visual Basic, Visual Basic for Applications (VBA), Excel VBA

Experience

React Flexible Form Library

https://github.com/fyodor-e/react-flexible-form
React Flexible Form is an open-source library I developed for building forms.

KEY FEATURES
• External or internal state management. Optionally store form state in the parent component or Redux.
• Form control properties (e.g., onChange, value, onBlur) can have varying signatures depending on the control.
• While it can integrate with React context, it doesn't rely on it.
• Highly customizable. Internal logic can be easily overridden.
• Support for sub-forms.
• Handle different behaviors for each submit button.

Task Management Application

Features:
- The manager was able to set tasks.
- Employees were able to track progress using percentages and by writing daily reports attached to each task.
- The manager and employees could analyze data with Excel Power Pivot.

Implementation:
- Single page application built with React, TypeScript, and Redux on the front end, and C#, .NET Core, and MongoDB on the back end.
- Data were stored in MongoDB documents (the task is a document, and daily reports were embedded documents).
- The app was deployed to the Azure website using CI and CD pipelines in Azure DevOps.
- Code was stored in Azure DevOps (Git).

ShipNow UI

ShipNow UI allows merchants to manage packages used to ship an order:
- Select the number of packages to be used.
- Distribute items between packages.
- Manage package weight, dimensions, delivery address, etc.
- View and select shipping rates from several popular carriers in the US.
- Print carrier-specific package labels and slips right from UI.

New ShipNow was popular among clients and allowed the company to attain new clients.
Implementation details:
- UI was implemented with React and entirely on TypeScript.
- Critical parts were covered with unit tests developed with Jest and React Testing Library.
- ShipNow was a complicated UI with more than 500 code files.

Excel-like Editable Grid in React

Features:
- Frozen columns
- Sort by clicking on the column header
- Column auto-sizing by double-clicking on the column border
- Virtualized scroll
- Unlimited scroll for thousands of rows
- Pivot functions: display columns groups for each group by field (i.e., display quantity and storage location columns for each warehouse)
- Excel-like editing
- Undo/redo

Implementation details:
- Based on React Table with many custom additions (plugins)
- Used memoization (React memo) to increase performance
- Used lightweight grid cells, which were heavily styled with CSS for performance optimization

Education

1999 - 2003

Bachelor's Degree in Electrical Engineering

Far Eastern State University - Khabarovsk, Russia

Certifications

OCTOBER 2022 - PRESENT

Node.js, Express, MongoDB and More: The Complete Bootcamp 2022

Udemy

APRIL 2012 - PRESENT

Microsoft Certified Professional

Microsoft

Skills

Libraries/APIs

React, Redux-Saga, React Redux, REST APIs, React Testing Library, ASPX, API Development, Node.js, React DnD, Formik, MediatR

Tools

Redux Toolkit, Microsoft Excel, Excel 2013, Excel 2007, Excel 2010, Microsoft Exchange, Git, Figma, Microsoft Power BI, Jira, Microsoft Power Apps, Prettier, NPM, GitHub, Expo

Languages

TypeScript, JavaScript, C#, CSS, HTML, HTML5, C++, SQL, Visual Basic, Visual Basic for Applications (VBA), Excel VBA, SCSS

Frameworks

Redux, Material UI, .NET Core, .NET, Jest, React Native, ASP.NET, Next.js, Express.js, Swagger

Paradigms

REST, Azure DevOps, Mobile Development

Platforms

Azure, Visual Studio Code (VS Code), Docker, Azure Functions, Microsoft, SharePoint, Windows Server, Android, Microsoft Power Automate

Storage

MongoDB, Microsoft SQL Server, Databases

Other

Networking, Networks, IP Routing, Front-end, Front-end Development, Storybook, APIs, System Center, Microcontrollers, API Integration, Responsive UI, Virtual Machines, Border Gateway Protocol (BGP), Full-stack Development, Full-stack, Back-end, Cloud, Excel 365, Excel Expert, Chakra UI, Contract Negotiation, Product Evangelism, Electricity, eCommerce, Performance, React Big Calendar, React Hooks, ESLint, Monorepos

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring