Vissza a blogra

Ebben mesterkedünk: mastery-based programozóképzés a gyakorlatban – 4. rész

Netflix máshogy, self-branding hatékonyan, interjúk élesben: a Codecool-módszertanról szóló cikksorozatunk befejező részében Faragó Balázst faggattuk a programozóképzés negyedik szobájáról. Happy end lesz!

Miről szól a negyedik szoba?

A programozóképzés negyedik szobájában a diákok elkezdenek olyan üzleti keretrendszerekkel, enterprise rendszerekkel foglalkozni, amelyek a már meglévő objektumorientált tudásukra épülnek, hiszen az előző szobában megtanulták az ehhez szükséges Java-alapokat. Három különböző specializációból, más néven branchből választhatnak: az első a Java Enterprise, a második a C#, a harmadik pedig a tesztautomatizáció. 

Faragó Balázs - Codecool
Faragó Balázs - Codecool mentor

A Java Enterprise-branchen különböző architekturális és programtervezési mintákkal, illetve a SpringBoot backendoldali keretrendszerrel ismerkednek meg a diákok. Emellett a legtöbben felvesznek egy modern, JavaScript-alapú frontend keretrendszert is; jellemzően a React-Vue-Angular hármasból szoktak választani. Az utóbbi időben a React lett nagyon divatos a szobában. Egy microservice-es héttel záródik a branch, amikor a Netflix microservice-architektúráját használják és próbálnak minél több apró, egymással kommunikáló alrendszert építeni. 

A C#-szakirány kicsit hosszabb, mint a Java, mert míg az utóbbiban már meglévő Java-alapokra építenek, a C# esetében magát a nyelvet és a hozzátartozó .NET keretrendszer alapjait is el kell sajátítaniuk. A két nyelv szintakszisa szerencsére nagyon hasonló, szóval ez túl sok időt nem vesz igénybe. A specializáció első fele a .NET alapjaira, illetve a WPF-ben történő asztalialkalmazás-fejlesztésre összpontosít. Desktopfejlesztésre például a Java-szakirányon nincs lehetőség. Ezután az ASP.NET Core keretrendszerrel kezdenek foglakozni és a lehető legmodernebb stacket próbálják meg használni a C#-on belül. 

A tesztautomatizációs szakiránynak azért van jelentősége, mert manapság nagyon fontos, hogy a CI/CD-folyamatokba építve automatikus tesztek fussanak. A vállalatok ezek segítségével tudják validálni, hogy egy lefejlesztett szoftver vagy szoftvermódosulás nem töri szét a meglévő rendszereiket. A branch első két hete a tesztelő gondolkodásmód kialakításával foglalkozik, amikor a diákok manuális tesztesetek írásával sajátítják el azt a gondolkodásmódot, ami szükséges a szoftverteszteléshez. A későbbiekben pedig megismerkednek azokkal a technológiákkal, amivel egy modern szoftverfejlesztői közegben automatizált teszteket tudnak írni.

Ha egy diák elvégezte a három branch közül valamelyiket és átment a belső technikai és a HR-interjúnkon is, utána kerül át a szoba JobHunt-részébe, vagyis elkezdhet állásinterjúkra járni. 

Milyen projekteken dolgoznak a diákok ebben a szobában?

Itt többnyire nincsenek meghatározott projektek, hanem mindent maguknak találnak ki a diákok. Az a célunk, hogy amennyire csak lehet, szabad kezet adjunk nekik. 

A tesztautomatizációs branchben például van, hogy a Jira oldalát tesztelelik, aztán a harmadik szoba egyik csoportjának a munkáját szedik darabokra vagy már meglévő vagy épp fejlesztés alatt álló szoftvereket próbálnak szétcincálni. A C#-branchen az első három hétben jellemzően WPF-alapú monitorozó alkalmazást és email klienst írnak, a maradék három hét során pedig a saját maguk által választott projekten dolgoznak ASP.Net Core backenddel, aminek a frontendje szintén egy JavaScript-alapú keretrendszer.

A Java-specializációnál annyi különbség van, hogy az első három héten full-stack webes alkalmazásokon pörögnek a diákok, és a REST API-tervezéstől kezdve az ORM-eszközökön át egészen a security-ig mindenen végigmennek. A negyedik pedig a microservice-es hét, amikor egy különálló microservice-es projekten dolgoznak. Fontos, hogy a projektet a diákok hozzák, nem pedig tőlünk kapják.

Hogyan zajlik a munka?

