O mnie

Przez znaczną część mojej programistycznej “kariery” miałem częsty kontakt z klientami. Uczestniczyłem w spotkaniach od etapu zbierania wymagań, poprzez wdrożenia i zbieranie uwag końcowych. Doświadczenia te wyrobiły u mnie mocne przeświadczenie, że programowanie powinno być podporządkowane celom biznesowym i potrzebom klientów. Rozwinęły u mnie zainteresowania związane z budowaniem wymagań i projektowaniem systemów.

Na co dzień, w pracy,  jestem przede wszystkim programistą. W domu: mężem cudownej żony, ojcem wspaniałego przedszkolaka-rozrabiaka oraz… programistą 🙂 Po godzinach rozwijam aplikacje i gry mobilne.

Technologie, których używam na co dzień:

C#

Główny język programowania, którego używam od początku swojej kariery programistycznej. Przeszliśmy razem drogę od aplikacji desktopowych, poprzez aplikacje webowe i coraz częściej obecnie, aplikacje serverless

.NET Core

Framework, w którym w chwili obecnej głównie piszę aplikacje serwerowe. Wykorzystuje głównie w połączeniu z ASP.Net WebApi i Azue Functions. Doświadczenie zdobywałem już od pierwszych jego wersji, uruchamiając produkcyjnie dużą aplikację na wersji 1.1 w 2017 roku.

Azure

Azure jest dla mnie zmianą podejścia do hostowania rozwiązań. Wraz ze zmianą pracy przestawiłem się z hostowania aplikacji on-premise na deploy do chmury. Głównie wykorzystuję takie składniki jak WebApps, Virtual Machines, Azure Functions, Azure SQL, Event Hub.

Javascript

Język wykorzystuję głównie pisząc aplikacje frontendowe. Sporadycznie zdarzają się też te pisane w Node.js. Cenię JS za szybkość implementacji. Mam też kilka uwag krytycznych wobec tego języka :), ale żyjemy razem już dobrych kilka lat.

Typescript

Pisałem i utrzymywałem duże aplikacje w Javascript’e dlatego doceniam język Typescript. Jest on zawsze pierwszym wyborem w stosunku do czystego Javascriptu.

Angular

Doskonale sprawdza się przy budowaniu modularnych rozwiązań frontendowych. Zaczynałem tworząc aplikacje w AngularJS, teraz piszę głównie na wersjach 6 i 7.

SQL Server (Azure SQL)

Projektowanie, zarządzanie bazami danych oraz analiza wydajności zapytań zawsze towarzyszyła mi w moich projektach. Łezka się w oku kręci, gdy człowiek przypomni sobie czasy, gdzie cała logika biznesowa zawarta była w procedurach składowanych.

Entity Framework Core

Obecnie, ze względu na szybkość implementacji, część interakcji z bazą danych związaną z zapisami do niej, realizuję głównie wykorzystując Entitiy Framework. Wcześniejsze doświadczenie z bazami danych, pozwala mi wyłapywać potencjalne problemy wydajnościowe.

Unit testy

„Would you rather Test-First, or Debug-Later ?” — Robert Martin. Jestem wielkim fanem unit testów. Chociaż, nigdy nie zaszkodzi, dopisać jakiś test konwencji, który wymusi pisanie testów jednostkowych 🙂