Software ontwikkelaar
Een softwareontwikkelaar ( Engelse softwareontwikkelaar) is een persoon die bij het maken van software betrokken is. De term is niet scherp gedefinieerd.
De specifieke taken van een softwareontwikkelaar zijn afhankelijk van de rol die hij op zich neemt in het softwareontwikkelingsteam. De bekendste rol hierbij is die van de programmeur.
rollen
Een softwareontwikkelaar kan een of meer van de genoemde rollen vervullen. Het hangt af van hoe hetsoftwareontwikkelingsproces is georganiseerd.
- programmeur
- Een programmeur is een niet-gespecificeerde of niet-gespecificeerde softwareontwikkelaar. Ontwikkelaars die i. W. Het ontwikkelen of onderhouden van systeemsoftware wordt gewoonlijk systeemprogrammeurs genoemd.
- Frontend ontwikkelaar [1]
- ontwikkelt ( grafische) gebruikersinterfaces , in het bijzonder de lay-out van een applicatie (bijvoorbeeld HTML , CSS en JavaScript in webapplicaties).
- Backend-ontwikkelaar [1]
- implementeert de functionele logica van de applicatie. Ook worden diverse databronnen en externe diensten geïntegreerd en beschikbaar gesteld voor de applicatie. Backend-ontwikkelaars gebruiken meestal een hogere programmeertaal (bijvoorbeeld Java of C # ).
- Database-ontwikkelaar [1]
- is verantwoordelijk voor de planning en ontwikkeling van de databases en voor hun prestaties, integriteit en veiligheid. Een databaseontwikkelaar heeft kennis van relationele databases met SQL . Ook kennis van noSQL- databases wordt steeds vaker gevraagd.
- Full-stack webontwikkelaar [1]
- beheerst alle technologieën die nodig zijn om een webapplicatie te maken. Hiervoor combineert hij de webgerelateerde vaardigheden van de front-end, back-end en database ontwikkelaar.
- Desktopontwikkelaar [1]
- ontwikkelt applicaties die op een desktop-pc zouden moeten draaien. Het doelbesturingssysteem (bijv. Windows , macOS of Linux ) en de gebruikte GUI- bibliotheek (bijv. WinForms , WPF en UWP onder Windows, GTK+ , Qt en wx onder Linux en Cocoa onder macOS) verschilden.
- Mobiele ontwikkelaar [1]
- ontwikkelt applicaties voor mobiele apparaten zoals smartphones en tablets . Er wordt onderscheid gemaakt tussen ontwikkelaars die voor meerdere platformen ontwikkelen (bijvoorbeeld PhoneGap of Xamarin Platform ) en ontwikkelaars die voor een specifiek platform ontwikkelen (bijvoorbeeld Android , iOS of UWP ).
- Gegevenswetenschapper [1]
- behandelt zowel statistische als ontwikkelingstaken op grote datasets in de big data- omgeving. Dit omvat machine learning, statistische analyse en voorspellende modellen.
- wiskundig-technische softwareontwikkelaar
- ontwikkelt toepassingen voor het berekenen van wiskundige modellen in technische en wetenschappelijke omgevingen.
- Grafisch programmeur [1]
- houdt zich bezig met rendering , arcering , belichting en schaduwberekeningen, kleurruimtebeheer , ruimen en soortgelijke grafische algoritmen die worden gebruikt in game- en videoproductie en visualisatie.
- CRM, ERP en CMS ontwikkelaar [1]
- past een bestaand CRM- systeem (bijv. Salesforce , SAP , Microsoft Dynamics ), ERP- systeem (bijv. SAP, Microsoft Dynamics) of CMS (bijv. WordPress , MediaWiki of SharePoint ) aan de wensen van de klant aan.
- Ingesloten ontwikkelaar [1]
- ontwikkelt software die draait in een low-level omgeving. Dit omvat realtime systemen , apparaatstuurprogramma's en elektronische interfaces.
- Software architect
- Een software-architect ontwerpt de structuur van softwaresystemen en neemt algemene beslissingen over de interactie van hun verschillende componenten. Een softwarearchitect bekijkt het softwaresysteem vanuit een abstracter niveau dan een programmeur.
- Cross-functioneel
- Bij agile softwareontwikkeling hebben cross-skill teams de voorkeur. Ontwikkelaars moeten daarom zoveel mogelijk van de hier genoemde rollen (of de rollen die vereist zijn in het betreffende project) dekken, evenals testen en testautomatisering - zonder aandacht te besteden aan een van de categorieën.
- DevOps- ontwikkelaar [1]
- automatiseert ontwikkelings-, administratie- en leveringsprocessen voor softwareproducten. Dit maakt een snellere en kosteneffectievere ontwikkeling mogelijk.
- Software archeoloog
- houdt zich bezig met het onderhoud van een bestaand en slecht gedocumenteerd legacy-systeem .
Meer rollen
Deze rollen zijn geen ontwikkeltaken, maar maken integraal deel uit van een ontwikkelteam:
- Vereisten manager
- Een requirementsmanager , ook wel requirements engineer of requirements specialist genoemd, legt requirements voor de software vast en voert requirementsanalyses uit.
- Tester
- Een tester of testengineer is een persoon die softwaretests uitvoert, aanvullende handmatige tests uitvoert of een teststrategie voor het systeem ontwerpt.
- Scrum Master
- Zorgt in een Scrum- of Kanban- project voor het naleven van softwareontwikkelingsprocessen. In klassieke ontwikkelmodellen, zoals het watervalmodel of V-model , wordt deze rol vervuld door de manager van het ontwikkelteam.
Programmeur en softwareontwikkelaar
In de omgangstaal is er vaak geen onderscheid tussen de termen "programmeur" en "softwareontwikkelaar". Er wordt echter zelden gesproken over programmeurs als het gaat om software-architecten of testers.
Softwarestack
Softwareontwikkelaars onderscheiden zich verder door de softwarestack waarop ze zijn opgeleid. Aangezien veel stacks jarenlange training en ervaring vereisen, en verschillende stacks ook verschillende persoonlijkheidstypes kunnen behandelen, is het wisselen tussen verschillende stacks alleen in geïsoleerde gevallen mogelijk.
Functietitel
De functietitel softwareontwikkelaar is geen beschermde functietitel in Duitsland en Oostenrijk.
Volgens de Duitse wet mag de functietitel software engineer alleen worden gebruikt door degenen die met succes een technische opleiding hebben afgerond. [k 1] [2] In Oostenrijk kan de ingenieurstitel ook worden verkregen door een opleiding aan een technische hogeschool.
onderwijs en studie
Softwareontwikkelaars hebben vaak een opleiding informatica aan een universiteit of een beroepsacademie afgerond. Studeren in een technische of natuurwetenschappelijke cursus biedt ook toegang tot softwareontwikkeling. Verder is er de mogelijkheid van een stage in een ICT- leertijd b.v. B. zich te kwalificeren als IT-specialist voor applicatieontwikkeling op een beroepsschool ( zie bijvoorbeeld IHK ), op een technische school voor gegevensverwerking en organisatie (bijvoorbeeld Academie voor Gegevensverwerking Böblingen ) of een beroepsschool om softwareontwikkelaar of software te worden architect.
Sinds 2007 bestaat er in Duitsland een door de staat erkend opleidingsprogramma voor wiskundig-technische softwareontwikkelaars , voortgekomen uit de wiskundig-technische assistent . In Aken, Keulen en Jülich is het mogelijk om de opleiding te combineren met het bachelordiploma "wetenschappelijk programmeren".
Bovendien oefenen veel zij- instromers deze activiteit ook uit vanwege vaardigheden die autodidactisch zijn aangeleerd of verworven via verschillende trainingen (inclusief omscholing ).
Zie ook
- Applicatie programmeur
- Mort, Elvis, Einstein - vertegenwoordigen drie zeer verschillende soorten softwareontwikkelaars bij Microsoft
- Online community # Ontwikkelaarscommunity
literatuur
- Gerald M. Weinberg : Psychologie van de programmeur. mitp, Bonn 2004, ISBN 3-8266-1465-8 .
web links
Opmerkingen
- ↑ Zie de wet voor de bescherming van de beroepstitel “Ingenieur und Ingenieurin” (Ingenieurgesetz - IngG), die onder de wetgevende bevoegdheid van de deelstaten valt en in de actuele versie voor de betreffende deelstaat moet worden geraadpleegd. Om "ingenieur" te worden genoemd, hoeft men niet per se de opleiding als "ingenieur" af te ronden. Zo bepaalt de wet van de deelstaat Beieren dat het voldoende is dat de functietitel "ingenieur" minimaal drie jaar studie in een technische of natuurwetenschappelijke richting met succes heeft afgerond.
Individueel bewijs
- ↑ a b c d e f g h i j k Basiskennis: typen ontwikkelaars. (PDF) De 12 meest voorkomende typen ontwikkelaars en hun vaardigheden in één oogopslag. Stack Overflow Business, geraadpleegd op 10 april 2017 (Guide to IT Recruitment ).
- ↑ Wet op de bescherming van de beroepstitel “Ingenieur”. (PDF) Ingenieurswet - IngG. Ontvangen 10 april 2017 (Beierse ingenieurswet).