lørdag den 16. juni 2012

Udvikle en ide

Det sjove ved en ide er at den kan være svær at "styre" når den først sluppet løs og har slået rødder.
Sådan en ide har jeg netop fået og hver gang jeg tænker over den knubskyder den med nye facetter og sider der udvider den og gør den endnu vildere, smukkere og større.

Det er en ide om at udleje sommerhuse med en anderledes tankegang omkring min forretningsmodel.
Jeg vil gøre siden meget mere brugerorienteret og sørge for at de brugere der er på siden får mest muligt ud af det.
For mig handler det om at skabe en side der giver alle brugere værdi og et godt grundlag for at få noget brugbart ud af siden.
Jeg vil sørge for at der er gode fordele for udlejere (dem der udlejer sommerhusene), men også for de brugere der er på siden som vil hjælpe mig og siden og udlejerne med at udvælge kvalitet og dermed sørge for den bliver endnu mere attraktiv.
De brugere der bliver lejere (lejer et sommerhus) vil også få værdi og et etablisement og grund til at komme igen, udover det at siden skal være funktionel og i sig selv være tiltalende nok til de kommer tilbage igen.

Denne ide er noget jeg vil lege videre med i de næste par måneder, og når der begynder at komme skub i tingene vil jeg overveje at skabe min egen virksomhed ud af det.
Jeg har endnu nogle uklare detaljer som jeg ikke helt ved hvordan jeg skal løse endnu, men det er detaljer som jeg vil se nærmere på og eventuelt finde alternativer til og søge råd til.

Men jeg glæder mig enormt meget til at komme i gang og få lavet et startskud på siden der nok skal være dansksommerhusleje.dk og vil lidt efter lidt udvikle sig til noget jeg håber bliver et godt sted for alle besøgende om de vil være udlejere, besøgende eller lejere.

Develop or DIE!


Ja det er ligesom i naturen at man må tilpasse sig sine omgivelser og udvikle sig - survival of the fittest.
Jeg er jo en person der ELSKER at blive udfordret og lære nyt, så jeg er også kommet til et punkt hvor jeg er begyndt at overveje at videreuddanne mig selv.
Jeg kunne godt tænke mig at uddanne mig videre udover kurser og tage noget egentligt uddannelsesforløb og muligvis fokusere på noget certificering også.
Mit problem er så lidt at jeg er i tvivl om hvilken retning jeg skal tage da jeg netop godt kan lide samme stil som under min datamatiker uddannelse til systemudvikler, at vi under 90% af forløber programmerede i en moderne teknologi som C# og dermed har flere års erfaring indenfor dette felt og Microsoft udvikling.
Så noget der er vigtigt for mig er også at jeg kan bygge videre på dette grundlag og ikke begynde i et nyt sprog som jeg ikke har lyst til at fortsætte med og arbejde i efter min uddannelse.

Desuden så er der flere linier og retninger jeg kunne tænke mig at gå imod - fx at tage en diplomuddannelse indenfor systemudvikling som fx indeholder kontraktbaseret systemudvikling, og meget andet spændende.
Samtidigt har jeg også lyst til at tage en diplomuddannelse indenfor webudvikling og styrke mine evner her endnu mere.
Dette er ikke de eneste linier og uddannelser jeg har tænkt over og som tiltaler mig så det er ikke nemt for mig at vælge.
Dog må jeg før eller senere vælge og da jeg har nogle mål for min fremtid så ved jeg at jeg ikke kan udsætte denne beslutning hele tiden.

Det er jo lidt et problem når man altid ønsker at lære noget mere og blive dygtigere.

Specielt indenfor mit fag er det vigtigt at holde sig ajour med alle de nyeste teknologier og trends for ellers falder man hurtigt bagud. Nu er det så heldigt at jeg kan holde mig ajour fordi jeg synes det er sjovt og fedt at arbejde med de ting og de tænder en glød (læs: brænd) indeni mig for jeg elsker smartere nye måder at gøre tingene på hvor jeg kan nemmere gøre mit arbejde og hurtigere få nogle resultater frem.

Udvikler profil = kreativt geni?

Jeg synes selv jeg er rimeligt god til at kende mig selv og noget jeg også har fået ros for flere steder fra. Det handler om selvindsigt og kende sine styrker og svagheder og udnytte dem og bruge dem til sin fordel.
Dette betyder ikke at forskellige firmaer etc. ikke bruger forskellige måder at analysere folk på såsom personlighedstests, intelligenskvotient tests og alle mulige andre tests man skal igennem.

En jeg synes der er lidt sjov er en jeg har fået igennem jobindex for jeg kan virkelig genkende mig selv i den, men kan man jo ofte med den slags. Dette er dog på en anden måde fordi den skildrer mere mig som nørden i nørden i stedet for at have disse meget fluffy og abstrakte vendinger.

Den er som følger:

Iværksætter Beskrivelse af typekode: ENTP

"Fokus på innovation og at overvinde forhindringer"

ENTP-typer er ofte entusiastiske, udadvendte og idérige personer, der interesserer sig for mange forskellige ting og holder af at debattere. Deres talent ligger ofte i at udvikle og opbygge idégrundlaget for nyskabende projekter, som de får sat i gang. De er ofte meget uafhængige personer, der kan lide at finde nye måder at anvende teorier på, så de kan effektivisere de eksisterende processer i organisationen eller produktionen. De ser ikke problemer, men kun muligheder for udvikling.

