Professionaliteit in software-engineering - Software engineering professionalism

Professionaliteit op het gebied van software-engineering is een beweging om van software-engineering een beroep te maken , met aspecten als diploma- en certificeringsprogramma's, beroepsverenigingen , beroepsethiek en overheidslicenties. Het veld is een gelicentieerde discipline in Texas in de Verenigde Staten ( Texas Board of Professional Engineers , sinds 2013), Engineers Australia (cursusaccreditatie sinds 2001, geen licentie) en vele provincies in Canada.

Geschiedenis

In 1993 begonnen de IEEE en ACM met een gezamenlijke inspanning, JCESEP genaamd , die in 1998 uitgroeide tot SWECC om te onderzoeken hoe software-engineering een beroep kon worden. De ACM trok zich in mei 1999 terug uit SWECC en maakte bezwaar tegen haar steun voor de professionaliseringsinspanningen van Texas, die staatslicenties voor software-engineers . ACM stelde vast dat de stand van kennis en praktijk op het gebied van software-engineering te onvolwassen was om licenties te rechtvaardigen, en dat licenties valse garanties van bekwaamheid zouden geven, zelfs als het geheel van kennis volwassen zou zijn. De IEEE bleef ondersteunen om van software-engineering een tak van traditionele engineering te maken.

In Canada heeft de Canadian Information Processing Society het certificeringsproces van Information Systems Professional opgezet . Ook werd tegen het einde van de jaren negentig (1999 in British Columbia) de discipline software-engineering officieel opgericht als een professionele engineering-discipline. Dit heeft geleid tot geschillen tussen de provinciale ingenieursverenigingen en bedrijven die hun ontwikkelaars software-ingenieurs noemen, ook al hebben deze ontwikkelaars geen licentie van een ingenieursvereniging.

In 1999 werd het Panel of Software Engineering gevormd als onderdeel van de schikking tussen Engineering Canada en de Memorial University of Newfoundland over het gebruik van de term "software engineering" door de school in de naam van een computerwetenschappelijk programma. Er werd bezorgdheid geuit over ongepast gebruik van de naam "software engineering" om niet-technische programma's te beschrijven, dit zou kunnen leiden tot verwarring bij studenten en het publiek en uiteindelijk een bedreiging vormen voor de openbare veiligheid. Het panel deed aanbevelingen om een ​​Software Engineering Accreditation Board op te richten, maar de taskforce die was opgericht om de aanbevelingen uit te voeren, kon de verschillende belanghebbenden niet zover krijgen dat ze instemden met concrete voorstellen, wat resulteerde in afzonderlijke accreditatiecommissies.

Ethiek

Ethiek op het gebied van software-engineering is een groot veld. In sommige opzichten begon het als een onrealistische poging om bugs als onethisch te definiëren . Meer recentelijk is het gedefinieerd als de toepassing van zowel informatica als technische filosofie, principes en praktijken op het ontwerp en de ontwikkeling van softwaresystemen. Vanwege deze technische focus en het toegenomen gebruik van software in bedrijfskritische en menskritische systemen, waar falen kan leiden tot grote kapitaalverliezen maar, belangrijker nog, levens zoals het Therac-25- systeem, zijn er veel ethische codes ontwikkeld door een aantal verenigingen, verenigingen en organisaties. Deze entiteiten, zoals de ACM , IEEE , APEGBC en het Institute for Certification of Computing Professionals (ICCP), hebben formele ethische codes. Als voorwaarde voor lidmaatschap of certificering is naleving van de ethische code vereist. Volgens de ICCP kan overtreding van de code leiden tot intrekking van het certificaat. Ook eisen alle technische verenigingen dat ze zich houden aan hun ethische codes; schending van de code resulteert in de intrekking van de licentie om techniek te oefenen in het rechtsgebied van de samenleving.

Deze ethische codes hebben meestal veel gemeen. Ze brengen doorgaans de noodzaak om in overeenstemming te handelen in verband met het belang van de klant, het belang van de werkgever en vooral het algemeen belang in verband. Ze schetsen ook de noodzaak om professioneel te handelen en een ethische benadering van het beroep te bevorderen.

Een Ethische Code voor Software Engineering is goedgekeurd door de ACM en de IEEE-CS als de standaard voor het onderwijzen en oefenen van software-engineering.

Voorbeelden van gedragscodes

Hieronder volgen voorbeelden van gedragscodes voor professionele ingenieurs. Deze 2 zijn gekozen omdat beide jurisdicties een aanduiding voor Professional Software Engineers hebben.

  • Association of Professional Engineers and Geoscientists of British Columbia (APEGBC): Alle leden van de ethische code van de vereniging moeten ervoor zorgen dat de overheid en het publiek erop kunnen vertrouwen dat de professionele ingenieurs en geowetenschappers van BC te allen tijde eerlijk, beleefd en te goeder trouw handelen jegens hun werkgevers, werknemers en klanten, en om de waarheid, eerlijkheid en betrouwbaarheid hoog te houden, en om mensenlevens en het milieu te beschermen. Dit is slechts een van de vele manieren waarop de professionele ingenieurs en professionele geowetenschappers van BC hun concurrentievoordeel behouden op de huidige wereldwijde markt.
  • Association of Professional Engineers and Geoscientists of Alberta (APEGA): In tegenstelling tot British Columbia, verleende de regering van Alberta zelfbestuur aan ingenieurs, geowetenschappers en geofysici. Alle leden van de APEGA moeten de wettelijke en ethische verantwoordelijkheid voor het werk aanvaarden en de belangen van het publiek en de samenleving koesteren. De APEGA is een standaardrichtlijn voor de beroepspraktijk om de bescherming van het algemeen belang voor engineering, geowetenschappers en geofysica in Alberta te handhaven.

Meningen over ethiek

Bill Joy betoogde dat 'betere software' alleen zijn bevoorrechte eindgebruikers in staat kan stellen, de werkelijkheid krachtiger in plaats van menselijker kan maken, en uiteindelijk met zichzelf wegrennen zodat 'de toekomst ons niet nodig heeft'. Hij zette openlijk vraagtekens bij de doelstellingen van software-engineering in dit opzicht, en vroeg waarom het niet ethischer in plaats van efficiënter probeert te zijn. In zijn boek Code and Other Laws of Cyberspace stelt Lawrence Lessig dat computercode gedrag op vrijwel dezelfde manier kan reguleren als de wettelijke code. Lessig en Joy dringen er bij mensen op aan om na te denken over de gevolgen van de software die wordt ontwikkeld, niet alleen op een functionele manier, maar ook in hoe deze het publiek en de samenleving als geheel beïnvloedt.

Over het algemeen zijn vanwege de jeugd van software-engineering veel van de ethische codes en waarden ontleend aan andere gebieden, zoals mechanische en civiele techniek. Er zijn echter veel ethische vragen die zelfs deze, veel oudere, disciplines niet zijn tegengekomen. Vragen over de ethische impact van internettoepassingen, die een wereldwijd bereik hebben, zijn tot voor kort nooit gesteld en andere ethische vragen zijn er nog steeds. Dit betekent dat de ethische codes voor software-engineering een werk in uitvoering zijn, dat zal veranderen en bijgewerkt worden naarmate er meer vragen rijzen.

Onafhankelijke licentie- en certificeringsexamens

Sinds 2002 biedt de IEEE Computer Society het Certified Software Development Professional (CSDP) certificeringsexamen aan (in 2015 werd dit vervangen door verschillende vergelijkbare certificeringen). Een groep experts uit de industrie en de academische wereld heeft het examen ontwikkeld en onderhouden. Donald Bagert, en in een latere periode Stephen Tockey leidden de certificeringscommissie. De inhoud van het examen was gecentreerd rond de SWEBOK-gids ( Software Engineering Body of Knowledge ), met de extra nadruk op de kennisgebieden Professional Practices en Software Engineering Economics (KA's). De aanleiding was om op internationaal niveau een structuur te realiseren voor de kennisgebieden van software engineering.

Kritiek op licenties

Professionele licenties zijn om vele redenen bekritiseerd.

  • Het gebied van software-engineering is te onvolwassen
  • Licenties zouden valse garanties van bekwaamheid geven, zelfs als het geheel van kennis volwassen zou zijn
  • Software-ingenieurs zouden jaren wiskunde , natuurkunde en scheikunde moeten studeren om de examens te halen, wat voor de meeste softwarebeoefenaars niet relevant is. Veel (de meeste?) informatica-majors behalen geen diploma's op technische scholen, dus ze zijn waarschijnlijk niet gekwalificeerd om technische examens te halen.

Licenties per land

Verenigde Staten

Het Bureau of Labor Statistics (BLS) classificeert computersoftware-ingenieurs als een subcategorie van "computerspecialisten", samen met beroepen zoals computerwetenschapper, programmeur, databasebeheerder en netwerkbeheerder. De BLS classificeert alle andere technische disciplines, inclusief computerhardware-ingenieurs, als ingenieurs .

Veel staten verbieden personen zonder vergunning om zichzelf een ingenieur te noemen, of om filialen of specialiteiten aan te duiden die niet onder licentiehandelingen vallen. In veel staten is de titel Ingenieur gereserveerd voor personen met een professionele ingenieurslicentie, wat aangeeft dat ze een minimaal competentieniveau hebben getoond door middel van geaccrediteerde technische opleiding, gekwalificeerde technische ervaring en examens van de technische raad.

In april 2013 is de National Council of Examiners for Engineering and Surveying (NCEES) begonnen met het aanbieden van een Professional Engineer (PE) examen voor Software Engineering. Het examen is ontwikkeld in samenwerking met de IEEE Computer Society . NCEES beëindigde het examen in april 2019 wegens gebrek aan deelname.

De American National Society of Professional Engineers biedt een modelwet en lobbyt bij wetgevers om voorschriften voor beroepslicenties vast te stellen . De modelwet vereist:

  1. een vierjarige opleiding van een universitaire opleiding geaccrediteerd door de Engineering Accreditation Committee (EAC) van de Accreditation Board for Engineering and Technology (ABET),
  2. een examen van acht uur over de grondbeginselen van engineering (FE), meestal afgenomen in het laatste jaar van de universiteit,
  3. vier jaar aanvaardbare ervaring,
  4. een tweede examen over principes en praktijk, en
  5. schriftelijke aanbevelingen van andere professionele ingenieurs.

Sommige staten vereisen permanente educatie.

In Texas werd Donald Bagert uit Texas op 4 september 1998 of 9 oktober 1998 de eerste professionele software-engineer in de VS. In mei 2002 had Texas 44 professionele engineeringlicenties voor software-engineers afgegeven. Rochester Institute of Technology verleende in 2001 de eerste bachelors in Software Engineering. Andere universiteiten volgden.

Canada

In Canada wordt het gebruik van de functietitel Ingenieur in elke provincie gecontroleerd door zelfregulerende professionele ingenieursorganisaties die ook belast zijn met de handhaving van de geldende wetgeving. De bedoeling is dat van elke persoon die zichzelf als ingenieur voorstelt, is geverifieerd dat hij is opgeleid tot een bepaald geaccrediteerd niveau en dat hun professionele praktijk onderworpen is aan een ethische code en peer-onderzoek. Het is ook illegaal om de titel Ingenieur te gebruiken in Canada, tenzij een persoon een licentie heeft.

IT-professionals met diploma's op andere gebieden (zoals informatica of informatiesystemen) mogen de titel Software Engineer niet gebruiken of Software Engineer in een titel gebruiken, afhankelijk van hun provincie of territorium.

In sommige gevallen zijn er zaken voor de rechter gebracht met betrekking tot het onrechtmatig gebruik van de beschermde titel Ingenieur .

De meeste Canadezen die professionele licenties voor software-engineering behalen, studeren software-engineering, computertechniek of elektrotechniek. Vaak zijn deze mensen al gekwalificeerd om professionele ingenieurs in hun eigen vakgebied te worden, maar kiezen ze voor een licentie als software-ingenieur om zich te onderscheiden van computerwetenschappers.

In British Columbia wordt de beperkte licentie verleend door de Association of Professional Engineers and Geoscientists van British Columbia. De vergoedingen worden geïnd door APEGBC voor de beperkte licentie.

Ontario

In Ontario bepaalt de Professional Engineers Act een minimaal opleidingsniveau van een driejarig diploma in technologie van een College of Applied Arts and Technology of een diploma in een relevant wetenschappelijk gebied. Technische studenten en alle andere aanvragers mogen de titel van ingenieur echter niet gebruiken totdat ze de minimale hoeveelheid werkervaring van vier jaar hebben voltooid naast het voltooien van het Professional Practice Examination (PPE). Als de kandidaat niet in het bezit is van een niet-gegradueerd ingenieursdiploma, moet hij mogelijk het bevestigende oefenexamen of het specifieke examenprogramma afleggen, tenzij een commissie afziet van de examenvereisten.

Een persoon moet de licentie "professionele ingenieur" hebben gekregen om het recht te hebben om professionele software-engineering uit te oefenen als een professionele ingenieur in Ontario. Om een ​​licentie te krijgen van Professional Engineers Ontario (PEO), moet men:

  1. Minstens 18 jaar oud zijn.
  2. Wees een staatsburger of permanente inwoner van Canada.
  3. Wees van goed karakter. Aanvragers zullen worden gevraagd om vragen te beantwoorden en een schriftelijke verklaring op het formulier af te leggen als een ethische test.
  4. Voldoe aan de door PEO vastgestelde academische vereisten voor licentiestatus.
  5. Slaag voor het beroepspraktijkexamen.
  6. Voldoen aan de vereisten voor technische werkervaring.

Veel afgestudeerden van Software Engineering-programma's zijn niet in staat om de PEO-licentie te verkrijgen, omdat het werk waarvoor ze in aanmerking komen na hun afstuderen als instapniveau niet gerelateerd is aan engineering, dwz werken in een softwarebedrijf dat code schrijft of code test, zou hen niet kwalificeren zoals hun werkervaring doet niet voldoen aan de werkervaringsrichtlijnen die de PEO stelt. Ook Software Engineering-programma's in Ontario en andere provincies omvatten een reeks cursussen in elektrotechniek, elektronica en computertechniek die de afgestudeerden kwalificeren om zelfs op die gebieden te werken.

Quebec

Een persoon moet de licentie "ingenieur" hebben gekregen om het recht te hebben om professionele software-engineering in Quebec te beoefenen. Om een ​​licentie te krijgen van de Quebec Order of Engineers (in het Frans: Ordre des ingénieurs du Québec - OIQ), moet een kandidaat:

  1. Minstens 18 jaar oud zijn.
  2. Wees van goed karakter. De kandidaat zal worden gevraagd om vragen te beantwoorden en een schriftelijke verklaring af te leggen op het sollicitatieformulier om hun ethiek te testen.
  3. Voldoe aan de door OIQ vastgestelde academische vereisten voor licentiestatus. In dit geval moet het academische programma worden geaccrediteerd door de Canadian Engineering Accreditation Board - CEAB)
  4. Slaag voor het beroepspraktijkexamen.
  5. Voldoen aan de vereisten voor technische werkervaring.
  6. Slaag voor de praktische kennis van het Frans examen

Richtlijnen voor software-engineering (SEng) door Canadese provincies

De term "ingenieur" in Canada is beperkt tot degenen die zijn afgestudeerd aan een kwalificerend technisch programma. Sommige "software engineering"-programma's van universiteiten vallen onder de technische faculteit en komen daarom in aanmerking, bijvoorbeeld de Universiteit van Waterloo . Anderen, zoals de Universiteit van Toronto, hebben "software engineering" in de faculteit computerwetenschappen die niet in aanmerking komt. Dit onderscheid heeft te maken met de wijze waarop het beroep is gereglementeerd. Graden in "Engineering" moeten worden geaccrediteerd door een nationaal panel en moeten bepaalde specifieke vereisten hebben om de afgestudeerde in staat te stellen een carrière als professionele ingenieur na te streven. "Computer Science"-graden, zelfs die met specialiteiten in software-engineering, hoeven niet aan deze vereisten te voldoen, zodat de informatica-afdelingen over het algemeen een grotere verscheidenheid aan onderwerpen kunnen onderwijzen en studenten kunnen afstuderen zonder specifieke cursussen die nodig zijn om een ​​carrière als professionele ingenieur na te streven .

Europa

In heel Europa kunnen voldoende gekwalificeerde ingenieurs de professionele kwalificatie European Engineer behalen.

Frankrijk

In Frankrijk is de term ingénieur (ingenieur) geen beschermde titel en kan deze door iedereen worden gebruikt, zelfs door degenen die geen academische graad hebben.

De titel Ingénieur Diplomé (Graduate Engineer) is echter een officiële academische titel die wordt beschermd door de overheid en wordt geassocieerd met de Diplôme d'Ingénieur , een van de meest prestigieuze academische graden in Frankrijk.

IJsland

Het gebruik van de titel tölvunarfræðingur ( computerwetenschapper ) is in IJsland wettelijk beschermd. Software-engineering wordt onderwezen in Computer Science- afdelingen in IJslandse universiteiten. De IJslandse wet bepaalt dat voor het gebruik van de titel toestemming moet worden verkregen van de minister van Industrie wanneer de graad in het buitenland is verleend. De titel wordt toegekend aan degenen die een BSc-graad in Computer Science hebben behaald aan een erkende instelling voor hoger onderwijs.

Nieuw-Zeeland

In Nieuw-Zeeland erkent de Institution of Professional Engineers New Zealand (IPENZ), die de chartered engineers (CPEng) van het land licenties geeft en reguleert, software-engineering als een legitieme tak van professionele engineering en accepteert het de aanvraag van software-engineers om de chartered-status te verkrijgen, op voorwaarde dat ze een tertiaire graad van goedgekeurde vakken. Software Engineering is inbegrepen, terwijl Computer Science normaal niet is.

Zie ook

Referenties

Externe links