Danske udviklere stinker?!?!

Tags:    snak

<< < 12 > >>
User
Bruger #391 @ 27.07.06 11:46
Jeg har været i branchen alt for længe nu, tror jeg nok. Men de erfaringer, jeg har gjort mig omkring branchen i Danmark især, omfatter:

1. Udviklere tester ikke deres kode.
2. "Hvis det virker på udviklerens maskine under perfekte forhold, så kører det nok også i produktion".
3. Input validering er et "fy" ord.
4. Dokumentation findes ikke ( ej heller kommentarer i koden ).
5. Performance er ligegyldigt, da brugeren bare kan anskaffe en større computer.
6. Fejlhåndtering findes ikke.
7. Religionskrig er bedre end at sætte sig ind i tingene ( "hvis jeg ikke kan få det til at virke, er det systemet, som er noget lort!" ).

Er det bare mig, eller er der gået noget helt galt i denne branche? Har bl.a. arbejdet sammen med nyuddannede B.Sc.E.E. fra DTU og er skræmt over deres kunnen - de kan INTET!

Nå, måske jeg istedet skulle kigge mig om efter et andet job. Måske noget, som ikke kræver videreuddannelse : Måske it-projektleder inden for Staten eller måske politiker..



Jeg har ikke været i særlig mange virksomheder, så jeg kan ikke udtale mig særlig generelt. Men måske skyldes den manglende test, dårlig optimering og manglende dokumentation at der ikke bliver lagt nok fokus på det fra ledelsens side. Hvis et projekt skal udvikles under tidspres, er det nok nogle af de første ting der bliver nedprioriteret. Det kan virke som en dyr investering at lade dyre programmører bruge tid på test og dokumentation. Men hvis der opstår problemer senere kan det selvfølgelig vise sig at have været en god investering alligevel.

Anders Tornvig: Hvorfor må man ikke brokke sig over noget bare fordi det er gratis?



Det skal jeg sige dig BOSH.. Hvad jeg mener, er, at man ikke kan tillade sig at klantre udvikleren for eventuelle mangler i koden, da man jo ikke har haft nogen omkostninger ved at bruge programmet. Alternativt kan man komme med et forslag til, hvordan udikleren kan gøre det bedre næste gang, men at blive sur over det, kan man ikke. Det burde være logik for burhøns. Hvis man ikke kan lide det, lad vær med at bruge det.



Sjovt det med at fordi det er gratis skal man ikke brokke sig.
Hvis man snakkede mere specifikt om Windows vs Linux, så er det netop et af de lammeste Linux lovers forsvar.

"Jamen, hvad koster det? Er der så noget at klage over?"

Alt imens den samme side (men mere velformulerede mennesker) udtaler sig om at fordi noget er gratis behøver det ikke være dårligt, og slet ikke dårligere end andet (M$).

Jeg har ikke billeder på væggene derhjemme af hverken Gates eller Stallmann, men med den evigt negative, forsimplede, messende kritik af M$ software (bare fordi det er fra M$), er det da sjovt hvis så meget OS kode er rodet slam der ikke må kritiseres fordi det er gratis!

Den holder ikke.


(Islandske taster redigeret)



Indlæg senest redigeret d. 28.07.2006 18:47 af Bruger #2193
Og inden en Linux punk varmer for meget op ... her er hvad GNU og FSF har at sige om M$:

http://www.gnu.org/philosophy/microsoft.html

En sjov artikel, særligt titlen "Is Microsoft the Great Satan?"



Jeg ved ikke, hvordan vi lige fik os sporet ind på Windows og Linux, men hvis jeg skal forsvare min udtalelse på dette område, er der ikke andet at sige end, at grunden til, at folk brokker sig over Windows, er vel netop, at de har givet penge for det. Folk kan jo prøve Linux gratis og hvis de ikke kan lide det, brokker de sig ikke, men installerer bare Windows igen. Min teori er, at folk egentligt ikke brokker sig over MS's software, men over deres monopol på markedet. Ligeså snart folk finder ud af, at der er et gratis alternativ, er det klart, at de, hvis de finder det godt, vil være i mod MS som tjener tykt på "ikke-bedre-vidende" kunder.
Lad mig så til sidst sige, at jeg personligt godt kan lide Linux som serversoftware, men ellers ikke synes, det er specielt brugervenligt i forhold til Windows.
Men lad os nu ikke starte diskutionen om Linux og Windows : )



User
Bruger #391 @ 31.07.06 10:19
Hmm.. Tror, at jeg vil svare på alle indlæggende ( siden mit sidste svar ) på én gang:

