Wakacje w Bośni 😉

Nazywam się Oskar Białek.

Mieszkam w Warszawie. Z wykształcenia jestem inżynierem logistyki przedsiębiorstw, którą ukończyłem na Wojskowej Akademii Technicznej w Warszawie w 2015r. Do końca 2018r. pracowałem jako Koordynator ds. Logistyki w firmie z branży Car Fleet Management. Od stycznia 2019r jestem w końcu programistą „na pełen etat” 🙂 Pracuję w Warszawie, w ok. 40-osobowej firmie tworzącej oprogramowanie dla firm z branży fintech. Główny i największy produkt to aplikacja dla firm pożyczkowych oraz windykacyjnych. Napisana w .NET i korzystająca z bazy danych MS SQL.

Aktualnie

jestem Team Leaderem zespołu, który składa się z kilku programistów oraz testera. Pracujemy w trybie sprintowym, nie jest to książkowy „scrum” ale dostosowaliśmy go trochę do naszych potrzeb. Wdrażamy rozwiązania do moich projektów głównie korzystając z możliwości oferowanych przez Azure DevOps.

Kursy i szkolenia

Moje aktualne badge na Credly znajdziesz tutaj

10.2023 – Microsoft Certified DP-900 – Azure Data Fundamentals

09.2023 – Microsoft Certified AZ-305 – Azure Solutions Architect Expert

09.2023 – Microsoft Certified AZ-104 – Azure Administrator Associate

09.2022 – Microsoft Certified AZ-400 – Azure DevOps Engineer Expert

08.2022 – Legacy Fighter by Maciej Aniserowicz/DevStyle

08.2021 – Microsoft Certified AZ-204 – Azure Developer Associate

10.2020 – DbMaster.pl by Damian Widera & Maciej Aniserowicz

2017-2018 – PrzyszlyProgramista.pl by Artur Nowakowski

Co było wcześniej?

Od 2017 roku uczę się pilnie tajników różnych języków programowania i nowych technologii. Zacząłem od nauki C++ w celu poznania podstaw programowania „w ogóle”. Następnie poprzez technologie webowe poznałem HTML, CSS, PHP, MySQL oraz JavaScript i jQuery. Nauczyłem się również tworzyć witryny WordPressowe, takie jak strona, którą właśnie odwiedzasz. Poznałem podstawy Javy i JavaFX. Po mniej więcej roku nauki postanowiłem skoncentrować się na C# i .NET – tu skupiłem się na .NET MVC i .NET Core z wykorzystaniem Angulara2+ i Entity Framework. Z bazodanówki poznałem również MS SQL Server oraz NoSQL w Firebase od Google’a. Ćwicząc i kodując uczyłem się również systemu kontroli wersji GIT. Dodatkowo, staram się pamiętać o dobrych praktykach programistycznych oraz – w razie potrzeby – o wzorcach projektowych. Podczas nauki każdej nowej technologii, staram się w niej stworzyć jakiś prosty projekt, aby utrwalić zdobyte umiejętności.

Skoro jesteśmy przy projektach…

to w celu maksymalizacji efektów i ukierunkowania ścieżki mojego nauczania, postanowiłem skorzystać z Projektu Przyszły Programista autorstwa Artura Nowakowskiego. Podejście autora do przekazywania wiedzy jest niecodzienne, w pozytywnym znaczeniu tego słowa. W Projekcie nie stawia się na naukę wszystkich zagadnień na pamięć, a z materiałem nie działa się „na wariata”. Wszystko jest poukładane, każdy kolejny etap i przekazywaną w nim wiedzę przyswajasz w tempie najodpowiedniejszym dla Ciebie. Projekt nie ma charakteru typowej szkoły programowania – gdzie w ciągu ośmiogodzinnego dnia „pracy” masz szansę nauczyć się (tylko bądź aż) tyle, co reszta grupy. Tu wiedzę przyswajasz samemu, wtedy i w takich porcjach, jakie są dla Ciebie w danym momencie najwygodniejsze. Masz szansę również w praktyce poznać, co to jest „Code Review”, gdyż kod rozwiązywanych zadań i tworzonych podczas Kursu projektów oceniany jest przez Zespół Artura, dzięki czemu od razu wiesz, że coś możesz napisać w przyszłości inaczej, lepiej, bardziej uniwersalnie.

Moje kompetencje:

  • C# – język, który poznałem dotychczas najlepiej. Wykorzystuję go w codziennej pracy, a nowych zagadnień douczam się na bieżąco, głównie z kursów na Udemy/Treehouse/Pluralsight oraz wątków na StackOverflow, ale także z dokumentacji i książek. Znajduję też wiele przyjemności w pokonywaniu wyzwań w Codewars (6 kyu so far!), o ile można umieścić tę platformę w zestawieniu kompetencji 🙂
  • Entity Framework i Entity Framework Core – do spięcia aplikacji .NET-owych z bazą danych. W pracy korzystam z niego do migracji baz danych w podejściu code-first.
  • Kontrola wersji: w pracy korzystamy z Gita – korzystam z niego dokumentując postępy w tworzeniu aplikacji, przy czym staram się rozwinąć w nim nieco bardziej, niż tylko na poziom „add . , commit -m, push, pull” – wiedzę usystematyzowałem korzystając z kursu Maćka Aniserowicza.
  • Wzorce projektowe – poznaję je cały czas i staram się stosować w tworzonych aplikacjach. Najczęściej wykorzystuję wzorce: fabryka, obserwator, fasada i singleton.
  • Bazy danych : MS SQL Server, MySQL, NoSQL – potrafię tworzyć zapytania i procedury składowane w przejrzysty sposób i wyciągać z ich pomocą odpowiednio przetworzone dane. Z niecierpliwością czekam również na start kursu Maćka Aniserowicza i Damiana Widery, aby rozwinąć się w tym kierunku
  • ASP.NET MVC – stworzyłem w tej technologii aplikację webową do obsługi wypożyczalni pojazdów Renteo – zachęcam do przejrzenia kodu źródłowego na Githubie.
  • ASP.NET Core – zbudowałem back-end ciekawej aplikacji do zarządzania dystrybucją biletów na wydarzenia
  • Angular – używam tego frameworka do obudowania strony frontowej moich aplikacji w .NET i .NET Core. Przy pomocy „czystego” Angulara stworzyłem aplikację Filmoteka wykorzystującą zewnętrzne API platformy MovieDB a także z wykorzystaniem Firebase – sklep internetowy z suplementami dla sportowców.
  • PHP – aplikacja webowa czy stworzenie własnego systemu CMS ? Nie ma sprawy!
  • HTML&CSS – front swoich witryn – tych pisany poza WordPressem – potrafię zakodować poprawnie i ciekawie.
  • Javascript, jQuery – umiem dodać do strony ciekawe animacje, czy zapytania AJAX.
  • WordPress – Twoja nowa strona od zera w kilka dni? Żaden problem.
  • C++ – od tego wszystko się zaczęło
  • Java – znajomość powiedziałbym podstawowa, choć co prawda w JavieFX stworzyłem aplikację do sprawdzania pogody, której kod znajdziesz tutaj lub w moim portfolio.

Pisząc swoje programy,

aplikacje i projektując strony internetowe, dokumentuję wszystko skrzętnie historią commitów na githubie. Staram się przy tym utrzymywać możliwie czysty i uniwersalny kod. Na bieżąco poznaję również różnorakie „best practices”, jak naczelne zasady SOLID, DRY czy KISS, ale także tworzenie aplikacji zgodnie z TDD czy DDD – choć przyznam, że te ostatnie nie są (jak na razie!) dla mnie najłatwiejsze. Wiem, czym jest mechanizm Dependency Injection czy IoT. Aby doskonalić swoją wiedzę, rozwiązuję również zadania na portalu SPOJ oraz wcześniej wspomnianym Codewars.

Nie samym kodem żyje człowiek,

dlatego staram się jak najczęściej „wychodzić z jaskini” 🙂 Uczestniczę w konferencjach branżowych oraz mniejszych spotkaniach społeczności, a także odwiedzam targi pracy dla programistów. Kto wie, być może kiedyś sam wystąpię w jednym z takich miejsc jako prelegent czy wystawca… 🙂

W 2018r. „zaliczyłem” :

W 2019 „odhaczone” są:

Od 2020 niestety Covid trochę pokrzyżował plany organizowania konferencji stacjonarnych, dlatego staram się „odwiedzać” takie, hostowane online.

W wolnych chwilach

lubię poćwiczyć grę na pianinie, przeczytać dobrą książkę lub pobiegać. Jeśli tych chwil uzbiera się więcej, to nie pogardzę również ciekawym serialem na Netflixie czy kilkoma meczami w grze FIFA na PlayStation – jeśli chcesz się zmierzyć, to zachęcam do wyszukania gracza o nicku Marborinho 🙂