Znalosti

Nakoľko programujem už pekných pár rokov, tak som si prešiel pomerne širokým spektrom jazykov a technológií. Pri niektorých som ostal dlhšie, pri iných kratšie. Pomerne skoro som sa začal orientovať na tvorbu webu a to mi ostalo až doteraz, takže najlepšie ovládam práve webové technológie.

Pri programovaní volím postupy, ktoré dodržiavajú SOLID princípy, poznám návrhové vzory a poslednú dobu sa snažím navrhovať a programovať podľa DDD paradigmy. Ja by som o sebe povedal, že sa snažím premýšľať pragmaticky a voliť riešenia, ktoré budú čitateľné, ľahko rozšíriteľné a zároveň dostatočne rýchle. Dostávam však spätnú väzbu, ktorá vraví, že preferujem kvalitu pred rýchlosťou 😇. Som teda správny výber, ak treba niečo naprogramovať dobre, robustne a s dlhou životnosťou. A nesprávny, ak ste to museli mať hotové už včera.

JazykyJavaScript, PHP
Taby vs. medzerymedzery
Koľko medzier4 (áno, aj v JS)
IDENeovim
OSLinux

Na JavaScript som sa najskôr pozeral dosť zvrchu a považoval som ho za zabugovanú hračku na rozpohybovanie HTML. Neskôr som pochopil, že to je v skutočnosti trochu iný jazyk, než sa na prvý pohľad javí a dostal som sa až do štádia, že to je aktuálne môj obľúbený jazyk. Module pattern som používal ešte v časoch jQuery špagiet. JavaScript som písal ako AMD moduly a ako loader som používal RequireJS. Po príchode Reactu som sa zviezol na vlne nadšenia a React a Redux používam na svojich vlastných projektoch. Pre klientskú prácu som sa však naučil pracovať aj s Vue.js a Vuex.

PHP je jazyk mojej voľby pre backend. Pracujem v ňom dlhé roky a poznám ho najlepšie. Začínal som ešte na verzii PHP 4 a veľmi sa mi páči, ako sa tento jazyk vyvíja a kam smeruje najmä posledné roky. Zo začiatku som sa snažil vytvoriť si vlastný framework, po nejakom čase som však pochopil, že ak chcem tvoriť weby, tak je lepšie používať už tie existujúce. Najviac skúseností mám so Symfony, ale niekoľko rokov som vyvíjal aj s použitím Nette. Framework je však pre mňa infraštruktúrna záležitosť, ktorú viem hocikedy nahradiť.

Vo svojich aj pracovných projektoch som najčastejšie pracoval s databázou MySQL, prípadne od nej odvodených MariaDB a Percona. Preto sa v týchto orientujem najlepšie, viem pre ne dostatočne dobre navrhovať indexy pre lepší výkon a cítim sa pri ich použití komfortne. Menšie skúsenosti mám však aj s inými technológiami, napr. PostgreSQL, Elasticsearch, Redis a mnohými ďalšími.

Na verzionovanie projektov používam Git, pracujem s ním v príkazovom riadku a úplne neverím jeho grafickým nadstavbám 😃. Svoje projekty mám uložené na Bitbucket-e, pracovne používam GitLab. Konto na GitHube síce mám, ale aktívne s GitHubom nepracujem.

Ako IDE používam Neovim, čo je nová inkarnácia editoru Vim. Vim som začal používať veľmi skoro po tom, čo som sa začal učiť programovať a odvtedy sa nenašiel iný editor alebo IDE, ktoré by ma presvedčilo, aby som Vim opustil. Na mojom počítači však nájdete aj VS Code, ktorý ale využívam v podstate len pre potreby školení.

Môj operačný systém je Linux. Windows mám nainštalovaný len na hranie hier a Mac ma nikdy nelákal. Na Linuxe sa mi páči jeho úžasná prispôsobiteľnosť, používam síce Ubuntu, ale na prvý pohľad to nepoznať, pretože ako grafické rozhranie mám Enlightenment, ktorý ako jediný vie manažovať viacero monitorov a vituálnych plôch presne tak, ako ja chcem.