Programmierer

Ich arbeite als Programmierer. Schon als Kind habe ich damit angefangen und von meinem ersten Computer bis heute hat sich da sehr viel geändert. Softwareentwicklung ist nicht nur ein wichtiger Wirtschaftszweig, für mich ist es ein großartiger Job mit spannenden Themen und Technologien, der in einem guten Team besonders viel Spaß macht.

Die ersten Schritte habe ich mit BASIC gemacht. Allerdings habe ich mir das mehr oder weniger versucht selbst bei zu bringen, was nur so mäßig erfolgreich war. Aber immerhin waren ganz rudimentäre Text-Adventures möglich.

In der Realschule habe ich dann an den WPKsHTML“ und „C/C++“ teilgenommen. Wobei ich bis heute nicht so genau weiß, ob wir nun in C oder in C++ programmiert haben. Zumindest habe ich in den WPKs auch JavaScript gelernt. Das habe ich dann auch privat in Projekten verwendet. Mit der Scriptsprache kann man in Webseiten ein bestimmtes Verhalten programmieren.

Wir haben das in der Schule genutzt, um ein Verzeichnis zu erstellen und dann zwischen verschieden Einträgen darin zu wechseln und ähnliches. Leider kann man mit JavaScript selbst kaum Daten speichern (zumindest damals noch nicht). Dafür nutzt man eigentlich einen Server, der die Inhalte dann dauerhaft auf eine Festplatte schreibt und von dem sie wieder abgerufen werden können. Daher habe ich die Daten immer direkt in den JavaScript-Code geschrieben.

Das hat sich erst in der gymnasialen Oberstufe geändert, wo ich eine „Homepage-AG“ besucht habe. In dieser haben mich dann einige Teilnehmer auf PHP hingewiesen, was ich mir dann mit Begeisterung angesehen und beigebracht habe. Ansonsten konnte ich aus der Homepage-AG nicht ganz so viel neues ziehen. Vieles wusste ich schon aus Foren, Anleitungen und ähnlichem. Entsprechend konnte ich die Homepage-AG selbst leiten, nachdem die Vorgänger die Schule verlassen hatte.

Nach meinem Abitur habe ich dann eine Ausbildung zum Fachinformatiker in Fachrichtung Anwendungsentwicklung begonnen. Da ich wusste, dass ich dort Java lernen würde und das eine objektorientierte Programmiersprache ist, habe ich mir in der Zeit bis dahin die Objektorientierung bei PHP angesehen und erlernt, was ein Objekt ist und wie man es nutzt.

So hatte ich in meiner Ausbildung die Grundlagen von Java schnell erlernt. Ich würde Java schon als eine recht komfortable Programmiersprache ansehen, da sie viele Fehler von Anfang an verhindert, indem Variablen und Methoden typisiert sind und so verhindert wird, dass man z. B. auf eine Methode zugreift, die es in dem Objekt gar nicht gibt. (Andere Programmierer sehen so etwas als Einschränkung, aber ich empfinde das als großen Vorteil.) Außerdem nimmt die JVM einem das Zuweisen von Arbeitsspeicher und Aufräumen von nicht mehr benötigten Speicher ab.

Aber wie das so ist, liegt der Teufel im Detail. Ich habe oft ungünstige Konstruktionen benutzt und habe dann durch Kollegen viel gelernt. Insbesondere viele sogenannte Pattern. Das sind Lösungen zu bestimmten Problemen, eine Art best practice. Die Erfahrung, wie man ein Problem am Besten (oder zumindest gut) löst, muss man halt mit der Zeit erst erlernen. Das ändert sich mit der Weiterentwicklung der Technologien natürlich auch.

Viel habe ich auch beim Vorbereiten auf den Test für das OCPJP-Zertifikat gelernt, dass ich über die Firma gemacht habe. Dabei habe ich erst verstanden, was hinter vielen Pattern und Sprachkonstrukten überhaupt steckt, was mir viel dabei hilft zu entscheiden, welche Lösung für ein Problem besser ist, aber auch zu identifizieren, welche Probleme es geben kann.

Dazulernen muss man als Programmierer immer wieder. Das können neue Technologien sein, die heraus kommen oder die man einsetzen möchte, aber auch neue Fallstricke, auf die einen Kollegen hinweisen oder in die man selbst rein läuft. Hier finde ich es wichtig, auch ein bisschen nach rechts und links zu gucken und sich viel auszutauschen.

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>