Är det en nackdel att kunna programmera som designer?

Jon Karlsson

Via en Tweet av Dan Saffer fick jag för ett tag sedan ett tips om detta blogginlägg som handlar om huruvida det är bra eller dåligt för designers (både interakitons- och grafiska-) att kunna programmera.

Lukas Mathis, som skrivit blogginlägget, hävdar att det faktiskt är negativt att vi som jobbar med design har kunskap om eller aktivt utövar programmering:

I believe that being able to program can be a negative attribute for people who are responsible for designing the user experience. Designers who know how things are implemented or, even worse, who have to implement their own designs are in danger of impeding the quality of their designs. They are tempted to take code into account when they should be concentrating on the best possible user experience.
I sitt inlägg lyfter Lukas också fram andra andra som hävdar motsatsen.

Jag tillhör själv den skaran som har en del erfarenhet inom programmering, även om jag i princip aldrig har utfört detta under mitt yrkesverksamma liv. Under min designutbildning läste jag en del programmering, som motiverades just med att vi skulle få en bättre förståelse för hur implementationen av vår design fungerar och överhuvudtaget är möjlig. Om jag bara ser till mina egna erfarenheter så tycker jag att det har varit väldigt nyttig för mig att behärska programmering i många av de projekt som jag har jobbat i.

Jag upplever att man relativt ofta hamnar i projekt där man måste jobba efter en modifierad version av den ideala designprocessen (oftast på grund av tid- eller pengabrist, eller båda), vilket gör att man ganska tidigt får bli konkret och realistisk i det som skall utvecklas, annars kommer tidsplanen att spricka. Hade jag inte haft kunskapen om vad som någotsånär går att realisera tror jag att jag haft mycket mer problem med leveranser än vad som nu är fallet.

Jag känner heller inte att jag har haft problem att i en konceptuell fas fullständigt ignorera huruvida en viss lösning är möjlig att implementera i just det utförandet eller inte.

Slutligen kan jag personligen hålla med om följande citat som är hämtat från denna artikel:

But programmers tend to respect programmers a lot more than non-programmers, no matter how smart they are.
Jag får för mig att detta inte är ett lika stort problem om man jobbar i en organisation under en lägre tid och där man, förhoppningsvis, bygger upp en långvarig relation med utvecklarna. Men jag upplever det annorlunda i rollen som konsult i och med att jag hela tiden kastas in i projekt, för att sedan lämna dem så fort jag lärt känna folk ordentligt och lyckats byggt upp ett ömsesidigt förtroende. Genom att jag visar att jag förstår deras värld upplever jag att de ger mig en ökad respekt och förståelse.

Generellt sätt tror jag dock det är lättare för en designer att fokusera på just design om man jobbar i mindre, agila team som består av folk från olika discipliner där man har ett mycket mer integrerat arbetssätt. Men även här handlar det om förtroende för varandra, för om man jobbar med en trångsynt person så spelar det ingen roll hur agil man själv försöker att vara.

Nu låter det kanske som att jag tillhör falangen som säger att man måste kunna programmera för att vara en bra designer, så är inte fallet. Jag känner många fantastiska designers som inte kan skriva en rad av kod och inte heller direkt "förstår" programmering. Detta inlägg var mer av en personlig reflektion kring ämnet och en inbjudan till vidare diskussion.

Så, vad tycker ni? Var är era erfarenheter av detta?

Lämna en kommentar

