Tidigare idag när jag plockade in disk i diskmaskinen tänkte jag lite nostalgiskt tillbaka på sena kvällar med PHP-programmering och metalmusik. Då handlade det om att göra bandets hemsida slagkraftig och classy. Vi skulle ju ta över världen och då var vi såklart tvungna att ha en tuff hemsida och vi hade knappast råd att anlita någon att göra den åt oss.
Idag – femton år senare – är systemutveckling inte längre en hobby utan mitt levebröd, men fortfarande något som jag är mycket intresserad av och lägger en stor klick av min fritid på. Allt eftersom tiden gått har jag fått ganska bra kläm på vad som intresserar mig i rollen som utvecklare – en roll som kan ses lite som ”jack of all trades” – och här landar jag väldigt långt ifrån tekniskt trolleri såsom ramverk (e.g. Hibernate). Bara ordet ”ramverk” gör mig sömning och jag blir på nåt sätt automatiskt lite motvilligt inställd. Varför? Jo, därför att ramverk nästan alltid inkräktar på det viktigaste som systemet har: domänmodellen. Lämpligt nog för denna text är det just här mitt intresse brinner som starkast.

Utmaningen i att implementera en modell (eller flera för den delen) som innefattar relevanta verksamhetsbegrepp (och deras inbördes beroenden) som kan användas för att lösa verkliga verksamhetsproblem får mig att bli riktigt pepp. Om man dessutom siktar på att kunna kommunicera modellen vertikalt i verksamheten – det vill säga att begrepp som används i kod även ska vara begripliga för t ex kravställare – flyttas fokus från tekniska ramverk till begreppsinnebörd och till att anpassa den implementerade modellen vartefter verksamheten ändrar kurs.
Som den insatte kanske har förstått är jag en DDD fanboy, det sticker jag inte under stolen med. Evans bok är fortfarande något av det bästa jag har läst i facklitteratur och den fick mig att sätta ord på vem jag är som systemutvecklare. Jag är inte algoritmgurun, optimeringsnissen eller DBA. Jag är en skäggig modelleringsnörd med god analytisk förmåga på jakt efter den perfekta modellen. Vilket är jävligt svårt i dessa ramverkstider.