Verwijderd schreef op dinsdag 14 december 2010 @ 01:35:
[...]
Ik ben een nieuwsgierig individu en ik heb misschien niet overal ervaring mee, maar dat houdt me niet tegen om me nieuwe dingen eigen te maken. Ik weet als geen ander dat er specialismes bestaan en dat het efficiënter kan zijn om iets door een ander te laten doen, maar dat wil niet zeggen dat ik het niet kan. Door een labeltje te plakken op jezelf beperk je alleen maar jezelf, doordat je zelf gaat geloven dat je niet buiten dat labeltje ook iets kunt doen.
Nu laat je conclusies volgen uit aannames die niet kloppen. Ik heb veel interesses, maar ik ga ook geen koe slachten om aan m'n biefstukje te komen, dat laat ik aan een slager over. Dat wil niet zeggen dat ik het niet zou kunnen...
Door een labeltje op te plakken, geef je aan waar je goed in bent of waar de focus van je interesses ligt (op een bepaald moment). Dat wil niet zeggen dat je zo'n labeltje voor altijd op hoeft te houden of dat je niet meerdere labeltjes op zou kunnen hebben of dat je dingen niet zou kunnen. In projecten van enige omvang is het echter wel handig dat je taken over labeltjes kunt verdelen, om efficiënt te kunnen werken. Daarnaast is het ook handig om te voldoen aan de verwachtingen die zo'n labeltje schept: noem je jezelf "software developer" met verstand van object orientatie, maar kun je nog geen == van een equals() onderscheiden, dan val je gauw door de mand.
Wij werken bijvoorbeeld met scrum teams. Het team is verantwoordelijk voor de oplevering van een werkpakket. Binnen het team zitten mensen met verschillende labeltjes (functioneel ontwerper, software architecten, software engineers, test engineers, technical writers). Als er binnen een werkpakket een bepaalde taak ligt, kijken we op basis van labeltjes bij wie we die taak het best kunnen neerleggen. Mocht die persoon al tot over z'n oren in het werk zitten, dan schakelen we een ander teamlid in, op basis van expertise en interesse. Die persoon zal het werk misschien minder efficiënt kunnen doen, of het minder interessant vinden, maar hij of zij kán het wel (tot op zekere hoogte: je moet onze technical writers geen Java-code laten schrijven, dat is iets te ver uit hun interessesfeer).
Er is in elk geval geen sprake van beperkingen, puur van interesse en expertise. We hebben geen belang bij "computergurus" die overal wel een beetje verstand van hebben, maar als je ze vraagt ergens echt productief op te worden, niet thuis geven.
[...]
Oh, natuurlijk de "domeinexperts". Als ik een ding geleerd heb uit machine learning onderzoek, dan is het wel dat "domain experts" bijna altijd het onderspit delven vergeleken met de algoritmen die toegang hebben tot dezelfde data. Mensen zijn zo inconsistent en vaag als maar zijn kan. In de wetenschappelijke literatuur proberen ze dit dan nog een beetje netjes op te schrijven (om de experts niet te kwetsen), maar verder zou ik er niet te veel waarde aan hechten.
De vraag is hoe het komt dat computerexperts mensen uit andere domeinen altijd zo vaag en inconsistent vinden. Omgekeerd (in mijn ervaring) vinden "zij" "ons" maar nodeloos pietje-preciezerig en onbegrijpelijk. Het probleem is dat we elkaars taal niet spreken. Dit heeft ook vaak tot gevolg dat software de taal van de gebruiker niet spreekt. Waarom zou iemand die op basis van wetgeving wil kunnen beslissen of een vreemdeling ons land binnen mag, moeten weten hoe je een server inricht of een webapp installeert? Waarom willen "wij" de regels die die persoon gebruikt om beslissingen te nemen opschrijven in een taal die die persoon niet machtig is (C of Java ofzo)?
Tja, ik vind dat als je besluit om een computer te gebruiken in je bedrijf dat het dan misschien ook wel handig is als je weet wat je ermee kunt en wat de voor-en nadelen van computers zijn. Overigens wordt van ons wel verwacht dat we ons wel aan elk domein aan kunnen passen (en dat kunnen we ook).
Competentie is gedefinieerd als het succesvol kunnen uitvoeren van je werk. Als je elke keer je computer niet meer kunt gebruiken, doordat er een virus op je machine zit en daardoor ook een gedeelte van het bedrijf plat legt, dan ben je dus per definitie niet competent.
De vraag van de TS (en ook mijn voorbeelden) gaan in feite over de mogelijkheid om de gebruiker de computer te laten "programmeren" in zijn eigen taal. Het gaat over de mogelijkheid om zaken vooraf zo in te richten, dat geen "computer"-kennis meer nodig hebt op het moment dat voor een niet-computergerelateerd doel een applicatie wilt laten draaien.
Dat die computer (na 50 jaar ontwikkeling) nog steeds niet alles doet wat de gebruiker wil - zonder dat hij zich druk hoeft te maken over virussen - is "onze" schuld, niet die van de gebruiker.
Als je niets met computers te maken hebt, dan hoef je dus nog niet eens te weten waar de aan-knop zit.
Twintig jaar geleden bestond een cursus computergebruik voor eindgebruikers uit een stukje hardwarekennis en een cursus BASIC (toch op z'n minst om een "LOAD" commando te kunnen geven). Om toentertijd een computer wat nuttigs te laten doen, moest je kunnen programmeren. Tegenwoordig bestaat zo'n cursus uit "hoe zet ik het ding aan" en een introductie Windows: zelf programmeren om een computer wat nuttigs te laten doen hoeft niet meer: de abstractie van de computerhardware is wat dat betreft inmiddels ver genoeg gevorderd, d.w.z. de taal die de computer spreekt, sluit (nog maar net) voldoende aan bij de taal die mens spreekt om eenvoudige zaken te kunnen doen.
Zo'n zelfde ontwikkeling is nu gaande m.b.t. grotere, kennis-gedreven systemen. De tijd dat je een legertje consultants naar binnen kon schuiven en dan 2-5 jaar onder de pannen was, is binnenkort voorbij. Je hoeft niet meer eindeloos te (laten) programmeren/inrichten door "vreemden" die jouw taal niet spreken. In de software die wij maken, kun je de "taal" (en dan bedoel ik niet Nederlands of Engels) die gebruiker wil spreken, configureren. Hierna kan de gebruiker in zijn eigen taal de applicatie samenstellen.
De kennismodelleurs binnen ons bedrijf (de mensen die de klant te spreken krijgt) kennen geen Java, weten niet hoe ze een server moeten inrichten. Ze praten met de klant over wet- en regelgeving, vergunningen, beslissingen; over brieven die uit het systeem moeten komen rollen, stukken die gearchiveerd moeten worden, etc. Niet over database-schemas, web-applicaties of Java code.
De abstractie komt weer een stapje hoger te liggen: dichter bij de gebruiker.
*knip*Ik heb geen algoritmen op mijn naam staan, simpelweg omdat ik van mening ben dat alles al is uitgevonden. Het is de rest van de mensheid op een klein groepje mensen na, dat hier nog achter moet komen.
Dit maakt een hoop duidelijk: jij bent van mening dat computers en software goed genoeg zijn, omdat
jij het snapt. Jij vindt waarschijnlijk ook dat een wit pijltje op een 2D scherm via een muis bewegen of op een plankje knoppen indrukken om letters op datzelfde scherm te krijgen een manier van werken is die perfect aansluit op hoe mensen in elkaar zitten en wensen te interacteren met apparaten.
Helaas voor jou zijn we pas twee stappen onderweg in een marathon. De huidige computers en software zijn zo weinig compatible met mensen, dat het bijna niet leuk meer is. Gelukkig voor "ons" als IT-specialisten (tenminste: degenen die dit wel inzien) betekent dat, dat het leukste nog moet komen. En niet dat "alles al is uitgevonden". Als ik dat zou dat zou denken, zou ik direct een ander werkveld zoeken...
[
Voor 17% gewijzigd door
MueR op 16-12-2010 10:34
]