For ENTPer er det derfor vigtigt, at organisationen eller virksomheden er ubureaukratisk og har en løs struktur med få regler, der muliggør hurtige forandringer. Ofte vil man finde ENTPer i job, hvor de kan bruge deres evne til at skabe fornyelse og forandring, så de kan overvinde forhindringer og løse opgaverne på en ny og smartere måde. Da de er interesserede i næsten alting, finder man dem i mange forskellige typer stillinger, der er karakteristisk ved, at deres analytiske sind udfordres. Ofte vil de være at finde inden for:
Følgende kendte personer har typen ENTP: Walt Disney, Thomas Edison, Benjamin Franklin

Så jeg er da stolt over at jeg er sådan for det er nemlig rigtigt at jeg er yderst kreativ og en idemager der ser muligheder i alting.

Skyudvikler og at komme i skyen?


Nu tænker i nok "Nå er der en skyudvikler her?"En der kan finde ud af alt det med cloud, private cloud, azure, amazon og alt muligt andet, men det er ikke helt tilfældet.

Jeg havde blot en oplevelse på mit arbejde i dag.. Jeg kommer helskindet igennem morgentrafikken og ser en af vores topfolk komme fræsende ind i sin store Audi for klokken var ni og han havde travlt. Fint nok så jeg parkerer og trækker førersædet frem for at få fat på min laptop og opdager at den ligger derhjemme. GREAT!
Så det blev en halv times kørsel hjem for at hente den, en halv times kørsel til arbejde og så 4 ture til arbejde den dag.
Jeg har tænkt over at det her med skyen er smart og en fremtid jeg glæder mig til vokser og bliver større, men måske ikke haft specielt meget brug for udover min DropBox account, men her ville det virkelig have været rart at have haft hele min maskine i skyen.
Så jeg kunne gå ned til vores IT-mand og sige hej kan jeg ikke låne en ekstra maskine og så hente alting fra skyen ned på min maskine og arbejde videre.
Det kunne virkelig være fedt!

Sådan ville jeg også kunne tilgå alting, arbejde alle steder fra og endda alle devices som jeg kunne få adgang til min private cloud.
Jeg har tænkt over et par gange om jeg skulle se på noget azure og amazon cloud, men der er så meget andet jeg synes der er mere interessant lige i øjeblikket at kunne end det.
For en ting er at kunne ligge noget i skyen, men jeg vil også gerne kunne lave det der skal ligges op i skyen. Så i øjeblikket forkuserer jeg en lille smule på det.

lørdag den 9. juni 2012

AJAX i MVC med JSON og jQuery

Hvis du søger hjælp til at komme igang så se længere nede.
Jeg har igennem noget tid gerne ville effektificere mine webapps.
Hidtil har jeg kun rodet lidt med webservices (SOAP) som virker rimeligt nemt at arbejde med og ligetil, men har jo så hørt at WCF services er klassen "nye" dreng. Ham den smarte der er bedre til det hele, men desværre ikke noget jeg har haft muligheden for at lege med endnu.
Det er hvad jeg har arbejdet med som middleware-lag der skal transportere data til min frontend, men er jo for nyligt begyndt at se nærmere på ASP.NET MVC 4 via Visual Studio 11 Beta.

Jeg har igennem lang tid gerne ville lære at lave AJAX kald via JSON for at effektificere de tunge SOAP-kald, men har så for kort tid siden fundet ud af at jeg fra mit view kan lave et AJAX kald til min controller og levere JSON til mit view og lade jQuery håndtere det.
Da jeg indtil videre har brugt ASP.NET MVC 4 fra Visual Studio 11 beta forsøgte jeg mig længe og hårdt at få den til at virke, men kunne ikke.
Da jeg så til sidst fik hjælp fra udvikleren.dk prøvede jeg det samme af i ASP.NET MVC 3 og her virkede det så endeligt.
Således vil jeg kunne få en responsive-web oplevelse på min side, og kunne lave alting meget smartere med jQuery og levere data meget mere effektivt og langt nemmere at vedligeholde da jeg ikke skal bruge en webservice og min web applikation og skulle opdatere begge dele når data ændrer sig og datastrukturer gør det samme.
Så det er meget federe på denne måde da tiden i datatransport er langt mindre, giver mig flere muligheder i usability og så er det nemmere at vedligeholde det hele.

Det er faktisk meget nemt og jeg vil lave et lille eksempel der gennemgår det.

For at gennemgå hvordan det foregår så vil jeg gennemgå det overordnet hvordan vi vil gøre.
På vores side (view) har vi en knap der skal sætte vores AJAX request igang, som skal aktivere noget en action i vores Controller og som vil udføre det ønskede arbejde - som fx. at hente flere data - for så at pakke dem ind som JSON og levere tilbage til vores side (view) og så præsentere dem.
Alt dette vil blive gjort i jQuery i stedet for at gøre det via ASP.NET-måden fordi jeg mener det er noget der har flere og andre muligheder og som mange ofte vil bruge.

1. Lave en knap på vores side
2. Lave en div der kan vise vores data
3. Huske at indsætte jQuery reference.
4. Sørge for at jQuery vil lave et AJAX-kald når vi trykker på knappen
5. Lave den action der vil udføre vores arbejde i vores Controller
6. Ændre vores jQuery AJAX-kald til at bruge den action lavet i punkt 5.
7. Modtage data og gøre noget ved dem (i dette tilfælde vise dem i vores div).

