Dokumentation

Die technische Dokumentation ist wichtig, wenn man seinen Kenntnisstand auf andere Teammitglieder übertragen möchte und natürlich auch um sich selbst zu erinnern.

Viele Entwickler möchten keine Dokumentation schreiben oder verschieben Sie auf unbestimmte Zeit. So ist es wichtig früh im Projekt die Dokumentationpflicht einzuführen.

Ich präferiere eine Kombination aus LaTeX und einem Wiki. LaTeX bietet sich an, da die Dokumentation gut vom einem Buildserver erstellen werden kann. Konflikte im Versionsverwaltungssystem werden vermieden. Mit Pandoc sollte man die Möglichkeit besitzen, eine Transformation in andere Beschreibungssprachen durchführen zu können.

Als LaTex-Editor verwende ich TexStudio mit MikTex als Tex-Interpretor.

Kenntnisse, Weiterbildung, Technologien

An dieser Stelle stellen sich vielleicht die Fragen: „Woher kommen die Kenntnisse über die Technologien?“ und „Wie kommt er auf diese Ideen?“.

Da ich sehr technikaffin bin, probiere ich gerne (privat) neue und (für mich) interessant wirkende Technologien aus. Davon profitiert natürlich auch mein Arbeitsumfeld.

Neuen Technologien erfahre ich aus diversen Fachzeitungen, Berichte in den sozialen Medien, private Kontakte und durch Suchen in Suchmaschinen. Auch das Beobachten anderer (, erfolgreicher) Firmen bringt mich auf die ein oder andere Idee.

Infrastruktur

Um eine produktive Entwicklung zu betreiben müssen viele Teilaspekte automatisiert werden. Dazu stehen viele Tools bereit, die in der Mindmap aufgezeichnet sind. Aus meinen persönlichen Erfahrungen und Kenntnissen ist dieses Setup entstanden.

Das Einrichten der Komponenten dauert viel Zeit. Um agil zu sein, werden die Komponenten erst eingerichtet, wenn sie benötigt werden. Außerdem wird versucht schon fertige Lösungen zu verwenden, die schon zur Verfügung stehen. Hier bietet sich docker an.

Design

Das Design der Webseite soll schlicht sein um nicht vom eigentlichen Inhalt abzulenken. Damit dies Seiten auch auf mobilen Geräten angeschaut werden kann und von Google höher bewertet werden soll, bietet sich ein Responive Design an.

Die Trennung von Inhalt zur Darstellung ermöglich es das Design später zu ändern. Ein Design Template von WordPress spart Entwicklungszeit.

Heutzutage sollte man die Datensparsamkeit im Design berücksichtigen. So werden keine Cookies, Werbebanner oder Sonstiges implementiert. Zum Monitoren der Webseite könnte Google Analytics verwendet werden. Dies wäre durch ein PlugIn nachrüstbar.

Sicherheit

Für die Sicherheit benutze ich das Konzept „Security by design“ und als Designkonzept „Mobile first“. Würde man diese Konzepte nicht nutzen, kann die nachträgliche Änderung viel unnötige Zeit (und Geld) kosten.

Gegen das Mitlesen (und Manipulieren) während der Übermittlung wird die Transportverschlüssellung (SSL / https) eingesetzt. Es gibt einige Dienste, die kostenlose Zertifikate ausstellen. Mein Provider stellt mir schon ein Zertifikat zur Verfügung. Die zusätzliche Sicherung durch Zertifikatpinning ist nicht notwendig.

Gegen das Einschleusen von Schadcode und Wandalismuss muss der Zugang zum Backend des CMS geschütz werden. Das Passwort als Schutz ist gegen Brute-Force-Angriff nicht hinreichend sicher genug. Vor die Admin-Seite wird mit .htaccess und .htpasswd der Webserver angewiesen eine weitere User-Passwort-Kombination abzufragen. Zum Schluss wird eine Zweifaktor-Authentifizierung als PlugIn nachgerüstet.

Technologiewahl Präsentation

Für die Präsentation wähle ich eine Webseite, da diese leicht von überall aufgerufen werden kann, sofern ein Internetanschluss zur Verfügung steht. Das sollte in der heutigen Zeit der Fall sein.

Um agil zu sein wähle ich ein gehostetes Angebot, da ich zum einen bereits einen Vertrag mit 1und1 besitze und zum anderen, weil ich die Datenbank und den Webserver nicht extra einrichten muss, was zusätzlich Zeit kosten würde.

Ebenfalls aus Zeitgründen wähle ich ein CMS. Zwischen Joomla und WordPress habe ich die freie Wahl, da ich beide CMSe kenne. In andere CMSe müsste ich mich erst einarbeiten. Mit WordPress erwarte ich noch ein wenig schneller zu sein, so dass ich mich für dieses CMS entscheide.

Die Idee

Auf der Suche nach einer neuen Beschäftigung muss man im Vorstellungsgespräch i.d.R. darstellen, wie man Probleme löst und welche Technologie man beherrscht. Mit diesem Blog möchte ich dies für meine Person exemplarisch darstellen, in dem ich hier ein Beispielprojekt eben zu diesem Thema darstelle.