Tavaly szeptemberben csendben elindítottuk az Exercism Track Anatomy Project kezdeményezését. Azóta egyre több embernek meséltünk róla, és most úgy döntöttünk, hogy eljött az idő, hogy nyilvánosan is bemutassuk azt a komoly munkát, amit a kurzusok és feladatok fejlesztéséért végzünk az Exercism-ön.
Ahhoz, hogy megértsük a Track Anatomy Project célját és szükségességét, vissza kell mennünk az Exercism gyökereihez. Az Exercism kezdetben több nyelvi kurzusból állt, amelyek mindegyike átfedő feladatokat tartalmazott. Nem volt igazi sorrend vagy struktúra: bárki kiválaszthatta azt a feladatot, amely érdekesnek tűnt, megoldotta, feltöltötte a kódját, és remélte, hogy valaki megtalálja és hozzászól. A 2018-as újraindulásunk középpontjában az állt, hogy az Exercism-öt sokkal strukturáltabb megközelítés köré szervezzük, mind magukat a kurzusokat, mind a hozzájuk tartozó tanulást illetően. Úgy döntöttünk, hogy a nyelvi kurzusokat egy rögzített gerincre alakítjuk, amely kötelező „alapfeladatokból” áll, és amelyek teljesítésével feloldódnak a választható „mellékfeladatok”. Megkértük a karbantartókat, hogy úgy építsék fel az alapgerincet, hogy az egyre nehezedjen, és hogy olyan feloldási sorrendet tervezzenek, amely illeszkedik a gyakorolt technikákhoz. A különböző karbantartók eltérő módon álltak ehhez hozzá, változó sikerrel. Volt, akinek egyszerűen nem volt ideje, ilyenkor kiválasztottunk tíz, többé-kevésbé véletlenszerű feladatot, hogy azok alkossák a kezdeti alapot.
Nagyon hamar világossá vált, hogy a kurzus felépítése óriási mértékben befolyásolja annak sikerét. Az indulás utáni első néhány hónapban sorra tettünk kulcsfontosságú megfigyeléseket:
- Azok a nyelvek, amelyek túl nehéz feladattal indultak, elkedvetlenítették az embereket, és gyors lemorzsolódáshoz vezettek.
- Egy feladat mentorálásának nehézsége közvetlenül a feladat bonyolultságával függött össze, nem pedig a nehézségével.
- Azokat a feladatokat, amelyeket egyetlen tipikus módon lehetett megoldani (például az „acronym”-ot), vagy amelyeknek világos tanulási céljaik voltak, sokkal gyorsabb volt mentorálni, mint azokat, amelyek többféle megoldást kínáltak (például a „bob”-ot).
- Számít, milyen sorrendben vezetjük be a fogalmakat: ha az alapvető idiómákat már az első néhány feladatban átvesszük, az könnyebbé teszi a későbbi feladatokat mind a tanulónak, mind a mentornak.
Mindebből felismertük, hogy az Exercism-ön folyó mentorálás sikerének nagy része a kurzusok „tantervének” minőségén fog múlni: azon, hogy a megfelelő témákról a megfelelő feladatokban, megfelelő sorrendben, kifejezetten szó legyen. Úgy döntöttünk, hogy ki kell dolgoznunk egy formális keretrendszert, amely útmutatóul szolgálhat a karbantartóknak, és létre kell hoznunk egy kurzust, amely etalonnak tekinthető a többi kurzushoz.
Mindeközben az egyik mentorunk, Maud de Vries, aki húsz éve dolgozik profi coachként, rendszeresen elkezdett javaslatokat közzétenni arról, hogyan lehetne javítani a Ruby-kurzust. Az ötletei figyelemre méltóan egybeestek azzal, amit mi is felismertünk. Csendben, a háttérből Maud sorra elemezte az összes Ruby-feladatot, és feltérképezte, hogyan kapcsolódnak egymáshoz a feladatok, milyen fogalmakat tartalmaznak, és hogyan lehetne őket jobban elrendezni úgy, hogy a kurzus szerkezete jól felépített legyen a tanulók számára, a mentoroknak pedig élvezetes és izgalmas legyen a vele való munka. Amikor megmutatott néhányat a munkájából, úgy döntöttünk, hogy ő a megfelelő ember a kurzuskeretrendszerünk kidolgozására, és hogy átveheti a Ruby-kurzust, és mintapéldánkká teheti. Azóta Maud részmunkaidőben az Exercism-nek dolgozik: újratervezi a Ruby-kurzust, és egy több szakaszból álló keretrendszert dolgozik ki, amelyen a karbantartók végighaladhatnak, hogy gyorsan átültethessék a tanulságait más nyelvekbe. Októbertől Erik Schierboom a szabadidejében Maud kísérleti nyulaként dolgozik: teszteli és használja a keretrendszert a C#-kurzus fejlesztésére, ami viszont hatalmas hatással volt magának a keretrendszernek a fejlődésére.
Mostanra közel kerültünk ahhoz a szakaszhoz, amikor a karbantartók következő csoportját is végigvezethetjük a keretrendszer folyamatán, és szigorúbban tesztelhetjük és finomíthatjuk azt. Amint befejezzük ezt a következő kört, szeretnénk közzétenni a keretrendszer első verzióját, hogy a szélesebb közösség is nagyobb figyelemmel vizsgálhassa. Nagyon izgatottak vagyunk, hogy eljutunk idáig, és megmutathatjuk mindazt a munkát, ami a kulisszák mögött folyt. Úgy érezzük, ez óriási előrelépés az Exercism számára, amely jelentősen javítja majd mind a tanulási élményt, mind a mentorokét.
Befejezésként szeretnék hatalmas köszönetet mondani Maudnak, aki fáradhatatlanul vezette ezt a projektet, és Eriknek, aki rengeteg szabadidejét adta fel, hogy segítsen.