O mě
Ahoj, jmenuji se Martin Takáč
Jsem senior software vývojář s hodně letou praxí.
Specializuji se na vývoj a správu existujících, zvláště legaci projektů v jazycích PHP, C#, Rust. Mám bohaté zkušenosti s vývojem a údržbou převážně webových aplikací, webových služeb, databází, a něco málo desktop.
Mám rád, když pracují stroje. Tudíž automatický deploy, continues integration je jasná věc.
Zkušenosti
- Preferuji typované jazyky (Rust, Haskell).
- Používám i dynamické jazyky, je-li to vhodné (Lua, Python), jako lepidlo (Rune) nebo logiku (Prolog).
- Peníze nesmrdí, takže znám velmi dobře i ledacos jiného (PHP, Python, Java, Javascipt, C#, Java, XSLT)
- nástroje: databáze (PostgreSQL, MySql, MSSQL), verzování kódu (Subversion, Git, Mercurial), etc.
- methodiky: SOLID, Clean Code, TDD, XP, Continuous integration
- frameworky: GTK+, Nette, a další
- Linux (Fedora) jako primární OS, včetně základní správy serveru. Windows a MacOS uživatelsky
- Nedělám C/C++
Práce a projekty
In Investments a.s. (7/2019 - 9/2023)
Převzetí rozsáhlejšího informačního systém z oblasti FinTech (Nette, MySQL), na kterém se vystřídalo několik generací vývojářů. Měl jsem k ruce juniorního vývojáře, který perfektně znal projekt a jeho business, ale ve formálnějším znalostech architektury jsem mu mohl být mentorem. A tak jsme se výborně doplňovali.
Proběhla konfigurace serverů, nastavení vhodého automatického deploymentu, verzování databáze, čistější verzování kódu, a nastínění strategie co se a jak bude dělat.
Součástí IS bylo i RESTové API. Zde jsem provedl několik architektonických úprav vedoucí mimojiné k čistějším rozhraní a výkonu.
K tomuto API byla vytvořena klientská knihovna v C# kterou jsem dostal na starost.
Jako třetí projekt jsem dostal na starost aplikaci typu aktorový model/scheduler, taktéž v C#
Antee s.r.o. (3/2015 - 3/2018)
Vývoj aplikace typu Informační systém (Nette, MySQL, Javascript). Zodpovědnost a konzultace ohledně kvalitu kódu a architektury.
Ing. Karel Zacko, Financion Controller, NetStores s.r.o.
Konzultace v oblasti návrhu a implementace webové aplikace (PHP, PostgreSQL)
Vývoj účelových nástrojů pro konverzi dat (Rust, XSLT)
Darkmay s.r.o. (9/2011 - 12/2014)
Vývoj aplikace z oblasti cestovního ruchu. Povedlo se mi vytvořit a dotáhnout automatický deployment schopný nasadit hromadně několik stovek instalací.
Vyvíjel jsem API. Implementoval uživatelsky používaný LESS preprocesor, a vůbec spousta zábavy si užil.
Ing. Karel Mikeš
Informační systém pro správu doručování zásilek. (Nette, REST/SOAP, PostgreSQL)
Click2Stream Inc. (3/2012 - 5/2014)
Vývoj systémové služby s REST rozhraním (Java, Restlet). Vývoj modulů do WowzaServeru pro videostreaming (Java) Pracovat s videem bylo pro mne něco nového.
Jyxo s.r.o. (2/2007 - 10/2010)
Vývoj interních statistik. Spolupráce na vývoji služby Blog.cz. Ohromná škola.
Open-source
Slyšel jsem zásadu, že vývojář, který vytvoří nějakou knihovnu by ji měl za trest rok sám používat. Tak tedy všechny mé projekty aktivně používám. (Ne vždy jsem rád.)
Schema Manage
Nástroj pro verzování databáze (taky se používá výraz migrace).
Slidee
Vytváření statických webových stránek dynamicky. Prostě Nette projekt ořezaný jen na jednoduché stránky bez presenterů a akcí. Související článek.
RemoteSelectBox
Input pro Nette Forms, který umožňuje dynamické načítání obsahu selectboxu pomocí ajaxu. Naimplementujete jen model poskytující data, a o zbytek se nestaráte.
nette-fluent-translator
Implementace Fluent Project pro PHP potažmo pro Nette. Nová generace localizačního systému pro přirozeně znějící překlady. Prostě ne horší a pomalejší reimplementace gettextu, ale skutečně kvalitativně něco lepšího.
php-bnf
Knihovna pro vytváření parseru pomocí kombinátorů.
php-exif-tools
Knihovnička pro čtení a zápis EXIF informací z/do obrázků.
Vzdělání
- Samostudium
- Účelové školení. PostgreSQL (od Pavel Stěhule), LiveScript (od Jiří Knesl), ClojureScript (od Michal Till), TypeScript (od Jan Voráček), nebo AngularJS (od Vojtěch Bartoš).
- Hodně čerpám z tématických blogů. Nejvíce mě ovlivnili Aleš Roubíček, Roman Pichlík, Jiří Knesl, David Grudl, Jan Tichý, Radek Míček.