1. Lave en knap på vores sides
<input type="button" id="ClickMe" value="Click this button"/>
2. Lave en div der kan vise vores data
<div id="HereIsResult">Result goes here</div>
3. Huske at indsætte jQuery reference.
<script src="../../Scripts/jquery-1.5.1.js" type="text/javascript"></script>Her kan det faktisk være en fordel i produktionsøjemed at bruge et distributionsnetværk istedet for at have din egen udgave liggende på din server. En fordel er at en webbrowser kun kan hente 6 ting af gangen fra samme domæne, og ved at denne ikke vil ligge på din egen side/server vil du sørge for at din side potentielt kan hentes hurtigere da denne resource ikke vil være fra dit eget domæne og browseren kan dermed bruge tid på at hente data fra forskellige steder.

4. Sørge for at jQuery vil lave et AJAX-kald når vi trykker på knappen
succesCallback er i denne forbindelse den metode der vil blive kaldt ved succes.
<script>

$("#ClickMe").click(function ()
    {
        $.getJSON("/Controller/Action", data, succesCallback);
    }
);

</script>

5. Lave den action der vil udføre vores arbejde i vores Controller (her kaldet TestController)
public JsonResult GetJsonResult()
        {
            List<object> jsonDict = new List<object>();
            var testing = new {Name = "HelloWorld"};
            jsonDict.Add(testing);
            testing = new {Name = "Second string"};
            jsonDict.Add(testing);
            var testing2 = new { Name = "Have you seen it works with more than one attribute?", Shakes = "22" };
            jsonDict.Add(testing2);
            testing = new { Name = "Whats up?" };
            jsonDict.Add(testing);
            return Json(jsonDict, JsonRequestBehavior.AllowGet);
        }

6. Ændre vores jQuery AJAX-kald til at bruge den action lavet i punkt 5.
Her skal Controller ændres til Test (fordi den hedder TestController) og
vores Action skal ændres til GetJsonResult som den action vi lige har lavet.

<script>

//lav metoden til når der trykkes på knappen ClickMe
$("#ClickMe").click(function ()
{
    $.getJSON("/Test/GetJsonResult", null, function (data)
    {
        alert("data recieved");
    });
});
</script>
7. Modtage data og gøre noget ved dem (i dette tilfælde vise dem i vores div).
<script>

//lav metoden til når der trykkes på knappen ClickMe
$("#ClickMe").click(function ()
{
      $.getJSON("/Test/GetJsonResult", null, function (data)
      {     
            alert("data recieved");
            for (var i = 0; i < data.length; i++)
            {
                  var myObj = data[i];
                  alert("Name: " + myObj.Name);
                  //Lav en grafisk representation der hurtigt viser det er udført korrekt
                  $("#HereIsResult").css("background-color", "red");
                  $("#HereIsResult").text("name: " + myObj.Name);
            }
      });
});
< /script>

Og således vil du kunne se at du vil kunne lave et AJAX request imod en action i vores view der udfører noget logik og sørger for nogle data, for så at lave dem om til JSON og sende dem til vores view som modtager og håndterer dem.

Jeg ville idag forsøge at arbejde videre med dem på min anden maskine, men af en eller anden grund har den ikke ville installere MVC 3 i Visual Studio 2010 når man har Visual Studio 11 Beta installeret så nu prøver jeg at afinstallere dem begge komplet og begynde forfra og så prøve at få det til at virke så jeg ikke kun kan udvikle på min stationære, men også den bærbare.
Så der vil jeg prøve at lave nogle lidt nye sjove forsøg med at videreudvikle lidt eksperimenter.

tirsdag den 5. juni 2012

Frivilligt arbejde der inspirerer

Det er sjovt som at frivilligt arbejde kan motivere en så meget og være en sand inspiration.
Det kræver også at den modtagende part er lige så motiveret og selv yder samme indsats, men jeg kan mærke i et projekt jeg hjælper med at det er noget der tænder min gejst indeni.
Jeg kan ihvertfald mærke at jeg er en sand systemudvikler for jeg bliver virkelig inspireret af en spændende opgave og straks begynder jeg at se muligheder, tænke i processer og hvordan ting skal leveres for at levere en god oplevelse.
Desværre er det ikke alle der har samme gejst så nogle gange så skal man bare indse man ikke selv skal være den drivende kraft for et projekt fordi man er idemanden, men ham eller dem som skal levere indholdet til sider og brugsmønstre, søgeord etc. ikke gider levere det han/de bør.

Men kan sagtens mærke at jeg kan blive grebet af ideen og straks bliver jeg kreativ som jeg altid er, og er sjovt at indse ting om sig selv eller blive mindet om det. Det er jo det kunder og kolleger og arbejdsgivere ofte siger til mig - at jeg har et naturligt konsulentgen og er kreativ i form af jeg kan se ideer, muligheder, og har en god forretningsforståelse for situationen og konteksten dette system skal udvikles til.


