De Software Engineer is samen met zijn Scrumteam verantwoordelijk voor het realiseren van het gezamenlijke doel: het toevoegen van functionaliteiten, betrouwbaarheid en beveiliging aan onze software producten en daarmee het bieden van toegevoegde waarde voor onze klanten
Plaats in de organisatie
De Software Engineer rapporteert aan de Manager Software Development
Resultaatgebieden
Informatie- en impactanalyse
Verzamelen van onderliggende informatie, analyseren van de vraagstelling en de realisatiemogelijkheden binnen de gekozen software architectuur, beschrijven van het te ontwikkelen/veranderen systeem
Analyseren van de impact op de bestaande systemen en definiëren van de technische randvoorwaarden voor verdere ontwikkeling/verandering
Requirements en ontwerp
Meedenken met functionele requirements
Specificeren van niet-functionele requirements, rekening houdend met randvoorwaarden vanuit onder andere architectuur en security en deze afstemmen met direct betrokkenen, waaronder Product Owner, Architecten en Scrumteam
Uitwerken en documenteren van technische ontwerpen
Inschatten van de omvang van de werkzaamheden op basis van de specificaties
Bouw en test
Vertalen van de functionele en niet-functionele requirements in programmacode
Resultaatgebieden
Controleren van code en scripts op naleving van ontwikkelstandaarden en -richtlijnen
Onderhouden van ontwikkel-, test- en acceptatieomgevingen
Met zorg beheren van broncode, configuratie-instellingen en documentatie conform de richtlijnen en kaders voor versiebeheer
Automatiseren en optimaliseren van het ontwikkelproces middels continuous delivery en continuous integration
Gebruiken, ontwikkelen en interpreteren van monitoring(tools) om de prestaties van de producten en de processen te meten
Beheer en Support
Controleren en interpreteren van logging data en meldingen, analyseren van oorzaken van meldingen
Op een snelle en effectieve manier oplossen van operationele verstoringen en problemen, waar nodig in overleg met stakeholders
Voorstellen van aanpassingen aan programmatuur ter oplossing en voorkoming van verstoringen of ter verbetering van de prestaties van de applicatie
Actualiseren van procedures en bijwerken van gebruikte tooling (CD/CI/Monitoring/Development tools) naar recente versies
Innovatie
Bijhouden van ontwikkelingen in het vakgebied
Onderzoeken van kansen en risico’s in het Developmentproces
Ontwikkeling vakgebied
Verzorgen van rapportages/stuurgegevens relevant voor het vakgebied
Opstellen en onderhouden van principes, processen, standaarden en richtlijnen en modellen voor het vakgebied
Functie-eisen
Minimaal hbo werk- en denk niveau, bij voorkeur op basis van een opleiding (bedrijfs-)informatica
Minimaal 3 tot 4 jaar werkervaring binnen een soortgelijke functie
Ervaring met de ontwikkeling van web en mobiele app toepassingen, webservices en windows applicaties
Ervaring met Secure Software Development
Ervaring met de Agile ontwikkelmethode
Ervaring met tooling om kwaliteit te waarborgen
Kennis van C# en het .Net-framework
Kennis van Design Patterns, SOLID-principes en technieken
Kennis van Cloudplatformen, zoals Microsoft Azure
Kennis van front-end ontwikkeltechnieken
Kennis van SQL-databases
Kennis van objectgeoriënteerde analyse en ontwerp en UML
Kennis van de principes van bedrijfsvoering en bedrijfsautomatisering