Ruby on Rails

När jag tittar ut genom fönstret är himlen färgad i en dyster grå ton. Av vattenpölarna på parkeringen ser jag att det regnar. Inget väder för varken promenader eller cykelturer. Istället får det bli en tillbakablick på ett web-utvecklingsprojekt med många nya komponenter för min del. Projektet som nu är sjösatt använde ramverket Ruby on Rails eller kort och gott RoR. En ny bekantskap för min del. Nytt var också användande av GitHub för lagring av koden.

Ramverket RoR skapades av David Heinemeier Hansson 2003. Convention over configuration är något som förknippas med RoR. Istället för att göra det mesta konfigurerbart så är mycket förutbestämt. En sådan konvention är tillämpningen av designmönstret Model-View-Controller. Databaskopplingen går via modellen. I modellen samlas också på ett enkelt och elegant sätt de kontroller som behövs för att förhindra att skräp kommer in vid skrivoperationer och uppdateringar. View:n ansvarar för det som skickas ut till användarens browser medan Controllern tar emot anropen från användaren och ser till att rätt svar skickas tillbaka. Active record är ett lager ovanpå databasen för att få funktionalitet utan att kod behöver skrivas.

Ger RoR vad det lovar, snabb utveckling? Absolut. För de enkla CRUD (create, read, update och delete) funktionerna är utvecklingstiden ett minimum. Det finns till och med möjlighet att generera nödvändig kod. Ramverket känns väl genomtänkt för grundläggande funktionalitet. Men hur väl fungerar det när kraven ökar?

Extra paket kan läggas till med så kallade gems. Jag vill lyfta fram några gems som höjt mitt omdöme om ramverket. Att få till en attraktiv och fungerade användaryta kan vara tidsödande. Både html och css är en utmaning men med bootstrap och haml förenklas arbetet. Ett gem som verkligen rekommenderas är state_machine. Uppgifter i databasen som har olika status är kandidater för implemtering. Det fina med state_machine är att allt som händer vid en statusändring kapslas in, finns på ett ställe som lätt lokaliseras.

I RoR finns också möjligheter när databastabell och vy inte har ett 1:1 förhållande. För att hantera förenklat underhåll där ett formulär uppdaterar flera tabeller finns Form Objects. Service Objects är ett annat alternativ där flera databastabeller berörs av en funktion. Svaret på frågan hur ramverket fungerar när kraven ökar blir positiv.

En browser-applikation fungerar inte utan Javascript. Förutom det standardmässiga JQuery föll valet på AngularJS. Här ställs man inför ett vägval. Ska funktionalitet ligga i Rails på serversidan eller i Angular på clientdelen. Vi begränsade Angulars uppgifter och behöll funktionaliteten på serversidan. Så här i efterhand blir omdömet att Rails och Angular inte är en helt smärtfri kombination.

Versionshanteringssystemet Git har blivit något av en branschstandard. Fungerar bra med Eclipspluginen EGit. Lagring av koden i GitHub var en positiv bekantskap. Issues som skapades i GitHub kan refereras eller stängas direkt när koden skickas in via commits.

Utvecklingsarbete består inte enbart av programmering. En väsentlig del är diskussioner om vilken funktionalitet som ska finnas och alternativa lösningar. Sitter man inte i samma lokaler blir det ytterligare en dimension som måste få sin lösning. När utvecklarna sitter utspridda ställs frågan hur alla synpunkter och infallsvinklar ska hanteras. Organiseringen av ide-fasen innan en klar issue definierats som kan läggas in i GitHub. Skype, chat, diskussionsforum och e-mail. Alternativen är många men för denna del i utvecklingskedjan saknar jag ett naturligt verktyg.

Posted in Programmering | Leave a comment

Vi bara lyder

Ibland händer det. En bok som fångar mitt intresse. En bok där jag snabbt kommer till sista sidan. Helt enkelt ett guldkorn. Oftast brukar de böcker som hamnar i min läselista ha svårt att fånga mig. En stor grupp är de som påbörjas men aldrig slutförs. Boken som utgör ett undantag och som jag syftar på är Vi bara lyder av Lundasociologen Roland Paulsen.