Men jeg kan rent faktisk godt lide det for jeg kan se hvor meget det kan betyde for andre at give dem muligheder i nogle tider hvor det måske er svært for dem.
Lige nu står har jeg noget frivilligt arbejde for en der har mistet alt han ejer og bor i et lille bitte hul som er utæt og koldt, så kan mærke på ham hver gang jeg kan komme med nogle kreative ideer, input til hvad der er godt og hvordan det skal laves og hjælper ham at det er noget han virkelig værdsætter for det kan måske være nogle meget små ting for mig, men betyde så meget for ham for det kan være noget der kan hjælpe ham med at komme lidt bedre på fode igen.

Man skal ikke undervurdere følelsen af at hjælpe andre, for man får det egentligt ret så godt selv af det!

Udvikleren der kan løbe stærkt


Interessen for mig er steget enormt de sidste par dage - ca den sidste uge.
Der er kommet en henvendelse fra LinkedIn på et uopslået job som man gerne ville have mig til samtale på i sidste uge.
Dagen efter kom der to kontaktanmodninger på IT-Jobbank, dagen efter igen fik jeg en opringning og mail fra en englænder der rekrutterer folk til det danske marked. Om aftenen fik jeg en opringning fra en anden som jeg ikke nåede at få reageret på og så fik jeg samme opringning dagen efter.
To dage efter ringer en anden person som havde set mig på IT-jobindex og på LinkedIn som gerne ville snakke med mig også. Og dagen efter får man en opringning fra en kollega til en af dem der havde kontaktet mig tidligere.

Er du gal folk der er interesse for mig og ved slet ikke hvor denne interesse for min udvikler profil kommer fra, men kan jo konstatere at jeg åbenbart må have lavet et godt systemudvikler CV som fx:
For når man får ca 1 til to henvendelser per dag så det vist et tegn på jeg har en interessant udvikler profil og nogle spændende udvikler kompetencer.
Det er ikke sådan man får stress af det, men er nu meget fedt at få bekræftet man er eftertragtet derude.

