Masz pytanie?

Programowanie

Data:2019-08-19

 

 

Z tym programowaniem to też jest całkiem ciekawa historia. Pisałem już, że praktycznie od dziecka tworzyłem jakieś proste programy, używając BASIC-a w Commodore, czy później pisząc skrypty dla znajomych. Przełom jednak nadszedł w 1999 roku, kiedy rozpocząłem naukę w informatycznym Policealnym Studium Zawodowym o specjalizacji "Systemy Zarządzania Relacyjnymi Bazami Danych". Uczyliśmy się tam "wytwarzać" programy w najbardziej wówczas popularnych językach, tj. Pascalu i Clipperze (do dziś zastanawiam się czemu nie w C++, czy asemblerze), a edukację wieńczyła obrona samodzielnie napisanego dużego programu zaliczeniowego. Szkołę tę ukończyłem z całkiem niezłym wynikiem i zanim dostałem pierwszą pracę, zdążyłem napisać szereg różnych ciekawych aplikacji użytkowych, choćby wspomniany wcześniej program do kopii rejestrów systemu Windows 95/98/Me w Pascalu*.

 

* Ciekawostka: prawdopodobnie byłem w tym szybszy niż sam Microsoft, który nie oferował wówczas żadnej natywnej metody do tego typu operacji. Mówiąc krótko, modyfikując rejestr, można było liczyć tylko i wyłącznie na własną wiedzę i umiejętności. Dopiero od systemu Windows Vista istnieją porządne wbudowane punkty przywracania, czyli "Ostatnia znana dobra konfiguracja" (w Windows XP nie działa to zbyt dobrze).

 

W 2004 roku nastąpił przełom i otrzymałem zatrudnienie w MPK Łódź. Początkowo byłem zwykłym serwisantem, lecz dyrektor Zakładu Informatyki szybko dostrzegł moje umiejętności i przeniósł mnie do działu programistów, gdzie zaangażowany zostałem w pracę nad potężnym i złożonym centralnym systemem dla Nadzoru Ruchu (część tworzona była w Clipperze/Alasce, a część w Delphi). Nauczyłem się tam bardzo wielu technik programistycznych oraz fachowego podejścia do wytwarzania profesjonalnego oprogramowania i jego wersjonowania. Trwało to dwa lata.

W tym jednak miejscu kończy się moja zawodowa praca programisty. Moje życie potoczyło się tak, iż dalsza moja kariera to przede wszystkim systemy, sieci i serwery. Niemniej jednak, jak się okazuje, na każdym kroku wykorzystuję umiejętności programistyczne, chociażby do skryptów automatyzujących (CI/CD) i archiwizujących.

 

Tak wygląda moja wiedza i umiejętności w tej dziedzinie:

 

Języki skryptowe:

Dziedzina
Poziom wiedzy
batch
[zaawans.]
vbs
[zaawans.]
powershell
[dobry]
bash/sh
[dobry]
python
[podstawy]
Automatyzacja
[średni]
git
[średni]
svn
[średni]
Jenkins
[podstawy]
Stash
[podstawy]
Maven
[podstawy]
Hudson
[podstawy]
Ansible
[podstawy]
Puppet
[podstawy]
Chef
[podstawy]
Kubernetes
[podstawy]

 

Języki programowania:

Dziedzina
Poziom wiedzy
Delphi/Pascal
[zaawans.]
Clipper
[zaawans.]
html/css
[dobry]
php
[średni]
Visual Basic
[podstawy]
C/C++/C#
[podstawy]

 

Nie byłoby programowania bez baz danych, a więc:

Dziedzina
Poziom wiedzy
MS SQL:
[zaawans.]
optymalizacja
[dobry]
administracja
[zaawans.]
backupy
[zaawans.]
MySQL/MariaDB:
[zaawans.]
optymalizacja
[dobry]
administracja
[zaawans.]
backupy i odzyskiwanie dużych zbiorów
[zaawans.]
klastry (NDB, InnoDB)
[średni]
SQLite
[zaawans.]
Firebird
[dobry]
DBase
[zaawans.]
Visual FoxPro
[dobry]
PostgreSQL
[dobry]