Datamatiker Personlighed

Jeg kan godt lide problemstillinger der kræver omtanke i valget af selve problemløsningen. Dvs. opgaver der udfordre intellektuelt samt, hvor man bliver klogere under selv problemløsnings processen. I denne forbindelse er jeg god til (synes jeg selv), at dekomponere større problemer ned i mindre dele for bedre at kunne overskue dem samt gør det klare for andre hvad problemet og løsningen er. Jeg er i denne forbindelse ligeledes god til at have mange forskellige bolde i luften som rent teknisk skal koordineres sammen til en større funktionel løsning.

Hvis den enkelte problemstillingen anvender ny teknologi, som jeg ikke er bekendt med, ser jeg dette som en mulighed for at blive klogere og lære noget mere. Gennem mit studie har jeg netop lært, at stå overfor problemstillinger som er ukendte og hvor lærerne ikke har kunne bidrage til løsningen. I sådanne tilfælde er jeg i stand til, at lave en konstruktiv handlingsplan der bla. indbefatter vidensindsamling (litteratur) samt test og afprøvning af de enkelte teknikker mhp. at blive klogere omkring dens fordele, ulemper og begrænsninger.

Som programmør

Filosofi:

Jeg er en objektorienteret programmør der har en bred erfaring med programmeringssprogene c++ og java. Jeg kan lide at lave simple løsninger på komplicerede problemer, og er i de fleste tilfælde villig til at omstrukturere koden hvis en anden og mere simplere opbygning kommer frem under processen. Gennem min uddannelse har jeg et bredt kendskab til hvorledes en computer og styresystemer fungere, og er af denne grund i stand til at forstå hvorledes de arbejder og tænker. Dette gør, at jeg nemmere kan programmere samt sætte mig ind i fremmede programmer/udviklingssystemer idet jeg kender fordelene/ulemper og begrænsninger.

Jeg tilstræber, at finde den mest fleksibleste og smukkeste objektorienterede programstruktur der på bedst mulig måde løser problemet. Dette betyder bla. at jeg bevidst kigger efter gentagende strukturer i programmet der evt. kan placeres i f.eks. en framework struktur. Dvs. at jeg ikke blot slave programmere derudaf uden omtanke for det endelige produkt.

Jeg er som programmør klar over at selve kodningen af programmet ofte kun tegner sig for 20 % af selve implementations perioden. I denne forbindelse optager ofte Test (unit test) og dokumentationen af programmet den resterende tid. Disse processer er jeg ligeledes villig til at indgå i. I denne forbindelse er jeg fortaler for, at dokumentationen bør være placeret ude i selv kilde-koden, under anvendelse af programmer som f.eks. javadoc. Dette for at undgå uopdateret dokumentation. Testen kan ligeledes standardiseres vha. programmer som f.eks. junit.

Værktøjs præferencer:

Som programmør er jeg ikke bundet til nogen bestemt platform. Jeg kan arbejde under windows såvel som UNIX (linux). Endvidere er jeg heller ikke bundet til nogen bestemt editor eller udviklings program (så som f.eks. emacs). Jeg er, hvad det angår, fleksibel og kan om det skal være kode i notepad eller pico til unix. Dog er jeg fortaler for, at redskaberne skal være i orden, idet det giver en hurtigere og mere effektiv udvikling. I dette tilfælde vil der være tale om CASE-tools, editors, builder værktøjer samt versions styringssystemer (f.eks CVS).

Programmeringsstil:

Mht. programmeringsstil anvender jeg udelukkende engelske variabel og funktions betegnelser idet alt andet ville være uprofessionelt. Layoutet for koden er opstillet som foreskrevet af SUN’s programmerings retningslinjer for java. Endvidere tilstræber jeg at alle kommentarer og dokumentation i programkoden er på engelsk, omend med nogle stavefejl.

Erfaring:

Som programmør har jeg endvidere både erfaring med almindelig applikations udvikling men også ligeledes webapplikationer samt komponent udvikling. Jeg har i disse tilfælde erfaring med interaktionen af større servere og komponenter i disse samt med almindelig database interaktion. Endvidere har jeg erfaring med distribueret programmering samt håndtering af flertrådede applikationer.

Som systemudvikler

Filosofi:

Som systemudvikler benytter jeg, hvis det er muligt, den objektorienterede angrebsvinkel. Jeg er her skolet i Objekt Orienterede Analyse og Design (ifølge Mathiassen, den røde) under anvendelse af notations formen UML (Unified Modelling Language). Dog anser jeg ikke denne metode, som værende den endegyldige løsning på alle systemudviklings projekter. Jeg mener her derimod, at et projekt er unikt i sine krav til den metode, udviklingsmodel samt angrebsvinkel som bør anvendes. Dvs. at man ikke kan anvende en bestemt metode eller teknik, men må samle de teknikker og dele af metoder som på bedst mulig måde giver et indblik i problemstillingen. Dette er bla. inspireret af Martin Fowler’s måde at anskue systemudvikling på (Beskrevet i bogen UML destilled).

Erfaring

Jeg har erfaring, igennem flere projekter (fortrinsvis skole projekter), med hele systemudviklings forløbet. Dette strækker sig lige fra foranalysen, analysen, design og selvfølgelig selve implementation, test og dokumentation. Jeg har i denne forbindelse erfaring med de klassiske udviklingsmodeller som Vandfalds- og Spiralmodellen, men ligeledes også med mere eksperimentelle udviklingsformer så som Objektorienteret Rapid Prototyping og Komponentbaseret udvikling. Prototyping har her både været anvendt til, at fastlægge kravspecifikationer i foranlysen og analyse fasen, samt blevet benyttet i tekniske eksperimenter til fastlæggelse af strukturen i design fasen. Igennem studiet har jeg ligeledes kendskab til klassiske metoder såsom Struktureret Analyse og Design (funktions og data orienteret angrebsvinkel) samt CASE baseret udvikling såsom RAD (Rapid Application Development). Mht. CASE værktøjer har jeg i denne forbindelse stiftet bekendtskab med MagicDraw (www.nomagic.com).

I slutningen af mit studie har jeg ligeledes lært anvendelsen af designmønstre (bla. gennem bogen Design Patterns, Elements of reusable object-oriented software, af The gang of four). Disse har givet en større forståelse for, hvad objektorienteret udvikling er samt er en kilde til inspiration under selve designet af programstrukturen.

Projektstyring

Mht. planlægning og projektstyring er jeg ikke en person der er fortaler for detaljeret planlægning af et projekt ned i mindste detalje på dagsbasis. Derimod er jeg fortaler for at anvende planlægningen og styringen på ugeplan, således at processen og glæden ved arbejdet ikke bliver ødelagt af daglige deadlines. Jeg anser i denne forbindelse reviews, samt interne diskussioner i gruppen som et væsentligt redskab i processen. Igennem studiet har jeg været projektleder under 2 (skole) projekter. I disse tilfælde har det været min primære opgave at afstikke de store retningslinjer, samt at opdele og uddelegere projektet i mindre dele under implementations fasen. I begge tilfælde har styringsformen være tilstræbt demokratisk, selvom det selvfølgelig altid er den person i gruppen, med mest teknisk viden omkring det enkelte problem, hvis ord vægter højest.

 
datamatiker_personlighed.txt · Sidst ændret: 18/04/2006 18:02
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki