Dawid Bautsch Dev Blog

No category

Witajcie na moim blogu!

dbautsch

Nie jest to mój pierwszy w życiu blog. Wcześniej, przez kilka lat używałem WordPressa. Nawet całkiem niedawno odnośnik na serwerze wskazywał właśnie na ten adres, pod którym obecnie się znajdujesz.

Na pewno nie będzie to blog, w którym cyklicznie będą pojawiały się dokładnie opracowane wpisy. Mam inny pomysł, który być może tym razem się powiedzie. Chciałbym, aby ten blog był moim programistycznym zaworem bezpieczeństwa, przez który ulecą frustracje dnia codziennego. Nie wykluczam również, że będę tutaj zamieszczał krótkie rozwiązania, czasem trudnych problemów. To w pewien sposób definiuje mnie jako programistę (co niektórzy mi wytykają). Mam skłonność do dawania wędki, nie ryby. Zresztą, ufam, że jest naprawdę wiele osób, które wystarczy tylko nieznacznie nakierować, aby same ruszyły do przodu. Tym, którym to nie pomoże, mogę jedynie napisać: nie poddawajcie się!

Ponieważ stary blog to mnóstwo starego contentu, który już jest “out-dated”, zaczynam od nowa. Tym razem postawiłem na BlogEngine.Net. Jestem świadomy jego ograniczeń oraz wad. Niestety WordPress zbyt wiele razy mnie zawiódł, poza tym lubię czasami eksperymentować z czymś nowym.

O mnie

Nie lubię być w centrum uwagi, jednak tym razem zrobię wyjątek. To w końcu mój blog, więc wypada się przedstawić.

Interpreterowe początki

Jaka historia stoi za moim “zawodowym ja”? Dla wielu programistów – standardowa. Dla niektórych ludzi z poza branży – nie do pomyślenia. Dlaczego? Od momentu kiedy byłem nastolatkiem, interesowałem się informatyką. Bakcyla zaszczepił mi mój ojciec, wypada o nim tutaj napisać. Był programistą-amatorem QuickBasic oraz TurboPascal (czasy MS-DOS). Bardzo dużo czasu spędzałem na rozgryzaniu wszystkich rzeczy niemożliwych. Niemożliwych, ponieważ za czasów systemu operacyjnego MS-DOS ze wszystkim było pod górkę. Tak więc zacząłem pisać pierwsze “programy” wsadowe, używając skryptów batch Windows. Długo to nie trwało, ponieważ okazały się one zbyt ograniczające. Tak zaczęła się moja przygoda z QuickBasic. Pisałem w nim sporo programów, głównie obliczających “coś” (na przykład kalkulator prawa Ohma).

Wreszcie mam EXE: Turbo Pascal

Niestety wadą QuickBasic’a było to, że do działania programu potrzebny był interpreter (przynajmniej wtedy nie posiadałem wersji z możliwością kompilacji). To był powód, dla którego rozpocząłem naukę Turbo Pascal’a. W zasadzie ograniczyłem się do jego ostatniej wersji, czyli 7.7. Międzyczasie próbowałem napisać cokolwiek w języku C oraz asembler 16 bit, niestety braki w wiedzy okazały się zbyt poważne i musiałem poczekać kilka lat, aby móc tworzyć prawdziwy soft.

Prawdziwe programowanie

Zaczęło się z wejściem w świat Windows API oraz C++ (standard ’98). Równolegle opanowywałem język Ansi C. Używałem wtedy systemu Microsoft Windows 2000, który był oparty na jądrze Windows NT. To pozwalało na wykorzystanie pełnych możliwości nowego API i zerwanie z ograniczeniami 16 bitowych jąder Windows 9x.

Od zawsze miałem wyłącznie słabe komputery, stąd wzięło się moje zamiłowanie do optymalizacji kodu oraz języków kompilowanych.

Przygoda na własny rachunek

Trwała cztery lata i rzadko kiedy była finansowo opłacalna. Byłem freelancerem. Tworzyłem prawie wyłącznie oprogramowanie desktopowe. Sporadycznie wykonywałem proste aplikacje internetowe oparte na PHP. Dorobiłem się przysłowiowego garbu na plecach i solidnego doświadczenia, które miało się przydać w kolejnych latach.

Klasyczne podejście

Okazało się, że praca freelancera nie służyła mojemu portfelowi, dlatego z niej zrezygnowałem. W 2012 roku rozpocząłem pracę w firmie Infolab. Dołączyłem do właśnie rozbudowywanego teamu programistów C++. Mieliśmy wyciągnąć z mroków średniowiecza desktopową aplikację napisaną w języku C++ z użyciem technologii VCL (Borland/Embarcadero). Podjąłem się tego wyzwania. W trakcie czterech lat, które tam spędziłem miałem okazję przejść przez wszystkie etapy zaangażowania pracownika. Włącznie z rezygnacją na samym końcu. Pracowałem na stanowisku Senior C++ Developera, więc brałem czynny udział w projektowaniu oraz tworzeniu najistotniejszych elementów aplikacji. Niestety technologia, którą stworzyła firma Borland okazała się na tyle niewdzięczna, że nawet najtęższe głowy nie potrafiły ogarnąć bugów w całym systemie. Odszedłem z firmy, ale udało mi się poznać sposoby radzenia sobie z legacy software, poznałem także OpenGl oraz kilka ciekawych osób.

Czasy teraźniejsze

W grudniu 2016 rozpocząłem pracę w firmie Future Processing. Od tego momentu rozpoczęła się nowa era. Wiele rzeczy uległo zmianie. Od razu zostałem wrzucony do bardzo mocnego teamu, w którym większość osób to C++’owi wyjadacze. Spora dawka pokory przyjęta. Poznałem nowe technologie. Rozpocząłem naukę Node.Js oraz Python. Node szczególnie przypadł mi do gustu, chociaż cały czas spoglądam zazdrośnie w stronę Qt oraz C++, czyli mojej tożsamości.

Tworzymy coś, czego jeszcze nie ma na rynku. To nie tak poważny i wielki projekt, w jakim wcześniej brałem udział, jednak skala innowacyjności powoduje zdziwienie nawet u senior developerów. Mam regularne warsztaty z Machine Learning. Uczę się języka R.

Co dalej?

W przyszłości wystartuję z moim własnym, komercyjnym projektem. Kamień węgielny w postaci szkieletów klas został już położony. Pierwsze strony brudnopisu zostały zapisane. Tylko brak czasu jakoś wpływa na znikome postępy w rozwoju programu. Ale to jeszcze nie moje ostatnie słowo.

W radio na końcu zawsze pozdrawiają. Tak więc, pozdrawiam moją korektorkę, czyli żonę Katarzynę. No i mamę oraz teściową. Poważnie.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Back to top