Position: Software Developer
Category: .NET
English level: upper
Years of experience: 8

Considering I am responsible for development of 2 quite large products, it is hard to choose something one.

However, the main achievement is that the products are still alive and used in new projects (not only legacy ones) despite there are incredibly strong competitors like EF and gRPC.

I believe that one of the main reasons for this is that were constantly evolving, adapting new .NET technologies and software development approaches.

For example, I have designed and implemented our own implementation of REST server (with OpenAPI support). Considering that the communication framework is something similar to gRPC (however it was around years before gRPC), this addition allowed to access from any client that is supported by Swagger codegen (including React, Angular and Vue)

Also I've designed and implemented Dependency Injection support for the server apps. It was surprisingly hard to do without breaking existing customer code. The framework exists for good 20 years, so backwards compatibility is an issue.
Responsible for the full cycle of product features development, including feature request gathering, feature planning, development, user documentation and further maintenance.

Products:
• Cross-platform multi-tier data access framework (closest analogue is EF Core with built-in remoting capabilities)
• Cross-platform RPC framework (closest analogue is gRPC)

Recently implemented features:
• Implementation of REST / OpenAPI - compatible communication protocol
• Integration of Dependency Injection support into the framework, including support for most commonly-used IoC containers
• Development of developer productivity tools including Visual Studio IDE integration and separate developer tools (both command-line and GUI-based)

Technologies:
• .NET Framework, .NET Core, .NET 5/6
• C#
• RPC
• REST
• LINQ
• SQL

Q: Why middle position?
A: I am looking for a middle developer position as I want to switch from (a quite specific) developer tools development domain to a more applied one.

Q: I don't see a [tech name] in the list of tech you used. You don't know it, do you?
A: I know how these tech work from inside out and I have developed similar ones. It is not a big deal to close the gap.
More or less modern tech stack, however I am not afraid of reasonable amount of legacy techs - related work.
Ability to grow inside the company and with the company.