Jeg er ikke ude på at fremhæve mine egne fortrin eller på nogen måde gøre reklame. Indlægget er ment som en provokation til at få folk til at tænke over hvad, de egentlig skriver af kode. Jeg er hamrende ligeglad med hvordan, folk skriver deres kode eller generelt programmerer med undtagelse af 2 tilfælde: 1. Når det er en programmør, jeg skal arbejde sammen med.. 2. Når det risikerer at give hele brancen et dårligt ry. Hvor mange gange har jeg ikke hørt åndsvage kommentarer omkring andres software, når folk finder ud af, at jeg er softwareingeniør? Har intet med deres kode at gøre og vil heller ikke have det.

Sjovt, at der lige skulle ryge en Windows vs. Linux ind i det.. Det er lidt sjovt, for vi har det samme på mit arbejde, hvor 2 programmører har forsøgt sig med ældre RedHats og en CentOS. Da de ikke kunne få det til at fungere, var "Linux noget lort". Selv har jeg kørt alle former for Windows, Mac System 7 og RedHat 5-8 ( mener jeg ), Mandriva, CorelLinux og Suse 8 - 10.1. Min favorit er klart Suse 10.0, som i brugervenlighed ( efter min mening ) er på "højde" med Windows. Så min holdning til Window vs. Linux er, at man sagtens kan have en holdning til det, men oftest er det baseret på forkerte grundlag ( man har ikke prøvet alle versioner af Linux - Linux er vel bare en kerne, hvor folk lægger ekstra ting over på og derved får forskellige distributioner? ). Nok om det.

Jeg ved også godt, at man grundet tidspres ikke laver den optimale løsning - vi har selv fået tilgang af 50% flere folk for at kunne nå en deadline. Da marketting fandt ud af det, regnede de lidt på det: 150% folk => 150% features!.. Og så var vi lige vidt. Dog er der stadig krav om, at skidtet skal være stabilt - derfor input validering! Personligt har det gjort, at jeg faktisk er ret så ligeglad med projektet - så længe, jeg får min løn, er jeg glad. Så kan jeg altid bruge min fritid får noget andet.

Jeg er både åben og glad for folk, som kan tage eget initiativ. Jeg ønsker IKKE at tvinge min makker til at gøre tingene 100% efter mit hoved. Ingen grund til det, for han kan sagtens selv. Det, jeg vil lære ham, er meget simpelt: "gode" programmeringsvaner.

Fold kodeboks ind/udKode 


Fejler allokeringen af memory vil programmet komme med en exception. Vi har på mit arbejde brugt store mængder tid, fordi folk ikke har kontrolleret memory allokeringer og indexes.

Til brug for vores projekt ( min makker og jeg ) er vi begyndt på at skrive en "styleguide", som beskriver formatering etc. i koden ( herunder også validering af data ), så vi lettere kan læse hinandens kode og dermed assistere hinanden. Samtidig vil det ( hvis man overholder denne ), blive lettere at sikre et stabilt stykke software, idet alle funktioner vil ( hvis man overholder reglerne omkring validering ) fejle på en kontrolleret måde istedet for at bringe programmet / maskinen i knæ. Med tiden bliver det en vane at skrive valideringerne ind i koden.

Til kommentaren omkring kampsportserfaringen: Jeg er imod vold, trusler og des lige. Jeg ved hvad, jeg er istand til, og vil hellere snakke mig ud af problemerne eller stikke af. MEN : når man truer mig ( i dette tilfælde grundet utilfredsheden med en aftalt pris ), bliver det en helt anden sag. Jeg bragte eksemplet for at vise hvor langt, nogle vil gå i deres jagt på at få ting gratis.

Og en sidste ting ( omkring OpenSource ). Blot fordi noget software / kode er åbent, betyder det ikke nødvendigvis, at det er gratis at bruge. Dvs. vi har fx. haft meget bøvl med at tilpasse noget OpenSource kode til vores projekt. Eksempel: en svensk udvikler havde frigivet en implementation af et TreeView til C#. Dette TreeView kunne nogle ting, som var ret så "lækre" at få ind i projektet. Problemet var bare, at koden var noget arv-lort! Vi brugte forholdsvis lang tid på at gøre det stabilt. Vi kunne lige så godt have brugt tiden på at skrive det selv. Man skal passe meget på med at sige, at OpenSource eller Proprietary Code er den Hellige Gral. Fordelen ved OpenSource er jo, at man kan gå ind og rette op på fejlene, og at alle har muligheden for at bidrage. Det er efter min mening også svagheden, idet ( alt efter projektet ) dårlige programmører, newbees etc. har muligheden for at "forurene" koden med noget ustabilt skidt. Der har fx. været eksempler på, at ACPI ikke har fungeret imellem 2 versioner af Linux-kernen ( fungerede i en tidligere og ikke i den efterfølgende ). OS har ikke muligheden for at stille et storts testmiljø op, som fx. større virksomheder har.



