Aktuelles
Website ist noch in Entwicklung. Stand: 24.08.2015
Masterarbeit in Bearbeitung - Implementierung und Evaluation abgeschlossen
Inhalte
Qualifikationen
Anwendungsentwickler
Leidenschaftlicher Entwickler und Analytiker von Softwaresystemen
Anforderungsanalyse, Usability Engineering, HCI, Agile Entwicklungsprozesse
Software-Designer
Erzeugung sehenswerter Programmcodes
Clean-Code, TDD, DI, SRP, OOP, Abstraktion, DRY
Webentwickler
Projektion von Arbeitsprozessen auf moderne Interaktion mit Webtechniken
RESTful, SOA, SPA
Software-Architekt
Konzeption von Anwendungslandschaften
Von Anwendungsfällen über Module bis hin zur Implementierung geeigneter Hashfunktionen
Qualifikationen
Programmiersprachen
Java
Kenntnis:
fortgeschritten
Java begleitete das gesamte Studium über alle zehn Semester. Nach der Lehre im ersten Semester haben Aufgaben von Implementierung von Algorithmen über die Swing-Entwicklung bis hin zu kompletten Client-Server-Anwendungen im Webbereich die Programmierkenntnisse erweitert und gefestigt.
Javascript
Kenntnis:
angewandt
Durch unzählige kleine bis mittelgroße Webentwicklungen habe ich in den vergangenen Zeiten immer häufiger Javascript verwendet. Da Softwarelösungen und das Web 2.0 ihren Schwerpunkt auf reaktive und interaktive Interaktionen verschieben, habe ich bereits erste Erfahrung in Verwendung von Frameworks gesammelt.
PHP
Kenntnis:
angewandt
Die erste Programmiersprache erlernte ich in einem Betriebspraktikum in der EDV-Abteilung der der LHG (Lübecker Hafengesellschaft). Die dort gesammelten Erfahrungen und Kenntnisse erweiterte ich in zahlreichen kleinen Webanwendungen, bei der hauptsächlich einfache MySQL-Arbeiten verrichtet wurden.
Ruby
Kenntnis:
ausprobiert
In zwei kleinen Webprojekten habe ich erste Erfahrungen mit Ruby (on Rails) gesammelt. Die Programmierkenntnisse decken dabei den Umfang der ersten Getting Started-Tutorials ab. Neben der dynamischen HTML-Auslieferung habe ich bereits eine erste REST-like Schnittstelle mittels Grape erstellt.
C/C++
Kenntnis:
ausprobiert
Das Informatikstudium vermittelte nebenbei grundlegende Eindrücke der Programmiersprachen C/C++. Einen kleinen Einblick in die GUI-Entwicklung habe ich mit dem Qt-Framework erhalten, der allerdings sehr gering ist. Mittels der Ogre3D-Library ließ sich eine minimale Testapplikation erzeugen, in der Komponenten der 3D-Interaktion und -Rendering ausprobiert wurden. Grundlegende OO-Konzepte von C++ sind rudimentär bekannt.
Andere Sprachen
HTML
Kenntnis:
fortgeschritten
Seit über zehn Jahren erstelle ich bereits Webseiten. Angefangen bei reinen HTML basierten Inhalten, bei denen weder Server- noch Clientbasierte Programmierung zum Einsatz kam, entwickelte ich über die Zeit und während des Studiums weiterentwickelte Designs und Konzepte. Begonnen bei einfachen Tabellenlayouts über CSS-basierte Containerlayouts entstehen nun auch auf Javascript aufbauende Single-Page-Applications.
CSS
Kenntnis:
fortgeschritten
Die Weiterentwicklung meiner HTML-Webprojekte brachte mehr und mehr die CSS-Integration mit sich. So besitze ich grundlegende Kenntnisse im Bereich CSS2 zu den meisten Layout- und Styletechniken. Bei spezifischen Anforderungen lassen sich schnell Lösungen finden oder eigene Lösungsansätze im Zusammenspiel mit HTML entwickeln. Mit der Einführung von CSS3 habe ich erste Animationen ausprobiert und auch erweiterte Styledefinitionen verwendet.
Softwareentwicklung
Usability Engineering
Kenntnis:
angewandt
Ein wesentlicher Bereich meines Studium beschäftigt sich mit der Analyse, Konzeption und Evalation von Gebrauchstauglichkeit von Software (ISO 9241). Im Rahmen von Projektarbeiten und kleinen Usability-Studien beschäftigte ich mich mit der Bewertung von Mensch-Computer-Interaktion hinsichtlich der Kriterien Effektivität, Effizienz und Zufriedenstellung des Nutzers. Für die Konzeption einer optimierten Benutzungsschnittstelle habe ich elementare Regeln und Kriterien kennengelernt und angewandt (vergleiche Dialogkriterien ISO 9241.10).
User Centered Design
Kenntnis:
angewandt
Usability Engineering fokussiert sich grundlegend auf benutzerzentrierte Entwicklung. Deren Konzepte habe ich in mehreren praktischen Arbeiten ansatzweise umgesetzt.
(ISO-13407, Bildquelle: http://journal.code4lib.org/articles/561)
Extreme Programming
Kenntnis:
angewandt
Im Rahmen des Softwaretechnikpraktikums habe ich bereits im 3. Fachsemester ein komplettes Brettspiel in eine Java-Implementung umgesetzt. Das Praktikum vermittelte Kenntnisse über Projektplanung, Umsetzung eines Pflichtenhefts sowie das Unittesten von geschriebener Geschäftslogik.
Softwarearchitektur
Client-Server
Kenntnis:
fortgeschritten
Theoretische Grundlagen von Client-Server-Anwendungen sind mir vertraut. Die Entwicklung von Web basierten Austausch von Client und Server verfolge ich schon längere Zeit. Konzepte der Kryptographie sind mir bekannt, ebenso einige Konzepte der Authentifikation und Austausch von Daten (wie etwa Zustände über zustandslose Kommunikation via HTTP).
Die meisten HTTP-Statuscodes sind mir geläufig und wurden in Anwedungen von mir bereits implementiert oder verarbeitet.
Service Oriented Architecture
Kenntnis:
angewandt
In Ergänzung zu Client-Server-Anwendungen kenne ich die Intentionen hinter dem SOA-Paradigma. Erste Eindrücke habe ich bereits praktisch in Aufgaben im Studium gesammelt, die beide Ansätze (Contract-First vs Code-First) behandelt haben.
Insbesondere im Webbereich habe ich die Konzeption und Implementierung von REST-like APIs umgesetzt, die zum Teil noch jetzt in Verwendung sind.
Clean Code
Kenntnis:
angewandt
Mir gefällt das Paradigma nach Robert C. Martin und anderen, die Clean Code motivieren. In ersten Projekten setzte ich einige der Konzepte bezüglich Single-Responsibility, Test-Driven-Development und Dependency-Injection um. Schwierigkeiten und Möglichkeitenhabe ich dabei bereits erfahren.