Nagyjából úgy, mint az előző szobában. Annyi a különbség, hogy mi elég nagy hangsúlyt fektetünk az algoritmizálási problémákra. Az alapvető adatszerkezeteket és algoritmusokat úgynevezett coding dojókon keresztül ismerik meg és gyakorolják a diákok; kedd délelőttönként ezeken szoktak dolgozni. Például saját binary tree- és hashmap-implementációt is készítenek. A Codecool programozóképzés  emiatt sem sima bootcamp: arra törekszünk, hogy olyan számítástechnikai tudást is átadjunk, ami ugyan nem szerves része a mindennapi szoftverfejlesztésnek, de szerintünk mégis nagyon fontos részét képezi. 

Matyi programozóképzés

Milyen személyes készségeket fejlesztetek itt?

Három workshopunk van: az egyik a Salary workshop, ami arról szól, hogy milyen fizetésekre lehet számítani a szakmában és hogy hogyan érdemes hozzáállni egy bértárgyaláshoz. Aztán van egy HR I-II workshop is. Itt azzal foglalkozunk, hogy amikor egy céghez felvételiznek, hogyan érdemes a válaszokhoz hozzáállni és általában az interjúra felkészülni. Ennek része a LinkedIn-profil szerkesztése is, vagyis hogy hogyan kommunikálják a saját tudásukat és hogyan brandeljék magukat. Végül van egy Don’t panic workshop, ami a leendő munkáltatóiknál felmerülő esetleges problémák megoldásával foglalkozik.

Hogy néz ki az álláskeresési időszak?

Ha a diákok elvégezték az általuk választott szakirányt, annak a végén van egy HR-es próbainterjú és egy technikai próbainterjú is. Mind a kettőt sikerrel kell venniük ahhoz, hogy utána állásokra jelentkezhessenek. Vagyis hiába zárul le maga a specializáció, ezen a két vizsgán még mindenképpen át kell menniük. Ha ez megvan, kezdődik a JobHunt-periódus, vagyis a választható állások közül jelentkezhetnek azokra, amik tetszenek nekik. 

Ebben az időszakban ugyanúgy programoznak tovább, de szinte teljesen elengedjük a kezüket. Azért itt is van dojo-rész, ahol komolyabb algoritmizálási problémákat teszünk eléjük és egymással versenyeztetjük őket. A praktikus, technikai tudás helyett viszont a problémamegoldásra fókuszálunk. A diákok itt már olyan technológiát választhatnak, amilyet csak szeretnének. Gyakori, hogy valaki elkezd mondjuk mobilfejlesztéssel vagy NodeJS-szel foglalkozni, ami nem az anyag szerves része, de mire idáig elér valaki, már saját maga is könnyen el tudja sajátítani ezeket.

Mi szokott lenni a legnagyobb kihívás ebben a szobában a diákoknak?

Az, hogy holisztikusan lássák mindazt, amit a programozóképzés során megtanultak. Tehát a Java-branch esetében például ott van a Javás backend, a JavaScriptes frontend, a CSS, a HTML, az SQL és még egy csomó minden más egyszerre, és bizony nagyon sok idő az, amíg összeáll az ember fejében, hogy ezek a különálló technológiák és alrendszerek hogyan kommunikálnak egymással. Minden szobában absztrakciós sokk éri a diákokat és azt hiszik, hogy a vége felé már nem lesz ilyen, pedig igen.

És az álláskeresésben?

Nagyon változó, hogy ki milyen gyorsan tud elhelyezkedni. Az elmúlt időszakban nagyon sok esetben rögtön az első interjú után ajánlatot kaptak a diákok és  a programozóképzés után egyből megtalálták a helyüket. De az is előfordul, hogy valakinek több idő, mire ez összejön. A legtöbbször olyasmin csúszik el a dolog, hogy valaki úgy érzi, nem illik bele egy adott vállalati közegbe, vagy éppen a cég érzi ezt, nem pedig a technikai tudáson. Nagyon fontos, hogy a diákjaink olyan helyre kerüljenek, ahova tökéletesen passzolnak és ez nem mindig megy gyorsan.

***

Úgy érzed, ez a programozóképzés az, amit keresel? Kurzusaink kéthetente indulnak, szóval nálunk szinte bármikor elkezdheted a tanulást. Jelentkezz most!

szerző:
Faragó Balázs - Codecool
Faragó Balázs10 éves fejlesztői tapasztalatban az a legjobb, hogy megoszthatom másokkal is. Kockaként azon dolgozok, hogy mások is szögletesek lehessenek!
Megosztás