Hur kan en berättelse om Arbetsförmedlingen ge en läsupplevelse? Trots att boken är tunn till antalet sidor är den rik innehållsmässigt. Det finns en lagom blandning av ögonblicksbilder, intervjuer, teoretiska resonemang och reflektioner. Allt lättläst och med ett levande språk.

Mina egna erfarenheter av Arbetsförmedlingen är av gammalt datum. När jag gräver bland gamla dammiga papper som blivit liggande i en av mina skrivbordslådor hittar jag en skriftväxling med Arbetsmarknadsstyrelsen. I samband med Facit-krisen i början av 70-talet blev jag arbetslös och sökte utbildningsbidrag för att genomföra grundskoleutbildning. I avslaget till min ansökan framgår hur svårt det är att se strukturförändringen medan den ännu pågår. Nu när jag sitter med facit på hand visar sig kunskapen om den pågående förändring var lika med noll. Grund för avslaget var som de uttryckte det ett “varaktigt jobb-erbjudande” från en verkstad i Stockholms-trakten. En verkstad som sopades bort av strukturförändringens hårda vind efter bara några månader.

Mina kontakter med Arbetsförmedlingen ligger långt tillbaka i tiden. Hur ser det ut idag? Paulsens bok får bli min ciceron. Jag gör några axplock.

Under Angeles Bermudez-Svankvists ledning expanderade Arbetsförmedlingen från 40 till 72 miljarder på två år. Hon skar bort två chefsnivåer men skapade också det som internt går under namnet “Angel-effekten”. Hårda sparkar från högsta ledningen genom lagret av mellanchefer och vidare till handläggarna på golvet. I Paulsens intervju med Angeles skymtar maktens ansikte förbi. Men som han konstaterar “Det är något som länge fascinerat mig: hur lite makten syns på den som har den.”

Men det är inte om makten som boken handlar om utan dess andra sida, lydnaden. Vid Paulsens första möte med Västertäljes arbetsförmedlare presenteras han på följande sätt av chefen “göra en studie om hur vi arbetar och hur nya beslut och direktiv tas emot och implementeras” Från en av handläggarna kommer svaret snabbt “Vi bara lyder”

Vi får också veta att Arbetsförmedlingen är den minst omtyckta myndigheten. Sämre än både Försäkringskassan och Migrationsverket. I ett hårdare samhällsklimatet blir konflikter konkreta och avspeglas i AF:s lokaler. Ett område som går under namnet zon C har inrättats. För att få tillträde krävs passerkort. Ett påtagligt bevis hur konflikter hanteras. Uppdelning av lokalen i olika säkerhetszoner.

Lydnaden eller om man vill uttrycka det på ett annat sätt, jakten på gröna siffror är handläggarnas vardag. Hur hanterar de situationen när Arbetsförmedlingen blivit myndighet och förmedlingen av arbete blivit myndighetsutövning och kontroll? När det finns 400 000 sökande till 40 000 platser. Paulsen sammanfattar på följande sätt “När jag nu lämnar Västertälje är det med förvissning om att arbetsförmedlare bär dessa frågor som oläkta skavsår. För att hantera dem hoppar de från den ena lydnaden till den andra. De cyniska och de positiva klarar sig bäst. Men alla erfar också stunder av förtvivlan.”

Boken visar på vikten av att på gräsrotsnivå vara öppen för frågan, varför. Inte bara fråga sig hur påbuden uppifrån ska hanteras. Mening och motivation är viktigt.

Länktips: En bok en författare

Posted in Arbetsmarknad | Leave a comment

Iakttagelser och förklaringar

