About
fv_2007
Agile innovative developer with deep insight into lots of platforms, technologies and protocols. Absolute “early adopter” in Web 2.0 technologies and more. Large professional network and eagerly talking about architecture, strategy, design patterns, restful ressources, object-oriented thinking and modeling languages such as PML. Special interest in programminglanguages constructs, knowledge on languages like Smalltalk, Erlang, Java, Clojure, Scala, Ruby... read more
Comments
Language

The professional developer September 30, 2007 01:32 over 4 years ago

Hvem vil ikke gerne kunne sige: jeg er en professionel udvikler. Det er let at sige men svært at overholde. Og hvad betyder det rent faktisk at udgive sig som professionel udvikler når panikken og hverdagen rammer. Det betyder at man griber efter ting man føler sig fortroligt med, typisk noget man har brugt før i et tidligere projekt. Det er ikke håndværk men blot en naturlig reaktion.

Er softwareudvikling et håndværk? Til et håndværk hører et bestemt sæt af redskaber og metoder som gennem en lang årrække har bevist deres værd indenfor netop dette område. På universitetet lære vi mange små ting omkring specielle arkitekturer, teknik eller paradigme men der er ikke en direkte håndværksmæssig sammenhæng som kan umyndige sig som en perfekt udvikler. Flere påstår at software udvikling ikke er nået dertil endnu selvom trenden gennem flere år har samlet mange tråde og det ser bedre ud for fremtiden. Hvilke regler og attituder skal man følge hvis man vil fremstå som en professionel udvikler?

Som start på JAOO 2007 gav “Uncle Bob” alias Robert C. Martin en storartet medlevende tale i Musikhusets store sal. Robert forsøger at gøre opmærksom på mange af de etiske regler man må overholde som professionel og adræt software håndværker. En floskel er fx hele diskussionen mellem hastighed og kvalitet kontra rod og plan som meget vel kan demonstreres i denne sætning: Jeg har ikke tid til god kvalitet.
Han giver sine egne sæt af principper og handlemåder som man kan overholde hvis man vil betragtes som en professionel udvikler.

  1. Short iterations (short feedback loop)
  2. Avoiding “solve everything” architectures (Turgid Viscous # Architectures)
  3. No Grand Redesign
  4. Incremental improvement
  5. TDD (minimal professionalism)
  6. Code Coverage (strive for 100%)
  7. Apprenticeship

Jeg nød især kommentaren omkring redesign og overdriven arkitektur: Programmers like to make a huge mess and then bitch about it so they can make the next huge mess.

Robert C. Martin founder and president of Object Mentor Inc.


By Frank Vilhelmsen - 1 tag: patterns - Add comment