Etikettarkiv: tvivel

Person och sak

Idag hade jag en stund över på jobbet och ägnade då lite tid åt att förkovra mig i mitt ämbete som systemutvecklare. Den virtuella surfbrädan tog mig så småningom fram till Programmers Stack Exchange där användaren kmote i ett inlägg hade ställt frågan:

I’ve inherited 200K lines of spaghetti code — what now?

I det svar som hade fått flest röster (467 stycken när jag var inne på sajten) bjöd på en gedigen genomgång av tekniker och rekommendationer över hur man kan handskas med ett sådant scenario. I denna mäktiga textmassa hittade jag ett citat direkt kopplat till Imposter Syndrome som jag fastnade för och tänkte dela med mig av här. Användaren haylem skriver såhär:

Make developers conscious of the quality of their code, BUT make them see the code as a detached entity and not an extension of themselves, which cannot be criticized. It’s a paradox: you need to encourage ego-less programming for a healthy workplace but to rely on ego for motivational purposes.

Jag tycker att haylem på ett väldigt bra sätt formulerar ett viktigt dilemma vi har i vårt yrke, ett yrke där allt vi producerar synas och granskas. Minsta incheckning i versioneringssystemet kan vem som helst av de andra utvecklarna i projektet ta del av. Byggservern sprutar ut felmail till gud och alla människor om något inte fungerar som det ska. Kodgranskning är ett givet steg i utvecklingsprocessen i vilken en utvecklare tar sig an att granska och bedöma hur vettig en annan utvecklares kod är.

Med så mycket fokus på individuell prestation gäller det att bygga upp en sund relation mellan person och sak. Inte minst för att tillvaron på arbetsplatsen ska bli dräglig, både för sig själv och sina kollegor.

Bedragare

Under min tid som systemutvecklare har jag upptäckt att det inom branschen finns en hel del människor som ger sken av att kunna allt. Ett slags supermänniskor of sorts som alltid har lösningen på alla problem. De behöver aldrig fråga eller undra när man pratar med dem för de vet ju redan allt. De tar stor plats på möten – gärna på andras bekostnad – och får med sin övertygelse allt som oftast igenom sina idéer. Det är liksom ingen som orkar ge sig in i den lönlösa debatten och argumentera emot.

Naturligtvis är det så att dessa personer inte kan allt. Det kan ingen. Och förmodligen finns det någon annan i mötesrummet som vet mer om ämnet i fråga när Superman (eller Wonderwoman för att vara PK) håller låda. Men det spelar liksom ingen roll; i denna svärm av fräcka och moderna buzzwords är det lätt att känna sig stressad, att få känslan av att alla i rummet verkar fatta utom jag. Det är ju ingen som ställer frågor?

Stressen över att inte räcka till kompetensmässigt kunde jag känna mer förr än nu. Jag minns speciellt som konsult att det i och med min roll fanns en förväntan på mig att jag skulle kunna både ditten och datten. Även som doktorand fanns det inslag av denna känsla, av att jag aldrig visste tillräckligt hur mycket jag än lärde mig.

Idag läste jag om något som kallas för Imposter Syndrome, vilket tydligen är vanligt inom yrken där ens arbete granskas. Med denna åkomma har man, trots bevisligen god kompetens, svårt att koppla samman de bra saker man gör med sin förmåga. Man ser sig nästan som en bedragare och inväntar den dagen någon kommer avslöja att ens förmåga inte lever upp till omvärldens förväntan.

Kanske har jag en lindrig släng av denna åkomma? Jag vet i vilket fall med mig att jag har höga krav på mig själv och att jag som sagt fortfarande kan känna att jag borde kunna mer för att känna mig tillräcklig. Här hjälper supermänniskorna jag inledde mitt inlägg med verkligen inte till utan bidrar istället i högsta grad till att arbetsklimatet blir prestigeladdat, att folk blir rädda för att säga fel saker eller ställa konstiga frågor.

Men vad är det för fel att fråga?

Bra fråga. För om det är något som jag har lärt mig att uppskatta så är det människor som vågar fråga, som vågar säga ”Kan du ta det där en gång till, jag hängde inte med?” eller ”Kan du berätta lite mer om X, det har jag inte koll på”. Och jag tänker att människor som vågar fråga rimligen också lär sig mer.

