Skills
Ich entwickle Ihnen günstige und qualitativ hochwertige Software, in dem ich folgende Vorgehensweise anwende:
Ich entwickle strikt typisiert, um Fehler zu vermeiden, die bei schwacher Typisierung entstehen können, als auch die Anpassbarkeit der Software ermöglichen zu können. Dadurch sparen Sie sich teure Folgekosten die durch Fehlerbehebung und teure Anpassungskosten andernfalls entstehen würden.
Beim Schreiben des Quelltextes der Anwendung orientiere ich mich an den Regeln von Clean Code, aus dem Buch von Robert C. Martin. Ebenso orientiere ich mich an seinem Buch Clean Architecture. Dadurch wird der Quelltext der Anwendung wartbar, anpassbar und kann schnell und sicher verstanden werden. Auf diese Weise wird die Entwicklung für Sie sehr günstig.
Eine präzise Benennung der Projektdateien, als auch innerhalb des Quelltextes halte ich strikt ein. Ich bevorzuge sehr lange präzise Namen vor kurzen unpräzisen Namen. Auch dies dient dazu die Entwicklung günstig zu halten.
Essenziell für eine sichere und qualitativ hochwertige Anwendung ist auch eine saubere Ordnung auf Quelltextebene der Anwendung. Ordnung halte ich in der Anwendung durch das konsequente Einhalten der Architektur in Kombination mit einer technischen und fachlichen Ordnung. Welche Architektur ich verwende ist Projekt-abhängig. In den meisten Situationen entscheide ich mich für die Drei-Schichten-Architektur.
Ich verwende Ihre Fachbegriffe im Quelltext der Anwendung. Auf diese Weise ist der Bezug zwischen Ihren fachlichen Anforderungen und der Umsetzung im Quelltext stets eindeutig.
Wo es möglich ist, verwende ich „Design Patterns“, um in einer für Entwickler geläufigen Mustersprache zu entwickeln. Zusätzliche Muster beschreibe ich für kommende Entwickler in einem separaten Dokument.
Für die Kommunikation von Frontend und Backend kommt die OpenAPI Spezifikation (vormals Swagger Spezifikation) inkl. Code-Generatoren zum Einsatz. Auf diese Weise können Frontend und Backend sehr kosteneffektiv und sicher miteinander verbunden werden.
Ich gebe stets mein Bestes, um die Anwendung durch den Quelltext intuitiv verständlich zu machen. Überall wo dies nicht ausreicht, verwende ich Kommentare um entsprechende Stellen zu beschreiben oder mit zusätzlichen Informationen anzureichern.
Um zukünftigen Entwicklern den Einstieg zu erleichtern und möglichst viel Informationen und Wissen über die Anwendung kosteneffektiv zu transportieren, verwende ich Video-Dokumentation in Form von Screencasts. Während das Schreiben einer ausführlichen schriftlichen Dokumentation viele Tage in Anspruch nimmt, dauert die Dokumentation mittels Screencasts nur wenige Stunden. Das ist ein enormer wirtschaftlicher Vorteil für Sie.
Wichtige Informationen, wie z.B. die Installationsanleitung stelle ich auch als Schriftliche Dokumentation zur Verfügung.
Hier ein Auszug aus meinem technischen Repertoire:
Angular, Spring Framework, Java, Vue.js, TypeScript, SASS, LESS, PHP, SQL, SCSS, CSS, Material Design, Bootstrap, Clean Code, OpenAPI, RxJS, REST, REST API, Rest Services, Mockup Tools, Html, Html 5, C#, FFmpeg, Software Design, Cloud, SAML, Oauth, Jasmine, Scrum, Shopware, Symfony, Test Driven Development, OXID, JavaScript, QT, Apache Cordova, Domain Driven Design, Onion Architecture, Clean Architecture, Layered Architecture, Model View Controller (MVC), Vuetify, CSS, CSS3, PHPUnit, JUnit, Jasmine, Karma, Jenkins, Git, Github, JavaScript, OpenAPI, Swagger, Websocket, CQRS, MySQL, PostgreSQL, Parser, Lexer.