11 kommentarer

  • Tweets that mention Är det en nackdel att kunna pr

    [...] This post was mentioned on Twitter by Jon Karlsson, inUseful. inUseful said: Nytt från inUseful: Är det en nackdel att kunna programmera som designer? http://bit.ly/7SPwTK #inuseful [...]

  • Tommy Sundström

    När man ska vara kreativ, så är det bäst att vara bara det. Det kritiska omdömet är ingen hjälp i den fasen, det bara hindrar hjärnan från att riktigt komma igång. Det är senare, när man verkligen sprutat fram sina idéer, som det är dags att fundera över genomförbarheten. Inte innan dess.

    Att inte kunna programmera tar naturligtvis bort en möjlighet till självkritik, men den viktiga frågan är inte om man kan programmera, utan om man förmår verkligen släppa loss under den kreativa fasen eller ej.

  • Tommy Sundström

    Till kommentaren ovan vill jag bara lägga denna bild, som jag tycker på ett utmärkt sätt sammanfattar det jag skrev: http://bit.ly/86Kkoq

  • Johan Edlund

    Blir en fotograf sämre av att förstå sin kamera? Det känns som den eviga motsättningen mellan programmerare och formgivare aldrig verkar försvinna. Min erfarenhet är att båda sidor har fel och att frågan är missriktad. Att bemästra C++ eller Java betyder inte alls att du kan HTML och CSS. Att förstå typografi betyder ingenting när webben erbjuder så få alternativ för typsnitt. Om man tror att en briljant designer kan skapa den ultimata sajten utanför de ramar som begränsar webben så torde denne använda Flash. Med Flash finns inga begränsningar och en designer kan skapa en värld helt och hållet fritt från konventioner. Precis som han/hon vill ha det. Men... vi vet vad som hände med Flash.

    De bästa hemsidesnickare jag känner till är samtliga bra på både design och programmering. Men fram allt förstår de att huvudsyftet med en webbplats är att förmedla ett budskap. Några favoriter: Jason Santa Maria, Shaun Inman och David Hellsing.

  • Jonas

    Nej, det är i princip inte en nackdel att kunna programmera (och då talar jag om html/css) som designer. Vissa webbdesigners kan dock låsa sig mentalt till lösningar de vet är enkla att fixa medans en designer utan kunskap om detta kan vara friare. Men kommer man över den mentala blockeringen ökar chansen att man faktiskt kan åstakomma något extraordinärt. Studier om kreativitet visar att ju mer du kan om ditt ämne desto lättare får du att hitta kreativa lösningar om man använder ett öppet sinne. Det är alltså en myt om att utomstående som inte vet något kan se problemet ur en ny synvinkel. När utomstående kommer på en ide så sker det nästan av en "olyckhändelse".

  • Joakim Westerlund

    Tror verkligen inte att en designer bör kunna programmera för att leverera bra, dock så är min erfarenhet (som front-end utvecklare) att arbeta med designers som förstår CSS/HTML oftare leder till bättre lösningar i slutändan! Dels vet man varför man inte ska använda flash, att inte webb är detsamma som trycksaker, använda html/javascript/css istället för flash. Ja bara några exempel...

  • Michael Persson

    Det finns ett visst behov att veta hur man kan designa en viss typ av information. För webben kan det vara helt annorlunda än att designa en skylt eller en t-tröja med tryck.

    En grafisk designer gör en snygg lösning och ser mest estetik medan webbdesignern löser ett problem med användbarhet och måste välja rätt teknik för att det skall uppfattas korrekt.

  • Hanna Sjöberg

    Det finns så många olika typer av designers och programmerare...så många olika typer av roller som dessa kan ha. Det är en väldig skillnad på att vara user experience designer i ett produktutvecklingsteam på konceptnivå, och att vara interaktionsdesigner i utvecklingsteam (sista utposten innan produkten släpps). Den förstnämnda behöver möjligtvis inte ha kunskaper om programmering, medan den andra absolut kan dra fördel av att kunna det. Att designa utifrån givna förutsättningar och begränsningar kräver en annan typ av kreativitet än att ta fram nya koncept. Och ska man skapa kreativa lösningar utifrån de givna förutsättningarna så hjälper det att ha mycket kunskap om just dessa förutsättningar, inklusive programmering.

    Ge respekt och en liten bit av dig själv så får du det tillbaka. Som designer, se på dig själv som utvecklare, att alla är produktutvecklare med en gemensam domän, med olika specialistområden och synvinklar.

    För mig handlar det om att sammanföra människa och teknik. Du och jag - kollegor och människor emellan. Vi ger ett budskap, en känsla, ett värde till en annan människa - användaren av produkten, via tekniken. Människa och teknik.

  • Emil Björklund

    Många bra poänger i kommentarerna ovan. Som vardande utvecklare & webbgeneralist med något slags designambitioner själv kan jag säga att jag känner igen mig i att skjuta ner egna och andras idéer för snabbt, eftersom hjärnan direkt hittar "omöjliga" hinder för implementationen i någon fas.

    Det är som Tommy säger, man måste hålla isär de olika faserna av det kreativa arbetet. Jag tror inte man automatiskt blir en sämre designer av att kunna programmera, däremot bör det kunna krävas av både designer och utvecklare att kunna särskilja de olika faserna av utvecklings- eller designarbetet, och kan man det så är kunskaper kring kod och tekniska detaljer bara ett plus.

    Som både Joakim och Mikael är inne på ovan så är kan det vara ett hinder att jobba med t.ex. visuella designers utan tillräcklig kunskap om webbmediet och dess ramar. Som i så många hantverk och discipliner handlar det om att lära sig reglerna så man kan bryta mot dem.

    Begreppet "programmera" är också snårigt i sig: HTML/CSS får man sträcka sig ganska långt om man ska kalla dem programmering (all kod är inte programkod), medan jag fått intrycket att många utvecklare/programmerare fått för sig att t.ex. JavaScript inte är programmering (utan nåt slags light-variant för tramsiga animationer), vilket i högsta grad är felaktigt idag. En bra interaktionsdesigner som jobbar mycket med webb borde åtminstone ha nåt slags koll på byggmaterialet i ett gränssnitt (HTML, CSS, JS) men är inte speciellt betjänt av att kunna abstraktionsmönster för databaskommunikation, eller hur man optimerar en loop. ;-)

  • Christian

    Bra personlig reflektion, Jon. Jag tror att det inte finns något rätt eller fel helt enkelt. Utan att det mycket handlar om omgivningen och teamet.

    Om man känner sig trygg i verktygen man har till hands så klarar man t ex släppa loss i den kreativa fasen.

    Och att kunna programmera betyder ju inte automatiskt att man bara ser problem i alla kreativa lösningar, det kan ju vara att man klarar utnyttja sina programmeringskunskaper till något bra - att tidigt avgöra om lösningen går att genomföra på ett sätt som gör att insatsen ligger i linje med nyttan man får ut.

    Jag tror, som en del har varit inne på, att det handlar om att respektera varandras kunskaper och att känna sig trygg i de verktyg och processer man använder sig av. Om din egen och andras kunskap helt enkelt.

  • .darja

    Märks det att vi är en konsensus-nation? :D

    Men japp. Jag har svårt att förstå hur det skulle kunna vara en NACKDEL att ha kunskap om det material man jobbar med. På samma sätt som folk som jobbar med tryck behöver kunskaper om hur olika trycktekniker påverkar produkten (kvalitet, kostnad etc), en arkitekt behöver ha koll på hur materialegenskaper skiljer sig mellan säg betong, trä, tegel eller stål så tycker jag att designers behöver ha grundläggande förståelse för den teknik de designar för.

    Sen är det såklart en milsvid skillnad mellan att ha hygglig koll på vad som är enkelt/möjligt/svårt/omöjligt, och att faktiskt kunna skriva kvalitativ kod själv.

    Men att se kunskaper om programmering som en nackdel? No way.

    Hålla koll på vilken hatt man har på sig, och inte tro att man kan ha för många hattar i samma projekt? Yes way.

    Men vi kanske borde diskutera andra motsatsförhållanden då också. Kan man vara kvalitetsansvarig för ett projekt, och samtidigt projektleda det?