Módszer
Hogyan lesz egy ötletből kész projekt, és honnan származik a mögötte lévő tudás: a szakaszok, a technológiák, nyelvek és projektek kapcsolata, és hogyan marad fókuszált a kutatás.
Szakaszok
A folyamat nem szigorúan lineáris: a kutatás visszavihet a tervezéshez vagy az architektúrához.
- 01
Ötlet
A projekt eredete, inspirációja, célja és alapvető indoka. Ha az ötlet meglévő munkára épül, az inspirációt és a forrást rögzítem, és elkülönítem a saját ötlettől és annak céljától.
- 02
Tervezés
Mit kell létrehozni, és milyen eredményt kell elérni: cél, scope, szükséges komponensek, szükséges ismeretek és a fő fejlesztési lépések.
- 03
Kutatás
A projekt szempontjából fontos, ismeretlen technikai kérdések megválaszolása, semmi több.
- 04
Architektúra
A rendszer felépítése a kutatás eredményeire alapozva.
- 05
Megvalósítási terv
Az implementáció fő lépései és sorrendjük.
- 06Döntési pont
Készenléti ellenőrzés
Eldönti, hogy az ötlet készen áll-e a tényleges megvalósításra. Ha nem, a munka visszatér a kutatáshoz vagy a tervezéshez.
- 07
Megvalósítás
A projekt elkészítése saját repóban, forráskóddal, tesztekkel és projektspecifikus dokumentációval.
- 08
Eredmény
Az eredmény validálása a célhoz képest.
- 09
Közzététel
A bemutatható projektek projekt-README-vel kerülnek ki; a portfólió kurált válogatást mutat.
Nyelvek, technológiák és projektek
A technology node egy általános koncepciót ír le. A nyelvi bejegyzés azt dokumentálja, hogyan valósul meg a koncepció egy adott nyelven. A projekt azt, hogyan használja a koncepciót és a megvalósítást. A szétválasztás miatt egy koncepció egyszer van leírva, és a projektspecifikus megoldások nem szivárognak az általános leírásba.
Példa: a Python megvalósítja a sablonalapú dokumentumgenerálást, amelyet a YAML–LaTeX CV-generátor használ.
Tudástérkép megnyitásaKutatási megközelítés
A kutatás célja sosem egy teljes technológia megtanulása. Konkrét projektigényből indul, és csak azt fedi le, amire a projektnek szüksége van.
- 01Projektigény
- 02Ismeretlen / technikai kérdés
- 03Szükséges technológia
- 04Releváns koncepciók
- 05Célzott kutatás
- 06Prototípus / validáció
- 07Döntés
- 08Technology csomópont / projektdokumentáció
- Konkrét projektigényből indulok.
- A technológiának csak a projekthez szükséges részeit kutatom, a teljes dokumentációját nem reprodukálom.
- Ahol lehet, prototípussal vagy kísérlettel validálok.
- Döntéssel zárom, amelyet technology node-ban (általános) vagy a projektdokumentációban (specifikus) rögzítek.
- Ha egy koncepció több projektben is fontos, technology node lesz belőle; a projektspecifikus megvalósítás a projektnél marad.
- Az általános koncepciót és nyelvenkénti megvalósítását külön kezelem.
Készenléti ellenőrzés
A projekt csak akkor kerül megvalósításra, ha mindez teljesül:
- Az ötlet egyértelmű, a probléma vagy cél definiált
- A kívánt eredmény meghatározott, a scope elfogadható
- A fontos kutatási kérdések megválaszoltak
- A kritikus technikai bizonytalanságok azonosítva vannak
- A szükséges technológiák kutatása megtörtént, a szükséges nyelvi ismeretek azonosítva vannak
- Az alapvető architektúra meghatározott, és létezik megvalósítási terv
- A technikai vagy gyakorlati érték indokolja a megvalósítást
- Nem pusztán egy ismert példa újraimplementálása megfelelő cél nélkül
Ha valamelyik feltétel nem teljesül, a munka a kutatásnál vagy a tervezésnél folytatódik.
Mi kerül közzétételre
A portfólió kurált: csak bemutatható, szakmailag releváns munka szerepel itt.
- Projektek tömör, szakmai összefoglalót adó projekt-README-vel: probléma és cél, megoldás, az architektúra főbb elemei, technológiák, futtatás, korlátok és továbbfejlesztés.
- Önálló értékkel bíró technológiai jegyzetek és kutatások.
- Nem szerepel: nyers kutatási napló, a kísérletek teljes története, személyes jegyzetek és nem megosztható részletek.