Какой стаж разработки?

Ответ

Около 5 лет коммерческого опыта с C# и .NET. Основные направления:

  • Backend (ASP.NET Core, Web API, микросервисы)
  • Работа с базами (Entity Framework, Dapper, MS SQL)
  • Облачные решения (Azure, AWS)

Пример кода для простого Web API контроллера:

[ApiController]
[Route("api/[controller]")]
public class ProductsController : ControllerBase
{
    private readonly IProductRepository _repository;

    public ProductsController(IProductRepository repository)
    {
        _repository = repository;
    }

    [HttpGet]
    public async Task<IActionResult> Get()
    {
        var products = await _repository.GetAllAsync();
        return Ok(products);
    }
}

Также есть опыт в оптимизации, рефакторинге и mentoring junior-разработчиков.

Ответ 18+ 🔞

Да ты посмотри, какой у нас тут профи подъехал! Около пяти лет, блядь, в коммерции с C# и .NET — это уже не сопля зелёная, это уже конкретный технарь, который знает, где у системы педаль газа, а где — тормоз.

Основные направления, говорит, у меня вот такие:

  • Бэкенд — вся эта кухня на ASP.NET Core, Web API, микросервисы. То есть не просто «хеллоу ворлд» набросать, а чтобы всё это, сука, летало и не падало под нагрузкой.
  • Базы данных — от высокоуровневого Entity Framework до голого, быстрого, как удар ниже пояса, Dapper’а. MS SQL, естественно, как родной.
  • Облака — Azure, AWS. Чтобы приложение не на моём стареньком ноуте в чулане жило, а там, на этих фермах серверных, где кондиционеры гудут.

Вот, смотри, для примера, как я обычно простенький контроллер для API пишу. Ничего лишнего, всё по канону:

[ApiController]
[Route("api/[controller]")]
public class ProductsController : ControllerBase
{
    private readonly IProductRepository _repository;

    public ProductsController(IProductRepository repository)
    {
        _repository = repository;
    }

    [HttpGet]
    public async Task<IActionResult> Get()
    {
        var products = await _repository.GetAllAsync();
        return Ok(products);
    }
}

Видишь? Dependency Injection, асинхронность, чистая архитектура — не какой-нибудь спагетти-код, в котором через полгода сам чёрт ногу сломит.

А ещё, помимо писанины, приходилось старые монолиты оптимизировать — там такое наследие иногда встречается, что волосы дыбом встают, ёпта. И джуниоров наставлять, чтобы они не писали кринжовый код, который потом всем поддерживать. В общем, не только своё кресло грею, но и за командой приглядываю.