3. Perėjimas nuo programuotojo prie architekto
Kodėl programuotojams sunku tapti architektais
Perėjimas – ne pareigų pakeitimas, o mąstymo pokytis.
Programuotojai:
- Mąsto detalėmis
- Sprendžia technines problemas
- Įgyvendina sprendimus
- Atsakingi už savo kodą
Architektai:
- Mąsto visuma
- Sprendžia technines ir socialines problemas
- Projektuoja principus ir modelius
- Atsakingi už visos sistemos kokybę
Mąstymo pokytis: nuo detalių prie visumos
Programuotojo mąstymas:
- Konkretūs sprendimai
- Efektyvumas kode
- Vidaus perspektyva
- Lokalūs optimizavimai
Architekto mąstymas:
- Sistemos tikslai ir ribojimai
- Aiškumas ir lankstumas
- Išorinė perspektyva
- Visuminė optimizacija
Ką turi daryti architektas kitaip?
- Suvokti kontekstą – verslas, naudotojai, organizacija
- Vertinti kompromisus – jokių tobulų sprendimų
- Galvoti ilgam laikotarpiui – evoliucija
- Kurti abstrakcijas – padėti komunikuoti ir suvokti
Kodo rašymo vs. sistemos kūrimo skirtumai
Kodo rašymas:
- Konkreti implementacija
- Efektyvumas ir skaitomumas
- Rezultatas – kodas
Sistemos kūrimas:
- Modeliai ir abstrakcijos
- Aiškumas ir plečiamumas
- Rezultatas – struktūra
Skirtumai srityse:
- Problemų apibrėžimas: programuotojas įgyvendina, architektas padeda apibrėžti
- Sprendimų vertinimas: efektyvumas vs. tikslų atitikimas
- Komunikacija: techninė kalba vs. įvairios auditorijos
- Atsakomybė: lokali vs. visuminė
Architektūrinis mąstymas kasdien
- Klausk „kodėl“
- Galvok apie sąsajas
- Dokumentuok priežastis
- Ieškok šablonų
- Galvok apie evoliuciją
Praktiniai žingsniai pereinant
- Plėsk žinias – principai, šablonai, praktikos
- Ieškok atsakomybių – mentorystė, projektai
- Praktikuok sisteminį mąstymą
- Tobulink komunikaciją
- Analizuok esamas sistemas
- Klausk patarimų – mentorystė
- Praktikuok sprendimus – reflektuok
- Dokumentuok ir pristatyk – aiškiai, tiksliai
Dažniausios klaidos ir kaip jų išvengti
Klaida | Kaip išvengti |
---|---|
Fokusas į technologijas | Architektūra – daugiau nei framework’ai |
Teorija be praktikos | Eksperimentuok mažais masteliais |
Nepakankama komunikacija | Aiškiai dokumentuok ir paaiškink sprendimus |
Pernelyg sudėtingi sprendimai | Rinkis paprastumą, pridėk sudėtingumo tik kai reikia |
Ignoruojami praktiniai apribojimai | Būk realistiškas su resursais ir komandos galimybėmis |
Vengimas kompromisų | Aiškiai įvardyk pliusus ir minusus |
Per didelis pasitikėjimas teorija | Naudok teoriją kaip įrankį, ne dogmą |
Baimė keisti kursą | Pripažink ir taisyk, kai paaiškėja naujos aplinkybės |
Perėjimas į architekto rolę reikalauja naujo požiūrio, bet leidžia daryti sisteminį poveikį – kurti aiškias, lanksčias, ilgaamžes sistemas.