Az informatikai tréningek egyik nehézsége a jó oktató megtalálása: valljuk be, hogy ha valaki jó előadói képességekkel rendelkezik, akkor gyakran kevesebb a gyakorlata - míg ha szakmailag elkötelezett, nagy tudású szakember, akkor gyakorta az iparból érkezett "kocka", aki nem tudja átadni a tudását.
Két évtizedes szakmai múlttal a hátam mögött (mint fejlesztő, fejlesztési bezető, project manager, üzleti elemző, rendszertervező, informatikai vezető és cégvezető, valamint rendszeradminisztrátor) magas szintű és kurrens technológiai tudással rendelkezek az IT területén, mindezt kombinálva megfelelő kommunikációs képességekkel, "tanári vénával". Elérhető vagyok közvetlen klienseknek, illetve oktatás -és training szervezőknek.
Kevesebb, mint húsz évvel ezelőtt az első publikus internetes munkám, a Hungarian TOP1000 alig néhány száz sor kódból állt, mégis piacvezetővé tudott válni, miközben több ezer felhasználót szolgált ki egy egymagos - emlékeim szerint talán 90MHz-es - CPU-n futtatva.
Ezzel szemben ma egy "egyszerű", pár perc alatt telepíthető, ingyenes fórum motor több tízezer sor, ami integrálódik egy rakás külső rendszerrel - például: FaceBook regisztráció, Google Analytics, stb. -, és ahol egyetlen HTML oldal mérete nagyobb, mint az első számítógépem (C64) teljes memóriája volt.
Azt gondolom, hogy analóg módon a Moore-törvénnyel, a szoftverek komplexitása is exponenciálisan növekszik. A szoftverfejlesztés különféle módszertanokkal, fejlesztői környezetekkel, könyvtárakkal, egyre nagyobb absztrakciós szintekkel próbálja meg kézben tartani ezt a jelenséget - kisebb-nagyobb sikerrel. Ennek eredménye végső soron az, hogy a szakmában élen maradni akaró, de legalábbis lemaradni nem kívánó fejlesztőnek folyamatosan tanulnia kell - ha másért nem is, legalább azért, hogy a megfelelő eszköz kiválasztását el tudja végezni egy adott feladat esetén.
Hiszek abban, hogy gyakorlati dolgokat úgy tudunk a legjobban megtanulni, ha egyszerűen elkezdjük őket csinálni. Ez a "learn-by-doing" elve. "Éles" projekten tanulni valamit azonban általában nem vállalható kockázat, ha pedig csak mellékesen, az online dokumentációkat olvasgatva próbálunk meg új ismereteket szerezni, teljesítménykényszer hiányában rosszabb a hatásfokunk - már ha egyáltalán belekezdünk a tanulásba, és nem tartjuk időfecsérlésnek.
Ezért fontos kiemelten a tréning. Egy pár napos intenzív oktatás át tud fogni egy fél éves szemeszternek megfelelő anyagot, a tréningen történő megjelenés pedig önmagában biztosítja azt, hogy az időt a tanulásra szánjuk - másokkal együtt, inspiráló környezetben.
Néhány példa a témákból, melyekkel kapcsolatban oktatást vállalok. Angol vagy magyar nyelven.
Mi az a NoSQL, és hogy viszonyul egyéb adatbázis típusokhoz? Hol és miért használjuk - és persze hol nem. Néhány ismertebb NoSQL adatbáziskezelő (MongoDB, ElasticSearch, CouchDB, stb.) ismertetése. Gyakorlati MongoDB alapú tervezés, modellezés, parancsok és lekérdezések. MongoDB replikáció, cluster, aggregáció, mapreduce, stb.
A Perl5 programnyelv ismertetése, programozása. Procedurális és objektum orientált progrmozás. A CPAN használata. Saját modulok írása. Utasítások, vezérlő szerkezetek, reguláris kifejezések, I/O, adatbáziskezelés. Modern Perl (Moose, Catalyst). Rövid kitérő a Perl6 irányába.
A PHP programnyelv ismertetése, programozása. Procedurális és objektum orientált progrmozás. Ismertebb kiterjesztések, konfiguráció, CLI, webszerver modul. Utasítások, vezérlő szerkezetek, I/O, környezeti változók, adatbáziskezelés. Gyakori kiegészítők (composer, MVC framework-ök, stb.) Verziók közötti különbségek.
Konténer virtualizáció bemutatása Docker alapokon. A Docker és a DevOps kapcsolata. Telepítés, konfiguráció, karbantartás és üzemeltetés; alternatív futtatókörnyezetek. Image-ek és konténerek, hálózatkezelés, kötetek, image-ek létrehozása. Docker-compose használata. Skálázas Docker Swarm-mal. Tippek és trükkök, use-case-ek, gyakorlat.