Jestem programistą .NET skupionym na backendzie i mam niespełna 2 lata doświadczenia komercyjnego. Na co dzień pracuję w C# i ASP.NET Core, budując REST API, procesy w tle i logikę biznesową. W ostatniej pracy rozwijałem system backoffice dla branży muzycznej oparty na .NET i PostgreSQL. Rozwijałem backend, procesy backgroundowe i integracje, a dużą wagę przykładałem do tego, żeby system działał stabilnie po wdrożeniu. Najbardziej konkretny przykład z tego projektu to wielowątkowy proces generowania i pakowania XML. Problem polegał na tym, żeby równolegle uruchomione wątki nie pobierały tych samych rekordów, a po błędzie cały proces dało się bezpiecznie wznowić. Rozwiązałem to przez transakcje, SQL SKIP LOCKED, retry z opóźnieniem i rozbicie zapisu na bezpieczne etapy. Do tego dochodziła walidacja danych przed dalszym przetwarzaniem. Osobnym elementem były integracje z Azure Blob i FTP. Dzięki temu proces działał stabilniej, nie dublował rekordów i był łatwiejszy do utrzymania. Na co dzień pracowałem też w normalnym rytmie zespołowym: code review, Git, sprinty i Azure DevOps. Pilnuję również, żeby krytyczna logika była zabezpieczona testami. Teraz szukam roli backendowej w .NET, w której dalej będę pracował przy API, integracjach i systemach, które faktycznie działają na produkcji.