User
Bruger #391 @ 31.07.06 10:33
Glemte lige en ting: Jeg mener ikke, at alle andre end jeg er "uduelige". Jeg laver sgu også fejl, skønt jeg dog fanger størstedelen af dem under mine mange tests, jeg foretager mig.. Jeg har vænnet mig til at lave en masse test af alle funktioner, jeg skriver, så derigennem fanger jeg evt. fejl, før jeg sender det ud. Fordelen ved at skrive automatiske ( endog script baserede tests ) er, at de kan køre, når man holder fri. Dagen efter kan man få en autogenereret testrapport.

Så endnu engang: Nej, jeg siger ikke, at jeg er bedre, men jeg bruger bare mere tid på så mange andre på at teste mine ting, før jeg sender dem videre. Flotte features / grafik / brugerflade er mere "sexet" end at lave tests / systemting, så mange vil hellere gøre de ting. Derfor er der mange programmører, som ikke kommer videre. Kald det bare "et gammel røvhuls brokkeri over ungdommen", men det sørgelig er desværre, at der er en del sandhed i det.

Hvor mange herinde vil måske hellere lave brugerflade end at teste deres software / opstille et automatisk testsystem?

Der bør faktisk i en udviklingsgruppe være mindst 1, som sidder og tester ( vedkommendes opgave er at få de andres software til at fejle! Ikke at verificere, at det virker efter hensigten, men at det ikke gør ).



Problemet med dit indlæg er formen.
Jeg er ikke i tvivl om at der er udviklere der skriver dårlig kode, der ikke dokumenterer, tester, whatever godt nok.
Men fordi du starter dit indlæg med at fortælle at alle udviklere er nogle idioter kommer der aldrig en fornuftig debat.

Problemet med dokumentation, test, kode standard osv er at definere hvad der er godt nok. Hvis jeg laver et lille utility program til mig selv, gidder jeg ikke at lave dokumentation, performance er ikke vigtig, og hvis det viker er det testet nok. Skulle jeg derimod lave sw til pacemakere ville jeg nok være en anelse grundigere.
Det meste realistisk sw befinder sig et sted midt imellem. Og så skal man afveje pris (ofte lig med arbejdstimer) imod kvalitet. Og ligegyldig hvad har du ikke arbejdstimer nok og kvaliteten kan altid blive lidt bedre.
Det kan naturligvis være fustrerende, men thats life, jeg tror at tømmeren, skolelæreren osv har det på samme måde.



User
Bruger #391 @ 01.08.06 07:18
Tja, jeg vil nu mene, at formen har gjort sit: Provokeret en masse mennesker. Min erfaring siger mig, at folk husker bedre noget, de er blevet provokerede eller er blevet tilsvinet over.

Se, jeg taler ikke om noget kode, som aldrig skal ud. Dén kode er jeg ret så ligeglad med. Hvis folk vil lave "slamkode" i små utilities, de selv bruger og aldrig sender ud, skal de endelig være velkomne. Det er dog noget andet, hvis de vælger at sende det ud til offentligheden eller release ( og evt. tage penge for det ). Hvad ville der måske ske, hvis en eller anden sendte en driver på banen til noget fx. en printer, som ganske vist skrev ud, men som smadrede harddisken hver søndag under udskrivningen?

Sjovt nok, er Microsoft begyndt på at snakke om det OpenSource community har prædiket længe: Inputvalidering og Sikker kodning. Går man ind og kigger i den kode, som er frit tilgængelig, vil man opdage, at mange steder er der ingen kontrol af input, variable, pointere etc. Enhver ændring, som ikke lige ligger inden for "normalen", vil få skidtet til at gå ned. Noget af koden kan ikke engang bygge.

Det handler lige så meget om vaner som kunnen. Hvis man lærer fra starten at kontrollere alle input, oprettelser af variable etc., bliver det en god vane, som derved følger én.

Tag en lille rundtur på nettet og kig på enkeltmandsfirmaer:

En fyr har hentet MS Visual Studio 2005 Express og mener nu, at han er programmør og derfor opretter et firma ( kræver som sagt en adresse og en konto ). Han begynder i C# ( da han ikke har nogen som helst idé om programmering ) og skriver programmer til forskellige virksomheder - problemet er nu bare, at de er hamrende ustabile. Følgen af dette er, at virksomhederne nu afskriver alle enkeltmandsvirksomheder, fordi de har haft dårlige erfaringer med dem.

Kender situationen fra mine kunder, hvor jeg har måtte kæmpe imod en hel del fordomme pga. af dén slags folk. Historien er ikke opdigtet men derimod en sammenfatning af 7 firmaers erfaringer med enkeltmandsvirksomheder ( en havde endog en konsulent, som lagde billeder af mindreårige i "afslørende stillinger" ud på deres server ). Oven i det kommer de gange, hvor jeg har måtte "brandslukke", fordi "naboens knægt" har skrevet noget til dem...

Det er ikke et spørgsmål om, at alt skal være perfekt, men om at folk ikke skal kode med hovedet under armen og ikke tro, at de er programmører, fordi deres kode kan compilere.



<< < 12 > >>
t