En doktorands tvivel

Av en händelse sladdade jag in på mitt bortglömda Google Drive-konto härom dagen. Undansparat fanns föreläsningar, labbuppgifter och utkast till vetenskapliga artiklar från ett tidigare liv som framkallade en aningen arbetsam nostalgisk känsla i mig.

En av filerna visade sig nämligen vara en presentation om Linked Data som jag höll för många år sedan. När jag skummade igenom den kom jag att tänka på anledningen till varför jag började tvivla på idén som jag under så lång tid trott och byggt upp mina studier kring. För den oinvigde i detta relativt okända ämne kan ni som jag skumma igenom min presentation här:

Man kan säga att min forskningsinriktning i grund och botten handlade om systemintegration med hjälp av en uppsättning teknologier som tillsammans är tänkta att bidra med en semantisk dimension (se ovanstående presentation för mer info). Med hjälp av RDF Schema kan man modellera en ontologi – en begränsad världsbild – innehållande begrepp och deras inbördes relationer till varandra. Tanken med denna ”begreppskarta” är att ge tolkande system möjlighet att resonera kring data och dra diverse slutsatser.

I och med begreppet Linked Data introducerades även best practices över hur man bör integrera system som exponerar sin data som RDF – genom en REST-arkitektur där man enkelt kan slå upp och traversera data och deras relationer över HTTP.

Så vad är problemet? Idén med att använda REST för att integrera system är något som verkligen har anammats i andra sammanhang idag (t ex REST + Json) och att kunna ange metadata i form av grundläggande satsdelar (med subjekt, objekt och predikat) kan anses ganska kraftfullt.

Det fundamentala problemet är helt enkelt att de världsbilder (eller ontologier) vi modellerar måste delas av alla beroende parter för att vara meningsfulla. Tänk bara på hur olika vi människor ser på och uppfattar saker, på hur svårt det är att kommunicera utan att det blir missförstånd. Om vi hade delat exakt samma världsbild hade vår samvaro varit bra mycket enklare (men förmodligen mycket tråkigare). Vi kan lära oss att förstå varandra genom att vända och vrida på saker och förhoppningsvis hittar vi till slut en ”mappning” mellan våra mentala modeller. Dessutom finns det i många avseenden formella eller informella ”standarder” som sammanför våra världsbilder. Jag tänker då till exempel på etikettregler, trafikregler och så vidare.

Problemet är alltså att oavsett hur fint mitt RDF Schema är utformat måste tolkande system antingen mappa begreppen till något för systemet begripligt eller förstå dem out of the box för att kunna ha någon egentlig användning för dem. I båda fallen måste världsbilderna vara kända sedan tidigare.

Det låter ju inte särskilt magiskt? Det är ju inte som att systemen genom Linked Data får någon högre nivå av insikt? Nej, det är just det som är grejen, systemen måste ha inbyggt stöd för de världsbilder som ska stödjas. Vissa saker kan vi kanske komma överens om hur det ska se ut på ett generellt plan – vi har till exempel Dublin Core – men när vi börjar komma ner på detaljnivå vill jag påstå att det är nästintill omöjligt att få till en modell som både är generell och användbar. Det är lite som att bygga ett standardsystem och förvänta sig att alla ska bli nöjda och glada utan att det går att anpassa. Är det då ens meningsfullt att modellera och exponera data utefter ett visst systems världsbild?

Emot slutet av mina studier kunde jag inte se meningen med det och min inställning har inte ändrats efter ett par år ute i verkligheten. Jag tycker fortfarande att satslogik i kombination med REST är ett intressant sätt att integrera system. Det är den semantiska dimensionen jag inte kan förstå hur jag än vill. Om man bortser från den aspekten av Linked Data har rekommendationen kanske en framtid.

Det hade inte mina studier – den semantiska dimensionen var på tok för viktig i min argumentation för att jag skulle orka fortsätta som nybliven pappa och husägare. Men vem vet, kanske tar jag upp tråden lite längre fram och återkommer med en självkritisk reflektion över hur coola teknologier kan förföra vem som helst.