Position: Strong middle/Senior .NET/JS full-stack developer
Category: .NET
Experience: 4 years | English: upper

- built multiple plugins for different Autodesk desktop products from the ground up that allowed my employer to save a huge amount of man-hours in our structural engineering department.
- greatly expanded the functionality of existing company desktop products (construction management software) and greatly boosted the performance of existing tools by implementing proper multithreading and optimizing DB-related code and procedures.
- designed and implemented a new complex web app for my previous company from scratch with a separate identity server, multilingual responsive UI, mobile devices support, offline work support (PWA with an advanced customizable caching system using browser's IndexedDB), and much more.
- developed custom model geometry exporters for Autodesk BIM software to GLB/GLTF and IFC formats from scratch that solved a problem that our software was tied to proprietary model formats. 
- created a custom viewer for industrial 3D models with user interaction support, customizable HUD, and decent performance on huge scenes. Embedded the viewer to the company apps (web and desktop) so their clients can view construction 3D models without buying third-party software. 
- built a new specification-compliant viewer for PDF files available for web and desktop apps. It is based on PDF.js and uses complex custom logic built from the ground up to support adding and editing annotations of different types, which can be stored both inside the document and separately from it, which is still heavily used by my previous employer.
- applied some huge optimization and refactoring to my current company's projects (web applications in the financial field) which led to a vast improvement in the performance of the applications allowing our customers to handle data from more clients in a much shorter time and without increasing the costs spent on hosting services. Also made some major code refactoring and implemented new functionality for their apps, both in the UI and the backend, related to data processing, report generation, user authentication, localization, and so much more.
- helped our junior developers improve their skills and knowledge, and continually exchanged experience with my colleagues.
- took an active part in PR reviews, team code reviews, designing projects' architecture.
- vastly improved my English speaking skills by taking part in countless amount of meetings and discussions within the team and with the customers.
Languages:
- C# and JavaScript (mostly Typescript, actually): broad knowledge and considerable experience; the main languages I use at my current job;
- Python and Java: basic knowledge and some non-commercial experience; used only in small pet projects;

Platforms and frameworks:
- .NET: creating reusable libraries with .NET Standard; programming new and expanding the existing desktop apps and plugins with .NET Framework + WPF; building web apps from scratch, also expanding and extensive refactoring of the existing ones using ASP.NET + EF (both Core and Framework versions).
- Angular: building complex multi-modular single page and progressive web apps from the ground up, refactoring and expanding the existing ones;
- Node.JS: programming console and web apps on a non-commercial basis using Express, Nest.JS;

DBMS:
- MSSQL: proficient; main DBMS I used at my jobs; created a lot of new functions and stored procedures for our projects and optimized even more;
- PostgreSQL: used in a few small projects; 
- CosmosDB: practiced; have commercial experience working with it;
- MongoDB: have a clear understanding but less experience; used it mostly in pet projects;
- RedisDB: used in one of the company projects;

Server technologies: IIS, Azure cloud services.

I'm also familiar with:
OOP, SOLID, design patterns, multithreading, async programming, API, REST, SPA, PWA, OAuth2/OpenID, SSO, Azure services (DevOps, web jobs, functions, blob storage, service bus), Docker, WebGL+GLSL, BIM, SCRUM, etc.

Just some libs I have experience with:
NPOI, OpenXML, IdentityServer, OpenIdDict, SignalR, CefSharp, EmbedIO, LiveCharts, Rollup, Karma, Jasmine, RxJS, jQuery, D3.js, Chart.js, Datatables.net, AgGrid, Three.js, PDF.js, and many others.

English: B2.

My commercial experience as a programmer began in May 2019. I started working in the IT department of a local company specializing in industrial construction design as a junior .NET developer. As a part of a team, I was working on a construction management software system, consisting of a few desktop apps, a web app, and a bunch of plugins for third-party software. I evolved into a middle full-stack .NET+JS dev and was the one trusted with the most difficult programming tasks we had. After the project left the active development stage I felt I was ready to move forward and found a job in another company, in which I continue to work as a full-stack developer within an experienced international team for foreign customers.
I mainly focus on full-stack web programming, although interesting desktop or mobile projects are still good to go. I'm looking forward to working on challenging ambitious projects with positive people. Being a part of a multinational team primarily using English (like my current team is) would be great.

Not interested in supporting old legacy applications using some obsolete technology stack. It's a sure way to stop evolving and lose further prospects, and I want to keep up with the times and face new challenges. I'm always ready to acquire new knowledge and skills as well as improve my existing ones. 

I'm generally interested in a long-term collaboration. However, some short-time though gripping projects are welcome.

Remote employment is highly preferred. Life is too short to waste it in public transport or traffic jams. I will only accept an exceptional office job offer.
Official employment and any help with a work visa in the EU country would be a huge plus as I'm not planning to return to Ukraine in the foreseeable future.

I'm not a fan of any kind of obligatory team building or any similar group activities unrelated to my direct responsibilities. Being forced to attend any of these is a drawback for me. I also don't care about any 'sweeteners' like free cookies in the office or a free gym, as I won't use any of this anyway.

I'm a self-taught software developer, who made his way into programming by spending lots of evenings and weekends learning stuff while having a demanding full-time job. If you are looking for a diploma, not for real skills, performance, and persistence, please save your time, I'm not your candidate. However, I'm ready to consider attending some educational courses to fill in this gap if it's beneficial for long-term cooperation with your company.