Så min nye udvikler side (C#) kommer nok også til at hjælpe med at mit ansigt ud af til på nettet som systemudvikler og c# udvikler for at skabe en meget interessant profil der kan være interesse omkring.
Kan være der er et stort behov lige i øjeblikket og der skal bruges de sidste budgetter af halvåret, men uanset hvad så kan man ikke andet end smile når man får så stor interesse og kontakt og så mange jobtilbud i stribe for så føler man sig rigtigt værdsat, men da jeg som person også er af ydmyg natur så er det stadig heller ikke noget der stiger mig til hovedet eller vil lade mig blive arrogant for man skal aldrig være for stor i spyttet uanset hvor højt på strå, heldig eller dygtig du er. Gør plads til andre og vid dit værd (og bevis det) i stedet for at lade det kun komme sig til syne igennem dine ord og "pral", for det kan bide en enormt bag i og så er det bare slet heller ikke mig at være sådan overfor nogen - hverken kolleger eller arbejdsgivere eller andre.

mandag den 21. maj 2012

Udviklingsbloggen skifter navn til csharpudvikler(.dk)


Da jeg har planer om at relancere min egen side under et nyt navn www.csharpudvikler.dk og vil ligge mit hovedfokus på denne nye side har jeg valgt at skifte navnet på bloggen også.
Derved kommer den til at afspejle meget mere arbejde på www.csharpudvikler.dk da det er her jeg vil udvikle fremover af flere forskellige grunde.
Jeg vil her ligge meget større vægt på en anden mere professionel fremtoning og ramme nogle andre søgeord, eller andre segmenter af mennesker og målgrupper (også arbejdsgivere) på denne nye måde og samtidigt tror jeg også at min udvikling vil blive nemmere og sjovere på grund af ASP.NET MVC (3 og 4), men også på grund af de erfaringer jeg har fået i forbindelse med fremtidens udvikler (www.dotwest.net). Her har jeg haft gjort mig rigtigt mange tanker omkring min side som nu vil blive gennemført i www.csharpudvikler.dk og vil skabe en helt anden struktur og grundlag for at "targete" de rigtige mennesker og målgrupper.

ASP.NET MVC 4 (Razor)


ASP.NET MVC 3 er den version der frigav Razor Engine som gør at du har meget nemmere ved at skrive din kode i markup i dit View.
Nu er jeg så begyndt at rode med ASP.NET MVC 4 og endelig få hul på denne Razor Engine og kan godt se fordelen i den i forhold til ASP.NET MVC 2. Jeg har igennem lang tid gerne ville rode mere med Razor Engine og se hvordan den skulle blive bedre, og har nået at rode lidt med ASP.NET MVC 3, men kun lige kradset i overfladen.
Nu har jeg endeligt fået mulighed for at lege med ASP.NET MVC 4 fra Visual Studio 11 Beta, og det er virkeligt lækkert at udvikle i! Nu hjælper Visual Studio 11 Beta også med at lette udviklingen, men det er bare så lækkert at sætte sig ned og udvikle i ASP.NET MVC 4 for det er nemt, hurtigt, og effektivt.

Der er også generelt så mange fordele i ASP.NET MVC der kun kan tiltale en som udvikler og webudvikler da den giver de lækre SEO-venlige URL'er og det er nemt at holde styr på sine data, model og præsentation. Har igennem længere tid arbejdet med ASP.NET Webforms og er nu i gang med at blive bedre til ASP.NET MVC. Som en ægte udvikler med passion for systemudvikling og webudvikling så det fedt fordi man brænder for intelligente løsninger og levere en god oplevelse på nettet.

Er i gang med at bygge en større løsning i ASP.NET MVC 4 som skal muligvis blive en ny forretning for mig, da jeg er i gang med at undersøge nogle muligheder og meget mere med ideer og behovsafklaring og kravspecifikation til de fremtidige brugere og kunder.
Dette kan dog ikke releases endnu da det kræver .NET 4.5 som tilbyder enormt mange forbedringer og fordele for os der udvikler c# webapplikationer og er webudviklere i c#.
Læs mere om det under mit andet indlæg.

Derudover overvejer jeg at lave noget andet præsentation af mig selv og min side i ASP.NET MVC 4 som vil kunne bruges til at give mig erfaring og vise muligheder sammen med mine udvikler kompetencer.

tirsdag den 15. maj 2012

Problemer med opgradering fra .NET 3.5 til 4.0



Ja jeg er vist ikke den eneste der har oplevet problemer i forbindelse med opdatering til .NET 4.0.

Da jeg var på et kursus omkring ASP.NET 4.0 (70-515) fik jeg og vide at web.config har ændret sig i .NET 4.0 fordi at førhen var web.config enormt lang og meget besværligt at finde hoved eller hale i fordi alt stod i den - bare standart fyldte enormt mange linier.

Nu i .NET 4.0 er det ændret således at ikke alt tilføjes fra start af og gør at web.config er noget mere overskuelig til glæde for rigtigt mange frustrerede mennesker.
Men det gør så også at nogle ting er selvfølgelig lidt besværlige fordi at nogle ting ikke "bare virker" out-of-the box som de måske ellers burde.

I forbindelse med vi skulle lave noget start up på noget Sitecore (måske Sitecore Rocks) og installere det på en virtuel maskine.
Her oplevede vi nogle problemer med .NET 4.0 som vi så skrev ind i nogle dokumenter for at dele til andre der måske skulle rode videre med det på et andet tidspunkt.
Det var noget med at framwork versionen ikke var sat korrekt op per default.

Under installation havde vi dette:
Configuration of IIS 6.0
- On Windows 7: Control Panel - Compatibility to IIS 6: “Turn Windows features on and off.
Skal ende med at den er on.

Til afvikling:
Runtime error regarding different versions of .NET
APP Poole (in IIS) has to be set to the right version of .NET Framework, because the default setting is .NET 2.0 (this has to be done every time Sitecore is installed)
Det er fordi at web.config ændrer sig radikalt i .NET 4.0 og derfor er der flere ting som kan gå galt når man skifter til den, for der er web.config som er meget anderledes og flere andre småting som kan spille ind så det ikke virker.

Det kan være virkeligt frustrerende og nu i dag har jeg skrevet til en på udvikleren.dk omkring en webservice der pludselig ikke virkede efter opgradering fra .NET 3.5 til .NET 4.0, så tænkte nu ville jeg lige vidensdele og skrive det et sted jeg nemt kan finde og huske igen hvis andre skulle få brug for det eller hvis jeg skulle få brug for at vidensdele med andre :P

torsdag den 10. maj 2012

Systemudvikler udvikler sig igen


Jeg går med nogle tænker om at udvide min side og mig selv på en helt anden måde.
Det skal både være et læringsprojekt, for at lære lidt teknologier som jeg gerne vil styrke mig selv i og så elsker jeg jo også passende udfordringer så jeg kan blive dygtigere systemudviklere og kunne udvikle bredere til bedre platforme og måder.
Planen er at lave et sted hvor jeg kan samle mine erfaringer og kanalisere folk til det segment de søger. Som en portal for flere typer arbejdsprofiler jeg kan bestride og dermed brænde mig selv specifikt til de forskellige segmenter jeg kan bestride.
Dette kan være
web applikations systemudvikler
Og
Desktop applikations systemudvikler
Dermed skal der tilknyttes selvstændige artikler der fortæller om forskellige dele jeg arbejder med, lærer og for at vise denne side af mig selv.
Der er stadig nogle detaljer jeg skal have på plads, men det er også noget jeg skal arbejde mere med.
Men til at starte med vil jeg gerne begynde at lære mere omkring
Blogengine.net
Umbraco cms
Asp.net mvc 3 & 4 i c#/csharp
Så det vil nok blive tema for det kommende år at arbejde imod det mål langsomt.

fredag den 4. maj 2012

Interessen for udvikleren vokser


Nu har jeg jo for noget tid siden sagt jeg ville lave forskellige dedikerede CV imod forskellige målgrupper. Disse skulle således levere et indhold der passer bedre til forskellige profiler og sider af mig selv - for at mine CV kunne indeholde bedre indhold til en specifik profil og jobkategori.
Dog har jeg kun fået opdateret og vedligeholdt mit ene CV IT jobbank, da jeg har må sige jeg har haft nogle ret intensive dage med at ta hjemmefra 6.45 (og altså op omkring 6) og så komme hjem kl. 20-21, så derfor har jeg ikke fået tid eller overskud til andet.
Det sjove er så at på trods af jeg kun har rettet lidt enkelte steder i dette CV så har interessen for det åbenbart alligevel vokset og generelt interessen for mig også.
Jeg er blevet kontaktet 3 gange på LinkedIn omkring jobs indenfor den seneste halvanden måned og en del der har set mit CV på IT-jobbank og også bedt om kontaktanmodning.
Desværre har nogle været en smule useriøse, andre har ønsket noget jeg ikke har ønsket at arbejde med eller ønsket nogle kriterier der ikke passer ind i mit liv på nuværende tidspunkt, men der har da været andre hvor jeg faktisk har overvejet det.
Der er nogle tiltalende virksomheder derude med nogle andre måder at arbejde på, andre udfordringer og lidt anden tilgang til hvordan din hverdag og krav til dig skal se ud.
Jeg har intet imod der stilles krav til mig og jeg bliver udfordret for det nyder jeg og elsker når det udvikler mig, men det kan blive et problem hvis det bliver for meget i forhold til det sted jeg er på nuværende tidspunkt.
Jeg kan godt lide mit arbejde og sætter en ære i det jeg gør og levere en høj værdi af det jeg udvikler, men hvis jeg ikke føler der er respekt for mig og jeg værdsættes for min indsats så begynder tingene pludselig at se anderledes ud, og det med at levere den ekstra indsats fordi jeg elsker det jeg laver og kan lide at lave et godt resultat kan godt ændre sig langsomt lidt for lidt.
Det er fint nok at der kan være stress på og man har behov for jeg skal løbe stærkt og derfor bliver kravene højere og der bliver vrisset lidt fordi vi alle er lidt pressede, men hvis det bliver ved for længe og begynder at have for stor indflydelse på min hverdag og mit familieliv i en negativ retning så begynder jeg at være af en anden karakter. Der begynder jeg pludselig at være af den type der tæller mine timer meget præcist, og som ikke godtager at folk vrisser af mig over en længere periode og ikke selv har den samme gejst og iver for det jeg udfører fordi jeg ikke føler at den indsats sammen med den ekstra indsats bliver værdsat, og så begynder jeg at være ligeglad. For hvis det ikke bliver værdsat og en ordentligt tone og værdisæt er på plads så begynder jeg desværre selv at være på samme måde.
Men det sjove er at nu er det rigtigt mange der kontakter mig med nye tilbud og nok på grund af flere ting jeg har gjort, men det er godt for det vil muligvis kunne vise nogle omkring mig at jeg værdsættes af andre højere end jeg bliver nu.Så det er da absolut noget jeg vil overveje om jeg skal søge andre græsmarker alene fordi jeg ikke føler jeg bliver værdsat for min ekstra indsats og det jeg yder mere - og der kan min ellers meget høje loyalitet godt ´begynde at svinde ind.
Så nu må tiden vise hvad der begynder at ske med de forskellige ting i mit liv - både arbejde og privat. For jeg har lidt på fornemmelsen at noget skal der ændres for jeg kan ikke blive ved som det er lige nu.

tirsdag den 24. april 2012

Systemudvikler på Danish Developer Conference (DDC)


Hejsa Udviklere

Jeg har været så heldig at være på Danish Developer Conference (DDC) og hvilken fed oplevelse fra ende til andet! Det eneste minus var at jeg faktisk gerne ville have set hver eneste indlæg på nær 2-3 og at det ikke var en mulighed, men det jeg har set var virkelig fedt og det hele værd.

En ting er helt sikkert I KAN GLÆDE JER!
Danish Developer Conference er en microsoft konference så derfor var der selvfølgelig fokus på Windows 8, .NET, Visual Studio & Windows Phone 7.
Det var SÅ fedt for man bliver virkelig tiltrukket for der er så meget lækkert!

Website Optimization
Noget af det som jeg selv synes var super fedt var den del der hed ASP.NET Website Optimization af Mads Kristensen fra Microsoft. Super dygtig mand, og god til at formidle sit stof!
Her var der fokus på hvor det er vigtigt at ens side er hurtig!
Google prøvede at levere deres side 500ms langsommere, hvilket i de flestes ører ikke er specielt meget. Det er ikke engang et sekundt langsommere, men dette resulterede i de fik 20% færre pageclicks - så det viser virkelig noget om hvor vigtigt det er med en hurtig og responsive side.

Her blev der brug Micrsoft Web Optimizer - Dette er en pakke som gør at man kan bundle sine CSS og Javascript-filer. Altså kan sørge for at dine CSS-filer bliver samlet i en enkelt fil, og dine javascript filer bliver samlet i en. Dette er kun runtime så når du skal udvikle kan du have 50 for den logiske seperation, men når det skal afvikles så samler Microsoft Web Optimizer alle dine CSS filer i en enkelt fil og sender afsted, og alle dine javascript filer bliver også samlet i en og sendes afsted.

Hvis i ikke er bekendt med det så kan en browser kun hente 6 simultane filer, så det vil sige hvis dit site indeholder flere end disse 6 filer i alt skal den vente fordi den først kan begynde på de efterfølgende som du har på din side. Dette er spildtid fordi hvis man kan optimere sin side anderledes så kan din side blive loadet hurtigere end ellers.
Derfor er det rigtigt vigtigt ikke at lave for mange HTTP requests.

I din markup hvor du referer til din CSS eller Javascript, skal du skrive destinationsmappen + "/" og typen af fil (extension) - fx JS eller CSS og Microsoft Web Optimizer vil derfor sørge for at kombinere alle filer af denne type til en samlet fil, fjerne whitespaces, og gzippe den.
Derved fjerner du behovet for at der skal ventes på filer skal vente på hinanden.
Der kan laves dine egne regler og bundles som du ønsker det eller samle alle i en. Du kan også sige at du vil ekskludere nogle filer som ikke skal bundles.

Hvis i er mere interesseret i optimering af dine ASP.NET sider så skal i helt klart se nærmere på Mads Kristensen som var den yderst veltalende herre der holdt indlæget som fangede mig fuldstændigt! Han har en side der hedder optimizeasp.net og en blog også kaldet .net Slave.

Udover dette fede indlæg for os rigtige nørder der kan blive helt bidt af performance som er intetsigende, men vi ikke kan slippe fordi det bare er fedt. Har været i nogle projekter hvor vi var nogle udviklere der snakkede om vi måske gerne ville se endnu mere på optimeringen for at se hvor meget bedre vi kunne gøre det, men vi måtte bruge kræfterne på noget mere vigtigt da performancen var god nok og tvivler på brugerne ville kunne mærke eller se forskellen.

Visual Studio 11 Beta til en webudvikler
Men denne kloge mand holdt selvfølgelig også et indlæg om den nye Visual Studio 11 Beta. Og her fokuserede han igen på webudviklere og folk der bruger ASP.NET, hvad der er kommet af nye tiltag for os der arbejder med webudvikling. Der er rigtigt mange fede ting som bare gør hverdagen nemmere selvom det for nogle måske er små ting så det stadig noget mange af os måske savner og kan blive lidt irriteret over.

Nu får man nemlig FULD support og intellisense for HTML5 og CSS3. Selvfølgelig med en liste der bliver mindre jo mere du skriver.
Således at hvis du i din CSS skriver border-radius og derefter trykker tab, så indsætter den alle prefix og vendor-specifics udgave af border-radius. Så du skal ikke selv huske hvad mozilla's moz-prefix er og hvad IE's er etc. Nej nu hjælper Visual Studio dig til at skrive kode der virker til enhver browser meget nemmere, så livet som webudvikler er pludselig blevet meget nemmere. Endda når du så ændrer værdien for border-radius så ændres den for alle vendor-specifikke versioner af dem du lige har oprettet.


Derudover så grouper den også din klasser inde i din CSS som den gør i dine C# klasser. Altså det er nemmere at skabe et overblik for din kode, ved at der er et lille pus ved siden af dine metoder så du kan folde dem sammen som man kan i normal C#. Det skal helst være lige så nemt at være webudvikler som generel C#-udvikler.

Så får du selvfølgelig også rigtig grouping så du kan lave #REGION til flere klasser der drejer sig om et specifikt område.


Med hensyn til farver i din CSS så er der også kommet mange forbedringer.
Hvor mange af jer har ikke prøvet at sidde i Visual Studio og finde en inspirations side med en fed farve som i gerne selv vil bruge? Det har jeg gjort rimeligt tit!
Så det PrintScreen, ind i Paint, Paste den, Colorpicker, og kopiere R/G/B -værdierne ind i en side som kan lave det om til HEX for dig. Og 45 sekunder efter har du din farvekode.
Hvorfor gå igennem det spild? Nu så har du en colorpicker i Visual Studio så du kan bare trykke på farven og så du færdig!

Da der er blevet introduceret opacity med CSS3 (RGBA) så skal man pludselig til at skelne imellem HEX farvekoder og om det er RGBA. Dette hjælper Visual Studio dig også med nu.
Så hvis du trykker på en HEX farvekode kan du få en lille bjælke frem der viser dig et overblik over alle de farver du har brugt i din CSS tidligere så du nemt kan vælge dem igen.
MEN hvis det ikke er nok så kan du også få en colorpicker frem som man plejer med en palette så du kan vælge imellem en masse farver eller vælge en farve fra et sted på skærmen. Hvis du ikke er helt tilfreds kan du trække i en lille slider i bunden så ændrer din HEX kode sig pludselig til RGBA med opacity og når du trækker tilbage hvor den ikke skal være gennemsigtig mere så ændres den automatisk tilbage til HEX.

Gracefull defredation

Fordi man altid laver gracefull degredation så bliver man nødt til at lave noget til de fejl der findes i browsere (fx en bug i IE6). Førhen gav dette en fejl og warning i Visual Studio fordi det ikke overholdt standarten. Men Microsoft ved jo godt det har været nødvendigt at lave disse hacks for at udvikle til deres browser som havde en fejl.
Så i stedet for at give en fin lille rød streg under for at fortælle du overholder ikke standarten, men laver en hack til vores (eller andres) fejlfyldte browser, hjælper de dig nu med at lave det fordi det er nødvendigt.

Web Essentials
 Der vil komme rigtigt mange af de forbedringer og features der er i extensionen Web Essentials med i den nye Visual Studio 11 (også Beta), hvilket glæder mig utroligt meget.
Der kommer preview af farven når du hover på farvekoden, og hvis du vil se et billede så kommer der også et lille preview billeder der viser det så du kan se hvad det er.

Javascript
Da rigtigt meget af en responsive side og web 2.0 (det alle refererer til) oplevelse ligger i funktioner i Javascript. Derfor har javascript enginen også fået en stor overhaling! Et problem som man støder på med ikke typestærke sprog som javascript er at man kan ikke få intellisense for man ved ikke hvad det er før under afviklingstidspunktet.
En var kan være et tal, en streng, eller noget helt andet, og derfor kan du ikke sige minværdi (dot) og så kommer der en liste med properties og metoder svarende til typen af objektet for variablen tal kan godt sættes til en streng-værdi.
For eksempelvis kan du have en variabel kaldet i, som kan starte med at være 1 og blive talt op inde i et loop, og her er det en int, men senere kan man ændre i = i + " times" som ender med at være "43 times" og dermed blevet til en streng.
Hvis man ikke er javascript haj er det et stort problem fordi man skal kende metoderne og hvad man kan på de forskellige typer uden at få nogen hjælp til om det er stavet korrekt eller om metoden overhovedet findes.
Nu vil Microsoft gøre det nemmere for systemudviklere ved at give dig intellisense, men ikke blot intellisense ud fra hvad de tror, men ved faktisk at afvikle din kode og dermed give dig intellisense. På denne måde så vil du vide at på dette punkt i din kode er det en string, og dermed give dig alle string properties, og når den ændrer sig til noget andet så kan den give dig metoder og properties til denne type.

Typestærkt javascript
Noget andet som også har været lidt en udfordring er at javascript ikke er typestærkt og derfor "lidt sværere" hvis man er vant til denne verden. Nu vil Microsoft så hjælpe dig yderligere ved at lave typestærkt input, ved at du kan skrive en definition i starten af din funktion som siger hvilket type input der forventes (string, string) og dermed vil kunne give dig en kompileringsfejl i stedet for det først er på afviklingstidspunktet.
Jeg vil tro at grunden til disse definitioner står indeni metoden i stedet for udenfor (som man er vant til i C# i beskivelser (///) er fordi du kan have nestede metoder (.click(function(blah))).

Overloads
En anden fed ting som så også er kommet med i denne nye javascript engine er at noget der kendes fra C# som er overloads af metoder, som gør at du kan lave ne navngivet metode med to forskellige typer af input (fx FindPerson(int personID) og FindPerson(int personID, string navn) ), er nu kommet med i javascript også. Således at når du bruger en metode kan du igen se at der findes to udgaver af metoden, som man er vant til fra normal C# udvikling.

Jeg tror faktisk de har sat en del fokus på dette område fordi at med Windows 8 vil der komme metro applikationer som skulle kunne bygges meget mere med Javascript som eksempel og derfor tror jeg det er en strategisk satsning fra Microsoft om at få udviklerne til at kunne benytte deres IDE til at udvikle og hjælpe med at bygge denne nye måde at have et OS på.

NuGet packages
Vi er alle vant til at vi får ting med Visual Studio som fx jQuery i en start web applikation, men når Visual Studio er frigivet opdateres dette ikke. Så selvom der kommer en ny version af jQuery så ligges den ældre altid ind fordi Visual Studio ikke selv kan finde ud af der er kommet en ny version.
Nu er der kommet NuGet packages som gør at Visual Studio selv vil checke for om der er kommet nyere udgaver af dine ressourcer, som fx jQuery. Hvis der er kommet en MVC 4 eller frem i dit MVC 2 projekt så kan den også opdage det for dig og gøre tingene smartere.
Dette gør at den automatisk kan opdatere dine afhængigheder til nyeste version for at få bedre performance, muligheder og bugfixes selvfølgelig.

Der er SÅ meget SÅ fedt så jeg kunne blive ved med at snakke, men GLÆD jer! Jeg personligt er i hvertfald helt vild med det!
Det glæder mig udvikler hjerte så meget for det er lige sådan nogle ting man brænder for og gør tingene smartere, hurtigere og mere effektive og det er jo noget vi kan li.

mandag den 9. april 2012

Fornye udvikler CV'et til download

På min udvikler side har jeg jo forbedret en masse på det sidste.
Min side med udvikler kompetencer er udvidet og opdelt bedre i nogle lidt mere passende kategorier.
Uddannelses siden er opdateret med lidt mere grafiske detaljer der viser hvor man kan få mere information om hvor længe kurser har varet, og hvor der er mulighed for yderligere information.


Da jeg nu har ret meget af min side på plads er jeg begyndt at se lidt mere på forskellige dele af min udvikler side. Nu er turen kommet til mit udvikler CV (offline - PDF CV) da det er noget tid siden jeg har opdateret det og nu vil jeg også forsøge at få det stilmæssigt til at passe til min side og så samtidigt forbedre lidt på designet.
Forbløffende nok er det så "lille" en del - som alligevel tager pænt stykke tid, som er noget jeg faktisk er blevet rost for uhyre mange steder.
Det er vigtigt at man fanger opmærksomheden og bruger de muligheder man har for at sætte fokus på forskellige dele af sit CV og dermed sig selv.
Et godt trick til dette kan være at bruge de grafiske virkemidler i ens CV, da det er noget der er nemt for øjet at fange for en person der skal gennemlæse dit CV meget hurtigt.
En anden måde kan være at strukturere det godt og sætte det op således det er nemt at få overblik over indholdet og se det budskab jeg forsøger at formidle.

Jeg vil denne gang gøre meget mere ud af og henvise til min side, fordi et CV på adskillige sider vil ikke blive gennemlæst, men hvis jeg kan fange deres interesse nok til at de går ind på min side er der mulighed for at de vil læse adskillige forskellige dele af min udvikler side og dermed lære mere omkring mig og så øge mine chancer for at jeg kan blive valgt til et eventuelt job.