Dipl.-Inf. Désirée Graf
Ich arbeite seit über 10 Jahren als Full-Stack-Developer in verschiedenen Rollen, in unterschiedlichen Projektkonstellationen mit einer Vielzahl von Technologien. Dabei ist mir die Vereinbarkeit von Deadlines, Funktionsumfang und Codequalität sehr wichtig. Ein besonderes Augenmerk habe ich dabei immer auch auf die Sicherheit des entstehenden Gesamtsystems.
Expertise
Softwareentwicklung:
- Vorstellung, Planung und Umsetzung der Anforderungen in einem agilen Team
- Entwurf individueller technischer Konzepte
- Projektleitung, Controlling und Koordination des Teams
- Architektur
- Fullstack
- Requirements Engineering
- Qualitätssicherung
Security & Software-Audits:
- DevSec
- Architektur- und Code-Reviews
- Statische Code-Analyse
- Penetration Testing
Zusätzliche Qualifikationen
Zertifikate:
- iSAQB Certified Professional for Software Architecture (iSAQB-CPSA-F)
- Web Fundamentals
- Junior Penetration Tester
Seminare:
- Sicherheit für Webanwendungen
- iSAQB-Advanced-Level Modul - Domain Driven Design
- iSAQB-Advanced-Level Modul - IMPROVE: Verbesserung von Softwarearchitekturen
- TypeScript
Projekterfahrung
-
2019 – 2023: Lead Software Developer, E-Business, Schweizer Unternehmen
Details einblenden
Details ausblenden
Rolle: Lead Software Developer
Projekt:
Standort: Zürich
Branche: E-Business
Kunde: Schweizer UnternehmenZiel des Projekts war die Konzeption und Umsetzung neuer, großer Features in die bestehende Web-Anwendung. Dazu gehörte zum Beispiel die Konzeption und Umsetzung einer mehrstufig mandantenfähigen Userverwaltung inkl. des Rollen- und Rechtemanagement, die Anbindung eines Drittsystems in einem sicherheitskritischen Kontext sowie ein UI/UX-Redesign der kompletten Anwendung.
Tätigkeiten im Projekt:- Planung der neuen Feature mit allen Stake Holdern und erfassen der Anforderungen in User Stories
- Entwerfen der technischen Konzepte
- Einführen neuer Technologien und Methodiken
- Vorstellen, Planen und Umsetzen der Anforderungen in einem agilen Team
- Koordination des Teams
- Qualitätssicherung
- Software-Audit
- C# mit .NET Core, .NET Framework
- TypeScript und Angular
- JQuery und Kendo
- LESS/SASS und Bootstrap
- EntityFramework und MSSQL
- OpenAPI
- AzureDevOps und Octopus
- IIS
-
2018 – 2023: Projektleitung | Lead Software Developer, E-Government, Schweizer Behörde
Details einblenden
Details ausblenden
Rolle: Projektleitung | Lead Software Developer
Projekt:
Standort: Bern
Branche: E-Government
Kunde: Schweizer BehördeWartung und Weiterentwicklung der bestehenden Webanwendung. Durch ein Software-Audit wurde die Anwendung auf bestehenden Sicherheitsrisiken hin analysiert. Als Ergebnis wurden die Risiken priorisiert mit einem Vorschlag, wie die Risiken innerhalb des gegebenen Budgets bestmöglich reduziert werden konnten. Dazu gehörten u.a. einige Um- und Ausbauten anfälliger Technologien und Bibliotheken sowie das Upgrade von z.B. Spring auf die neuste Version. Der Vorschlag wurde dann anschließend in Time-and-Budget umgesetzt.
Tätigkeiten im Projekt:- Projektleitung, Controlling und Koordination des Teams
- Software Audit mit Sicherheitsanalyse
- Entwurf von technischen Konzepten
- Vorstellung, Planung und Umsetzung der Anforderungen
- Qualitätssicherung
- Java mit Spring und JSF
- JS mit npm
- Apache Torque und Oracle
- Selenium-Tests
- OWASP ZAP
- OWASP Dependency Check
- Ansible, Docker, Jenkins und Maven
- Apache Tomcat
-
2018 – 2019: Lead Software Developer, E-Business, Telekommunikation
Details einblenden
Details ausblenden
Rolle: Lead Software Developer
Projekt:
Standort: Konstanz
Branche: E-Business
Kunde: TelekommunikationDie Aufgabe war die Neukonzeption eines bestehenden Systems. Dabei lag das Hauptziel in der signifikanten Verbesserung von Verfügbarkeit, Skalierbarkeit und Performance. Diese Ziele wurden erfolgreich umgesetzt durch die durchdachte Anwendung des HATEOAS-Prinzips in Kombination mit der Implementierung eines sorgfältig ausgearbeiteten Caching-Konzepts.
Tätigkeiten im Projekt:- Entwurf des neuen Systems
- Planung und Entwicklung im agilen Team
- Koordination des Teams
- Qualitätssicherung
- C# mit .NET Core
- EntityFramework und PostgreSQL
- Elasticsearch
- TeamCity
- IIS
-
2015 – 2018: (Senior) Software Developer, E-Business, Telekommunikation
Details einblenden
Details ausblenden
Rolle: (Senior) Software Developer
Projekt:
Standort: Konstanz
Branche: E-Business
Kunde: TelekommunikationDie Aufgabe war die Weiterentwicklung eines bestehenden Systems, welches über die Jahre inhomogen gewachsen ist. Dabei lag der Fokus auf der Refactoring des Systems mit dem Ziel, die Wartbarkeit und Erweiterbarkeit des Systems zu verbessern. Ein weiteres Ziel war die Steigerung der Performance besonders zu Spitzenzeiten. Hier konnten wir durch den Einsatz von Redis als Cache eine deutliche Verbesserung erreichen.
Tätigkeiten im Projekt:- Konzeption, Planung und Umsetzung der Anforderungen in einem agilen Team
- Qualitätssicherung
- C# mit .NET Framework
- EntityFramework und PostgreSQL
- Redis
- Elasticsearch
- TeamCity
- OpenAPI
- IIS
-
2014 – 2017: (Senior) Software Developer, E-Government, Schweizer Behörde
Details einblenden
Details ausblenden
Rolle: (Senior) Software Developer
Projekt:
Standort: Bern
Branche: E-Government
Kunde: Schweizer BehördeZiel des Projekts war die Ablösung einer Plattform durch die Neuentwicklung einer neuen Webanwendung.
Tätigkeiten im Projekt:- Umsetzung der Webanwendung in einem agilen Team
- Datenmigration der alten Anwendung auf die neue Anwendung
- Qualitätssicherung
- Java mit Spring und JSF
- JS mit npm
- Apache Torque und Oracle
- Selenium-Tests
- Jenkins und Maven
- Apache Tomcat
-
2015 – 2016: Software Developer, E-Government, Deutsche Behörde
Details einblenden
Details ausblenden
Rolle: Software Developer
Projekt:
Standort: Konstanz
Branche: E-Government
Kunde: Deutsche BehördeZiel des Projekts war die Wartung und Weiterentwicklung einer bestehenden Anwendung.
Tätigkeiten im Projekt:- Umsetzung der Anforderungen
- Update des Systems, u.a. Spring, Java, Umstellung von JSP auf JSF
- Qualitätssicherung
- Java mit Spring und JSP/JSF
- JS mit npm
- Apache Torque und Oracle
- Selenium-Tests
- Jenkins und Maven
- Apache Tomcat
-
2014 – 2014: Software Developer, CMS, Deutsches Unternehmen
Details einblenden
Details ausblenden
Rolle: Software Developer
Projekt:
Standort: Konstanz
Branche: CMS
Kunde: Deutsches UnternehmenZiel des Projekts war die Erstellung des Kundenbereichs für ein CMS. Dabei musste der Bestell- und Bezahlprozess abgebildet und ein Zahlungsanbieter eingebunden werden.
Tätigkeiten im Projekt:- Umsetzung des Kundenbereichs im agilen Team
- Anbindung des Zahlungsanbieters
- Python mit Django
- celery
- virtualenv und wheels
- Redis
- MySQL
- LESS und Bootstrap
- jQuery
- Ansible und Jenkins
-
2013 – 2014: Software Developer, E-Business, Telekommunikation
Details einblenden
Details ausblenden
Rolle: Software Developer
Projekt:
Standort: Konstanz
Branche: E-Business
Kunde: TelekommunikationZiel des Projekts war die Erstellung eines Adminbereichs für eine Webanwendung.
Tätigkeiten im Projekt:- Umsetzung des Adminbereichs im agilen Team
- Qualitätssicherung
- Java mit Spring und JSF
- Groovy
- Selenium-Tests
- Jenkins und Maven
- Apache Tomcat
-
2012 – 2012: Software Developer, Insurance, Frauenhofer IAO
Details einblenden
Details ausblenden
Rolle: Software Developer
Projekt:
Standort: Stuttgart
Branche: Insurance
Kunde: Frauenhofer IAOWebanwendung zur Geschäftprozessoptimierung aus Laufzeitdaten
Tätigkeiten im Projekt:- Konzeption und Umsetzung
- Java
- BPMN 2.0
- WEKA
- Oryx
- jQuery
- Ant
- Apache Tomcat
-
2010 – 2011: Software Developer, Insurance, Frauenhofer IAO
Details einblenden
Details ausblenden
Rolle: Software Developer
Projekt:
Standort: Stuttgart
Branche: Insurance
Kunde: Frauenhofer IAOWebanwendung zum Geschäftprozess-Monitoring
Tätigkeiten im Projekt:- Umsetzung im agilen Team
- Qualitätssicherung
- Java
- BPMN 2.0
- Oryx
- jQuery
- Ant
- Apache Tomcat
Technologien
Technologien, Sprachen und Frameworks:
- OWASP
- C# und .Net Core / .NET Framework
- Java und Spring
- Python und Django / Panda / PyTorch / Celery
- TypeScript
- Angular
- JavaScript und JQuery
- CSS und LESS / SASS / Bootstrap
- OpenID, OAuth, JSON Web Token und SAML 2.0
- SQL und EntityFramework / Hibernate / Apache Torque
- BPMN 2.0 und BPEL
- HTML5
- XSD/XML
- HTTP/HTTPS, TCP/UDP, FTP/SFTP, SSH...
Methodiken:
- Agile Entwicklung (Scrum, Kanban)
- V-Modell XT
- Clean Code, SOLID, Design Patterns...
- Testautomatisierung (Testpyramide, Unit-Tests, Integrationstests und Systemtests)
- Test-driven Development (TDD)
- Penetration Testing
- DevSec, Shift-Left
- Architektur- und Code-Reviews
- Strukturierte Refactorings z.B. Mikado
- Requirements Engineering
Architektur:
- Business Process Management (BPM)
- Dokumentation (arc42, Architekturentscheidungen, Sequenzdiagramme, Kontextdiagramme, Systemarchitektur, UML, ERM...)
- API Design (REST, SOAP, Messaging).
- Verteilte Architekturen / Microservices
- Asynchrone / Parallele Datenverarbeitung
- Observability (Logging, Monitoring, Tracing)
- Skalierbarkeit
- Schichtenarchitekturen
- Domain-driven Design (DDD)
- Continuous Integration / Continuous Delivery (CI/CD)
Tools:
- Entwicklung: Git, Jira, Trello, Confluence, GitLab, Bitbucket...
- Entwicklungsumgebungen: Intellij, Visual Studio, Resharper, Visual Studie Code, Eclipse...
- Penetration Testing: OWASP ZAP, Postman, Metasploit, Hydra, NMAP...
- Software Audit: OWASP Dependency Check, NDepend, dotCover, Findbugs / Spotbugs, SonarQube...
- Infrastruktur/Ops: Azure DevOps, Docker / Docker-Compose, Teamcity, Jenkins, Maven, Ansible, venv, NodeJS, npm, UCD...
- Datenhaltung: Oracle, PostgreSQL, MSSQL, MySQL, MariaDB, Elasticsearch, Redis...
- Server: IIS, Apache Tomcat, JBoss, Shibboleth...
- Betriebssysteme: Linux, Windows, MacOS