Solen värmer. Cykelbanorna är fria från snö och is. Utomhustermometern har parkerat på +7 grader. Jag saknar hållbara argument mot en premiärtur med cykel runt Nydalasjön. Cykeln, den gamle trotjänaren från 70-talet, har inte mått bra av vinterns inaktivitet. För tungt går det. Visst måste det vara cykelns fel. En osmord kedjan som kärvar? Eller sitter förklaringen i årstidens stundtals blöta vägbana? Motvinden, där har vi det, den är besvärlig för cyklister. För inte kan det väl vara trycket på pedalerna som minskat i kraft från fjolåret.

Söka förklaringar till iakttagelser är vår ständige följeslagare. Det okända måste bekämpas. Orsakssamband skapar trygghet. I ett TV-inslag om IT-branschens tillväxt i Umeå klagas på kompetensbrist. Företagen kan inte expandera i den takt de vill. Orsaken sägs vara att rätta kompetenser saknas. När jag hör argumenteringen dyker gamla minnesbilder upp. Min första arbetsgivare var Åtvidabergs. En stor koncern innan datorerna gjorde sitt stora segertåg. De hade en dominerande ställning på marknaden för kontorsmaskiner med verkstäder runt om i Sverige. Även det lilla samhället Vilhelmina hade en sådan verkstad. Den var min arbetsplats under några år i min ungdom. Vad som dök upp när det klagades på kompetens var att Åtvidabergs hade en egen verkstadsutbildning. Det fanns två vägar in till ett verkstadsjobb hos Åtvidabergs. Första vägen som de flesta gick var att börja som springschas och successivt få utökade arbetsuppgifter. Det andra sättet var att gå deras yrkesskola och komma ut som färdig mekaniker.

En kontrast. Dåtidens interna utbildningar mot nuvarande krav på färdig kompetens vid rekrytering. Många år har gått mellan min gamla minnesbild och företagens ställningstagande idag. Då ville Åtvidabergs försäkra sig om kompetens ute på sina verkstäder och satsade på en egen yrkesskola. Det var långt innan skolpengen, så det tillhörde företagets investeringar. Ett långsiktigt perspektiv. Idag ska helst den nyrekryterade direkt kunna sättas in i produktionen. Tidsperspektivet är ett helt annat.

Valet av förklaring ger olika svar. Iakttagelserna, det som ska förklaras, är inte heller givet. I många av mina inlägg har jag hamnat i en argumentation för behovet av anpassning till en förändrad omgivning. Men då måste det finnas en öppenhet och uppmärksamhet på ändrade förhållanden. Filter som bara släpper igen vad man vill se och blundar för annat förändrar bilden. En mekanism som kan vara förödande för företagsledningar. De har svårt släppa gamla käpphästar som tidigare varit vinstgivande och deras skygglappar döljer viktiga tecknen på förändringar. Anpassningen uteblir. Envishet kan vara en dödssynd som blir hårt straffat.

På politisk nivå måste den vanliga argumenteringen för tillväxt och att skapa jobb blunda för en förändrad spelplan. Dagens omfattande produktion börjar slå i resurstaket på en rad områden. Utifrån ett matematiskt resonemang är också en procentuell tillväxt omöjlig. En exponentiell kurva skapas som är omöjlig att kombinera med ändliga resurser. Vi har bara en jord. Förhållanden på arbetsmarknaden har förändrats mycket. Idag har vi en arbetslöshet som varit otänkbar på 70-talet. Livstidsanställningar har bytts mot tidsbegränsade projektanställningar. Företagen har ett helt annat fokus på kortsiktiga vinster. Kostnadsjakten, där lönerna är en stor post, är ständigt närvarande. Företag som lyckas ersätta manuella arbetstimmar med automatiserade processer får en fördel på marknaden. Andra tendenser är att produktionen flyttas till länder med lägre löner. Ute i företagen minimeras lönekostnaden. Det är krafter som arbetar för en ökning av arbetslösheten. Diskussionen måste flyttas från att skapa jobb till att bättre dela på de jobb som finns. Förkorta arbetstiden.

Posted in Okategoriserade | Leave a comment