Före detta systemvetarstudent som nu jobbar som systemutvecklare. Skriver om yrket, problem inom IT samt kopplingen tillbaka till studierna.
torsdag, april 07, 2011
Böcker
Men det måste ju finnas en del böcker som räknas som klassiker inom området. Vilka är det? Och vilka är såpass lättlästa att man kan läsa böckerna för nöjes skull och inte ha som uppslagsverk?
Den första boken som jag kommer att tänka på när man talar om klassiska böcker inom programmering är ju Knuths The Art of Computer Programming (TAOCP). Men första boken i serien är från 60-talet, och vad jag hört ska det vara riktiga monsterböcker att ta sig igenom.
Några böcker som jag funderat på att läsa däremot är The Mythical Man-Month av Fred Brooks. Det är en bok som folk nämner lite då och då, trots att den funnits sen 1975. Konceptet med boken är något de flesta utvecklare känner igen, flera kockar gör inte bättre soppa. Att öka antalet utvecklare på ett projekt leder inte till att projektet blir snabbare klart, tvärtom, det kommer ta ännu längre tid att bli klart.
En annan som verkar bra och jag skulle vilja läsa är The Pragmatic Programmer av Andrew Hunt & David Thomas.
Är det någon som har nå bra tips att ge?
tisdag, mars 29, 2011
MVC 3
Suttit nu ett par veckor och pysslat med ASP.NET MVC 3, och är mycket imponerad. Kommer från en vanlig webformsbakgrund, .aspx och .aspx.cs alltså. med massa fina asp-bitar som <asp:textbox ..
MVC3 känns mer genomtänkt. Mindre kod, mer hands-on. Man slipper använda krångelgrejer som repeaters för att göra en lista, nä man kan heltenkelt loopa igenom samlingen och trycka ut html rakt av.
Det är dock inte helt enkelt att lära sig, lite svårare att förstå, dokumentationen är kanske lite bristfällig, och så är det ett annat tänk.
MVC står för Model-View-Controller, och tanken är egentligen på intet sätt ny. Konceptet kan, något förenklat, förklaras som att man ska försöka hålla isär koncepten. Modellen är “klassen” på det man hanterar för tillfället, view:n sköter visningen (dvs html-outputen) och controllern hanterar det bakomliggande, som databasanrop och annat.
Den nya parsningsmotorn Razor är även den riktigt skön, det går att blanda C# och HTML lite hur man vill, den förstår ändå hur man menar.
Däremot tycker jag inte att integreringen med Javascript är helt lyckad. Den förutsätter egentligen att man kör jQuery (vilket inte alla gör), och det känns inte riktigt som att dom tänkt till med AJAX-biten. Men det kan ju vara så att det är jag som inte fattat den biten till fullo ännu.
Känns ju som att alla dessa webramverk och asp och dotnet och mvc och jquery och tjosan, har lite mindre webbprojekt som målgrupp. Eller snarare, dokumentationen förutsätter ganska basic grejer, och när man kommer till lite djupare vatten så väljer man ofta att skriva något eget, för det befintliga är för bökigt att modifiera och begripa. Det känns inte helt rätt eller bra att det ska vara på det viset.
torsdag, mars 24, 2011
Bara en halvtimme?
Enligt CS så lägger varannan svensk ner 30 min per dag på att söka efter information i sitt arbete. Är det bara jag som tycker det känns som i underkant?
Men det beror på kanske vilka man frågar, räknar man med industriarbetare och snickare och hela det gänget så drar de nog ner snittet rejält. Men inom IT-sektorn känns det som att man knappt gör något annat. All teknologi har blivit så komplicerad att det är omöjligt att hålla mer än en bråkdel i huvudet eller kunna utantill. Man är illa tvungen att sitta med flera fönster uppe samtidigt, scrolla fram och tillbaka, googla på dokumentation, etc etc.
Som systemutvecklare skulle jag nog vilja påstå att 80% av tiden går till att leta efter filer, leta efter dokumentation, leta efter fel i källkoden, leta efter mail man fått för länge sedan, leta efter papper man har nånstans på sitt skrivbord. Det är inte särskilt mycket tid som går till det faktiska arbetet egentligen. Och det är ju synd. Lägg till sen långsamma servrar och arbetsdatorer, så sitter man ju och slösar ofantligt mycket tid.
Men jag tror inte det är så mycket man kan göra åt det i dagsläget. Börjar man dra in tidsstudiemän så vill de istället dra in på kafferaster och kisspauser, för det är något som är betydligt enklare att mäta.
Det finns nog vinster att göra i att ha ett strukturerat arbetssätt, ordentlig design, vettiga kravspecar. Och framförallt lägga undan tid till att underhålla källkoden, kommentarer, buggfixar, dokumentation. Men det är saker som verkar vara svårt att sälja in på ledningsnivå.
“Hej, vi skulle vilja jobba några veckor med saker som inte har någon som helst effekt för slutanvändaren, men det skulle göra vårt arbete enklare på 3 års sikt.”
Man har nog en himla tur om man har en chef som man kan vara så ärlig med.
tisdag, mars 22, 2011
Utvecklare måste kunna mer
Hos CS kan man läsa idag om hur systemutvecklare måste kunna mer. Det känns knappast som någon nyhet. Nog har dedär som bara satt och knackade kod börjat försvinna redan ett tag sen. Nuförtiden måste man även kunna ge feedback på idéer, kunna lite analys och design, m.m. De kallar det för social kompetens, vilket är ett sånt modeord, men det är vad det handlar om i slutändan. Att kunna prata med de som ska använda systemen, snappa upp förbättringsförslag och kunna bolla idéer.
Förut, nån gång tidigare, innan min tid, så fanns det både systemutvecklare och programmerare. Programmerarna fick en kravspec i sitt knä, knackade fram den och gav tillbaka. Kod och inga visor. Det är något jag inte sett av alls under min yrkesverksamma tid.
Bristen på utvecklare verkar fortsätta dessutom. Har nu läst artiklar om hur det saknas IT-kompetens i ungefär ett år. Jag förutspår att situationen kommer fortsätta i 1-2 år till. Helt enkelt för att det under en period stod helt tomt i universitetens it-utbildningar, och IT som hobby verkade försvinna till förmån för CS och WoW.
Dessutom så har pensionsavgångarna satt igång nu, de gamla rävarna försvinner och det räcker inte att ta in en nyutexaminerad, för den kompetens de tar med sig när de går kan man inte mäta i arbetstimmar bara sådär. Jag får känslan av att det är något många chefer fortfarande inte begripit. Det verkar sitta djupt detdär, att det är bara anställa någon annan utan någon större skada.
Men när man har många kockar som är och petar i kodbasen så blir det snabbt rörigt. Dessutom är det alltid en startsträcka på ~3-6mån innan man känner sig riktigt hemma bland källkoden.
Cheferna bör, enligt min åsikt, inse så snart som möjligt att de måste arbeta fram varaktiga relationer med sina utvecklare. De måste lyftas fram från källaren, uppskattas och värdesättas. Många organisationer är fullständigt beroende av sina utvecklare för att det dagliga arbetet ska kunna fungera.
måndag, mars 21, 2011
Norrbotten
Känns som att jag läst nu flertalet artiklar om hur bra Norrland/Norrbotten är att ha sitt datacenter i. Och hur det behövs massa IT-folk överallt.
Det är ju kul att det växer här uppe, finns faktiskt rätt mycket duktigt folk. Företagen verkar också rekrytera i ständig takt. Än så länge verkar de mest vara ute efter folk med erfarenhet (och gärna till väldigt låga löner), men det kan ju ändras. Undra om det kan bero på att duktiga folk flyttar ner till Stockholm och de som stannar kvar är lite desperata?
Men det är ju egentligen rätt dumt att ha allt där nere i Stockholm, även fast jag gillar staden. Finns mycket fördelar med att ha nån del av sin it-verksamhet här uppe, ur företagens synvinkel då. Lägre löner, lägre hyror, lägre energikostnader då man kan bara suga in friskluft under den långa vintern. Dessutom kommuner som gärna vill ha hit fler arbetsplatser och är säkert väldigt samarbetsvilliga.
Här är ett par länkar som fanns på idg:s framsida.
http://www.idg.se/2.1085/1.374572/kyla-hett-i-norr
http://www.idg.se/2.1085/1.374575/manga-kanner-inte-till-hur-bra-norrbotten-ar
söndag, mars 20, 2011
Arduino
Något jag pysslar med nu när jag haft gott om fritid är att lära mig lite mikroprocessorprogrammering. Skaffade mig några Arduino och TI Launchpads och har suttit och lekt lite med dem. Vet inte riktigt vad jag ska bygga än, men det blir säkert lite kuliga småprylar.
Arduinon är riktigt trevlig som nybörjarplattform, programmering är riktigt enkel jämfört med riktig hårdvarunära C som det annars brukar vara. Launchpaden är enormt mycket svårare att komma igång med.
Det är kul att få syssla med lite hårdvara och elektronik efter att man legat så långt borta från den nivån under flera år. .Net och webbutveckling i all ära, men det är lite tröttsamt att få kämpa med problem som i slutändan känns irrelevanta, som placering av div:ar.
En arduinoklon som kör hello world på en lcd-display.
En TI Launchpad som jag lött en kristall på. Det var smått och svårt.
En riktig Arduino, made in italy!
tisdag, mars 15, 2011
Arbetsplatsen
Ponera att man har två erbjudanden som det står mellan. På arbetsplats nummer ett så verkar det inte vara nå vidare arbetsgäng man får jobba med, chefen verkar inte så himla trevlig, arbetet är en bit ifrån där man bor. Men uppgifterna skulle vara stimulerande och spännande. En utmaning att se fram emot.
På arbetsplats nummer två så skulle man ha ett bra gäng att jobba med, arbetsplatsen är väldigt nära där man bor, chefen verkar trevlig. Men uppgifterna skulle vara betydligt mindre stimulerande. Snarare klippa-och-klistra arbete, inget nytt, inga utmaningar.
I en sådan situation, vad borde man välja? Det är lite knepigt. Personligen så behöver jag nya utmaningar för att inte dö av tristess, jag har svårt att nöja mig med att stå still. Det kan vara en styrka i vissa situationer, men samtidigt ett rejält hinder om man inte har möjligheten att undersöka nya möjligheter, lära sig nya saker, etc. För då blir jag rejält missnöjd ganska snabbt.
Men samtidigt så finns det mycket mer till ett arbete än bara själva uppgifterna, eftersom det är sällan man får sitta i en grotta och lösa problem för sig själv. Nåja, vi får se vad det blir här framöver.
fredag, mars 11, 2011
Update
Sen sist har jag blivit arbetslös, företaget gick i konkurs. Det kom inte som någon egentlig chock, men det var ändå trist. Man blir snabbt van med vardagsrutinen, sina kollegor, etc.
Nå, det verkar som att det ändå var tur i oturen att branschen har brist på kompetent folk just nu, det finns massor att jobb att söka. Tyvärr verkar det som att vissa potentiella arbetsgivare är lite bakom flötet, och tror att bara för att man är arbetslös så är man desperat och går med på vad som helst. Två stycken har redan lovat guld och gröna skogar, för att i slutändan inte ens ha något jobb att erbjuda.
Men men, nu har jag haft en del intervjuer, och tror att jag inte behöver gå omkring sysslolös länge till. Det är förbannat tråkigt att inte ha någonting att göra om dagarna. Försökt hålla mig sysselsatt genom att pyssla med diverse småprojekt, men man tappar snabbt motivation och ork. Känns som om jag är trött hela tiden, och orkar inte med särskilt mycket. Det visar hur viktigt det är för oss människor med någon slags rutin, och att känna sig nyttig om dagarna!
Nåja, det får räcka så för denhär gången.
tisdag, oktober 05, 2010
Videoföreläsningar, gratis, på internet!
Perfekt att slå på istället för att se nå dokusåpa eller annat hjärndött. Här är några tips, och det går att klicka sig vidare för att leta reda på massor mer.
http://academicearth.org/courses/programming-paradigms
http://academicearth.org/courses/building-dynamic-websites
http://freevideolectures.com/Course/2517/Multicore-Programming-Primer
http://www.youtube.com/user/UNSWelearning#p/c/6B940F08B9773B9F/0/hE7l6Adoiiw
Richard Buckland (sista länken) var för övrigt en strålande duktig föreläsare, tänk om man hade haft såna lärare själv!
torsdag, augusti 26, 2010
Repeaters pt. 2
Till exempel, man har en repeater med en textbox. Du säger id="foo", och repeatern rasslar till och du har 20st foo. Givetvis kan du då inte i code-behind köra på som vanligt.
Knepet är att använda sig utav FindControl.
{
TextBox tb = repeater.Items[i].FindControl("foo");
Där har du då din textboxkontroll samt nummer på repeatern den kom ifrån. Mycket enkelt. Går att tillämpa på alla möjliga slags kontrollers, checkboxar etc.
onsdag, augusti 25, 2010
Repeaters
fredag, december 18, 2009
Crystal Reports
Ja, jag jobbar hos Dilbert, kort och gott. Men nöjd är jag för det, jag trivs och jobbet är roligt. Kanske mer om det senare.
De senaste dagarna har jag suttit och bråkat med Crystal Reports och upptäckt att det är ett riktigt monster. Det är lite märkligt dokumenterat och det är kinkigt med indatat. Dynamiska kolumner? Glöm det!
Om du inte vill köra SQL-frågor direkt till CR utan något lite mer dynamiskt och kanske genom något API (som i mitt fall) så finns det egentligen bara en lösning. Du får göra en klass, en ArrayList med objekt, ladda klassen i CR-rapportgeneratorn och sen göra lite fulhack.
fredag, oktober 10, 2008
Nedläggning, typ
Får se vad jag gör av denhär bloggen, kanske lämnar kvar det som står bara som det är. Är ju en eller två om dagen som hittar hit genom att googla på SSM eller POM eller liknande saker så..
Nåja, på återseende.
lördag, juni 28, 2008
Ryssland nästa Silicon Valley?
Läste en ganska intressant artikel hos IDG idag, om hur IT-branschen är påväg uppåt i Ryssland. Inte så konstigt egentligen, då rysk ekonomi går bra idag och dom har optimismen kvar efter kommunismens fall.
Jag har en bekant jag pratar med med jämna mellanrum som jobbar faktiskt hos IBM i Moskva, och så brukar jag få höra hur läget är därborta. Det finns tydligen rätt mycket jobb, men problemet är lönerna. De betalar hemskt dåligt om man jämför med resten av världen. Ett toppjobb kan ge dig 9000SEK i fickan, så såklart är det få européer som flyttar dit.
Och med den inhemska kompetensen är det lite si och så, allt är ju så nytt så det är få som har erfarenhet och kompetens. Vilket leder till ett slags Catch 22..
Men det förändras nog. Och vem vet, snart kanske folk börjar flytta dit för att jobba istället.
Update
Knepigt detdär, när man inte pysslat alls med ett språk på flera år. Man vet som inte i vilken ände man ska ens börja för att komma igång. Men det släppte sen tillslut, och så kom jag igång med pekarna och vektorerna. Vektor, array, vad ska man säga egentligen? Svårt detdär med termer.
Sen har jag pysslat med PHP/MySQL, har funderat på ett projekt med en kompis så skulle jag undersöka den tekniska biten, hur stort jobb det är. Var ju också en härva, tog mig flera timmar att få grafikbiblioteket i PHP (GD) att förstå att jag har libjpeg installerat så den kan slå på stödet för jpg. Fick igång det tillslut, och nu funkar mina fulgrejer.
Angående MySQL, frågan verkar fortfarande inte blivit besvarad, InnoDB eller MyISAM? Jag minns att när jag senast pysslade med detdär behövde jag InnoDB av någon anledning, det var något som inte fanns i MyISAM.. något med nycklar, primärnycklar? Och så var det tveksamt vilken av dom bägge som var bäst. En snabb googling visar att så är fallet än idag men att det börjar luta över till InnoDB.
Har aldrig riktigt förstått detdär, varför dom kör med två olika databasvarianter, samtidigt som det inte egentligen förklaras vilken som är bra till vad. Visst finns det en massa information på nätet, men ändå..
Nåja, det var det.
tisdag, maj 27, 2008
Buzzwords
Företag vill ha webben 2.0, men vet inte vad det är. Det tycker jag summerar ganska mycket läget när det gäller uttryck av dethär slaget, buzzwords som dom kallas. Det talas alljämt om webben 2.0 och andra liknande begrepp, men det är sällan någon faktiskt förklarar vad det innebär. Ändå vet man att det behövs, eftersom det står om det överallt. ITIL är ju ett annat sånt modeord just nu, ojoj vad alla ska köra ITIL.
Ramverk är ett annat kul, och kommer ni ihåg reklamaffischerna där det bara stod DOT NET. Ingen visste vad det var för något. Sen säger Microsoft och ler lite mystiskt, "det är ett ramverk..". JÄKLAR DET MÅSTE VI HA. Hörru IT-Bosse, har vi detdär dått nets?
lördag, maj 24, 2008
Ännu ett år
Sanslöst hur snabbt tiden kan gå, om några månader påbörjar jag mitt fjärde och sista år. Det har verkligen varit år som gett insikt och nya lärdomar. Man är ju så naiv, och inser inte hur komplext allting är. Hur stort arbete det verkligen är att utveckla ett nytt system, det tog säkert ett år att smälta. Att det största arbetet är analys och design kunde man inte ens föreställa sig innan jag började utbildningen.
Några saker oroar mig för närvarande. Det finns inga engagerade i sektionen förutom mig själv som läser det systemvetenskapliga programmet. Jag sitter kvar som utbildningsbevakare därför att det inte finns någon annan. Men det är ju inte hållbart, jag slutar ju nästa år. Sen då, liksom. Måste ta och fundera på detdär, och försöka fixa någon som kan ta över min post.
Sektionens framtid ser inte ljus ut, minst sagt. Det är färre och färre som läser nationalekonomi och statsvetenskap, och nu talas det till och med om att stänga ner statsvetarprogrammet. Så merparten av sektionens medlemmar är faktiskt systemvetare, samtidigt som de saknas helt i sektionsverksamheten. Vad göra? Snart sitter vi alla utan en sektion, då vi är 5 pers på alla poster, som sköter allting.
Sen börjar jag känna arbetsmarknadens press. Kan jag tillräckligt? Vad borde jag kunna? Hur ska jag få mitt första riktiga jobb? VAR ska jag få mitt första riktiga jobb? Jag vill nog inte stanna här i Luleå. Men vart ska jag isf flytta? Alla dessa frågor.. äh, man får ta det sen när det kommer.
Nåja, denhär bloggen har inte varit så hemskt aktiv under det gångna året, vi får se hur illa det blir under sommaren. Tanken var att lägga allmännyttig information här om termer, koncept, ramverk, metoder, metodologier, osv, så att det går att hitta något om man skulle googla på t.ex. SSM, POM eller J2EE. Kanske borde ta mig ett litet ryck igen. Nä, nu ska jag äta lunch.
torsdag, maj 08, 2008
LTU-Honkamaa
Ännu en artikel om Stina Honkamaa, som blev chef för svenska delen av Google. Det verkar som att det står om henne lite överallt, såhär ett tag EFTER att hon blev chef? Känns lite konstigt, men nåja.
Denhär gången står det Luleå Universitet, och tydligen hade det varit någon annan felvariant i Dagens Industri här en dag hörde jag. Luleå TEKNISKA Universitet heter det ju faktiskt.
Jag tycker att dethär ändå visar på det faktum att det inte har så enormt stor betydelse varifrån man tagit examen. Det talades om det igår på Samrådsmötet där vi hade prefekt och rekryteringsansvarig som pratade lite om vad som görs just nu. Det har betydligt större roll vem du är och vad du gör med din examen än vad det står för lärosäte på pappret, vilket är något värt och viktigt att ha i åtanke.
Utbildningen på LTU håller faktiskt hög klass för det mesta, även fast det är en liten och ung skola. Det systemvetenskapliga programmet (vilket jag läser) är bra, och jag har aldrig sett någon anledning att flytta härifrån för att studera någon annanstans.
Har varit ganska dålig den senaste tiden på att blogga då jag har haft hektiska tider med min C-uppsats, och allt annat som måste göras och bli klart under våren (omtenta är jobbigt). Men ska försöka ta tag i det nu igen.
Ps. någon som kan fixa ett sommarjobb åt en systemvetare i Luleå? ;)
onsdag, februari 27, 2008
Legacy Systems
Jag minns något år sen, när efter ett programrådsmöte, så var det en studentrepresentat som klagade på kursen vi hade i programmeringsspråket C. Han menade, att det är ju inga företag som använder ett så gammalt språk längre. Bortglömt och utdött, i princip. Nä, för det är Java man ska lära sig. Det är Java alla företag använder. Skulle man sagt "nej, det är COBOL vi borde lära oss för att få jobb efter examen" så hade ju ingen av de andra ens vetat vad jag pratade om.
Vi är för trendmedvetna, och universiteten är inte långsamma på att haka efter i förhoppningen om att det ska dra fler studenter. Men dessa trender tar lång tid innan de får ett grepp om den del av branschen som faktiskt måste använda sig av alla nya tekniker och metoder. De vet nämligen, att allt som är trendigt kommer inte överleva. Det gamla och beprövade, är just nämligen det, beprövat.
Så för att återgå till C-uppsatsen, titeln har kommit att bli: Modernisering av förlegade system - Processer och tekniker för att hantera det oundvikliga.
Vi hoppas att lära oss några nyttiga lärdomar av detta arbete, för det är onekligen ett intressant ämne. Och varför inte lära sig en gnutta COBOL samtidigt, kanske man blir ännu mer attraktiv sen i arbetslivet.
lördag, februari 02, 2008
Spring
Lustigt detdär med ramverk. Det är så svårt att förklara egentligen vad det är. Ett antal färdiga komponenter, jojo.. Skrev faktiskt ett stycke om Spring i en rapport om Java EE 5. Dethär är vad det stod:
Spring är ett ramverk för Javaapplikationer. Men det säger inte så mycket för de flesta. Ordet ramverk kan betyda många olika saker, och sen kan det vara svårt att skilja mellan plattform, arkitektur och ramverk. Något förenklat så kan man se ett ramverk som en samling mjukvarukomponenter som är färdigbyggda för att förenkla utveckling av en applikation från noll. Man kan med hjälp av ett ramverk slippa lägga ner tid och resurser på att utveckla lågnivåfunktionalitet och på så sätt slippa uppfinna hjulet om på nytt. Utvecklaren kan då istället koncentrera sig på själva problemet.
Det finns ett flertal ramverk, och det kan vara ibland svårt att se nyttan med att det finns så många som det finns. Men de har alla sina tillämpningsområden och speciella kvalitéer. Och eftersom Spring är populärt idag så måste det ha någonting att tillföra. Spring är tänkt som en ersättare till Java EEs EJB-modell och utvecklarna av Spring försöker inte att konkurrera ut något av de andra ramverken som redan existerar om de inte själva tycker att det har någonting nytt att komma med.
Utvecklarna till Spring anser att Java EE borde vara enklare att använda, och försöker därmed inte att försvåra utvecklandet av applikationer utan tvärtom, förenkla. Man försöker dessutom att ”tvinga” utvecklare till att skriva välskriven programkod.
Spring är väldigt modulärt uppbyggt, så man behöver inte använda ramverket till allting. Till exempel kan man välja att endast använda Spring för att förenkla JDBC funktionalitet. I Spring har man dessutom lagt ner mycket möda på designa ramverket på så vis att det ´blir enklare att testa applikationer.