Software Development

Heute schreibe ich mal wieder einen Beitrag, welcher nur peripher (tätäää) mit dem Studium zu tun hat.

Der Grund für meine Studienaufnahme war damals, dass ich Anwendungsentwickler werde wollte, ohne eine erneute Ausbildung aufzunehmen. Daran hat sich bis heute nichts geändert, wie ihr eventuell aus früheren Beiträgen gemerkt habt. Da das Studium allerdings sehr abwechslungsreich ist, kam das tatsächliche programmieren für meinen Geschmack bisher etwas kurz. Konkret spielte das Coding bisher nur in dem OOP Modul und in zwei Einsendeaufgaben von betrieblichen Informationssystemen.

Natürlich lernt man in vielen Modulen sehr (,sehr) viel über Analyse und Entwurf. Das man natürlich erst nach ordentlicher Spezifikation anfangen sollte, seine Problemlösung in eine Anwendung zu gießen, steht außer Frage. Allerdings nervt die UML mit all ihren Diagrammen mittlerweile schon, ich möchte mehr „HandsOn“ mit Quelltext selber machen. Aus diesem Grund entschied ich mich dieses Semester für Software Engineering I. Resultat: Ich lerne wieder sehr viel über Analyse und Entwurf und die Implementation bleibt auf der Strecke.
Darauf dachte ich mir: Nimm halt im zweiten Wahlpflichtmodul was zum Thema programmieren. Da ich die Gnade der „frühen Immatrikulation“ habe, darf ich ja zwei informatische Themen nehmen (ihr erinnert euch). Cool, plane ich also für das SoSe 2016 das Modul 31371 Programmierkonzepte zu belegen. Schon stellt sich heraus, dass das Modul letztmalig im nächsten Semester geprüft wird und nicht mehr belegbar ist. Das nachfolgende Modul vom Lehrstuhl Steimann sind domänenspezifische Sprachen (Modul 31391 DSL-Engineering) hört sich interessant an, allerdings sagte mir die Studienberatung hierzu folgendes:

01888 Domänenspezifische Sprachen läuft im WS erstmals, wird auch im SS angeboten, kann eine gute Grundlage für eine Absachlussarbeit am Lehrgebiet sein. Was ich bisher davon gehört habe: der Kurs soll anspruchsvoller als Moderne Programmiertechniken und -methoden sein.

Alternativ schlägt Übersetzerbau in die Coding-Kerbe, allerdings wird dieses Modul nur in den Wintersemestern angeboten. Hier kommt es also ganz drauf an, wie mein kurzfristiger Studienfortschritt aussieht.

Nun komme ich aber zum eigentlichen Thema meines Postings. Es geht grundsätzlich darum, dass ich mir Feedback aus meiner studierenden, kleinen Mitleserschaft holen möchte.
Konkreter:
Wie geht ihr mit dem Thema Programmierung um? Letztendlich hat jeder Studi irgendwann mal mit Code zu tun und sollte(?) hier auf lange Sicht gesehen Kenntnisse aneignen. Oder ist das bei den Wirtschaftsinformatikern anders? Werden hier eher die Consultants und Strategen ausgebildet und die üblichen Developer sind die Vanilla Informatikstudenten?
Tatsächlich suche ich Tipps, wie man neben einer Vollzeittätigkeit, Fernstudium und beschränkter Freizeit aufgrund Familienzuwachs noch ein guter Coder wird.

Podcasts habe ich schon ausprobiert, allerdings bringen diese nur nette Geschichten bzw. sind so spezifisch, dass man die Quelltext auf dem Bildschirm haben muss. Da ich allerdings fast ausschliesslich im Auto Podcasts höre, fällt diese Möglichkeit leider flach. Nichtsdestotrotz möchte ich an dieser Stelle die Podcasts CodeNewbie und speziell auch den heise Developer Podcast empfehlen. Bei letzterem sollten viele Buzzwords fallen, welche man aus dem Studium kennt.

Natürlich weiß ich, dass nur Übung den Meister macht. Deswegen habe ich mir erstmal bei Amazon das Java 8 Übungsbuch zugelegt und werde berichten. Zusätzlich belege ich beim Hasso Plattner Institut diverse Kurse, welche den Umgang mit Java in Videohäppchen näher bringen. Positiver Nebeneffekt: Man bekommt kostenfrei eine Teilnahmebestätigung :). Sowas ähnliches gibt es bei Video2Brain auch, allerdings finde ich diese Plattform etwas zu lieblos (obwohl kostenlos für Fernuni-Studenten). Grundsätzlich bin ich auch für Tipps darüber hinaus sehr empfänglich.

Kommentare sind natürlich auch von nicht Studenten erwünscht 🙂

Advertisements

5 Gedanken zu “Software Development

  1. Hi Lars,

    dein Dilemma kommt mir bekannt vor. Ich kann mich noch erinnern, dass ich damals direkt nach der OOP-Klausur Software Engineering belegen wollte, um am Ball zu bleiben. Das ging aber nicht, weil die Voraussetzungen für das Modul noch nicht erfüllt waren. Damals hat mich das geärgert, aber heute kann ich getrost behaupten: Egal. Denn mit Programmieren per se hat SE nicht viel zu tun und die paar oberflächlichen Häppchen, die man aus OOP anwenden kann, bringen nicht viel Benefit.

    Ich hatte an das Modul wahrscheinlich falsche Erwartungen, daran bin ich wohl auch selbst Schuld. Jedenfalls kommt die eigentliche Realisierung insgesamt sehr kurz in unserem Studium – aber ich denke, auch bei den Informatikern kommt da nicht sehr viel mehr. Informatik an der Uni ist eben ein sehr theoretisches Fach, Coden ist da nur Mittel zum Zweck, aber es geht im Wesentlichen um den Background hinter dem Code. Wenn ich mir den (ziemlich) abstrakten Inhalt von SE anschaue, komme ich zu dem Schluss (und der mag auch falsch sein, ich bin nicht aus der EDV-Szene): Die „Brains“ machen das Modell, der Code ist dann nur beiläufiges Handwerk.

    Würde ich Coden zum Beruf machen wollen, würde ich mich wohl in die Oracle Zertifikate stürzen.

    MfG
    Markus

    Gefällt mir

  2. ich finde, dass es hier an der Uni in den Kursen recht wenig Programmieraufgaben existieren und wenn, dann sind die mit Beispielen aus den Kursen fast abgedeckt. Da FernUni eine Uni und keine Fachhochschule ist, kommt hier etwas mehr Theorie statt Praxis. Generell finde ich den Kurs SE1 sehr gut und wichtig, da es in der Praxis zum Teil total anders läuft, was nicht unbedingt gut heisst.

    Bei uns in der Firma wird zum teil total ohne Spezifikation entwickelt, es kommt eine Anforderung rein, diese wird kurz beschrieben, und dann entwickelt man so wie mans versteht. Nicht selten kommt dann etwas wie hier raus: http://juixe.com/techknow/wp-content/uploads/2010/05/software_engineering_explained.gif
    🙂 mittlerweile, werden Spezifikationen angefordert und es bessert sich langsam. Somit finde ich Theorie ganz schön wichtig.

    Neben OOP ist auch Funktionale Programmierung heutzutage in, somit wäre vll der Kurs
    Logisches und funktionales Programmieren, weiss nicht ob ihr diesen auch habt.

    Wenn du etwas Übung machen möchtest, dann kann ich dir zum Beispiel Seiten empfehlen wie:
    https://projecteuler.net
    http://rubyquiz.com/
    https://uva.onlinejudge.org/

    oder wenn du etwas Web Programmierung machen willst, dann kann ich das Workshop Javaee7 empfehlen. Sehr gute Einführung, viel geiler als der Kurs von FUH.

    Ansonsten schreibst du etwas, was du selbst benötigst oder machst mit bei opensource Projekten.

    Ich würde z.B keine Zertifikate von Oracle machen, da ein Zertifikat zwar aussagt, dass du tller Oracle(Java oder DB) Experte bist, heisst aber nicht, dass du es auch in der Praxis wirklich kannst. In der Programmierung zählen die Erfahrungen und nicht die Zertifikate(IMHO).

    Gefällt mir

  3. Hey,
    ich mache den Kram mit der Softwareentwicklung jetzt schon einige Jahre. Glaub mit 14 Jahren habe ich so angefangen. Also daher jetzt knapp 10 Jahre im Geschäft. 7 davon als Entwickler in Unternehmen. Daher mal ein wenig mein Bild auf die Dinge und was ich so empfehle.

    Zum Lernen finde ich immer doch die beste Lösung einfach mal etwas entwickeln, was dir am Herzen liegt. Gibt es nicht irgendeine Software, Web, App oder sonst was Lösung, welche du mal gerne bauen würdest ? Lass dich dabei auch nicht von Java einschränken, sondern suche dir dann die Sprache & Technologie, welche dich am besten zu deinem Ziel bringt. Die Grundprinzipien sind ähnlich und die sind es wichtig zu verstehen.

    Und zur Uni muss ich sagen. Uni ist gut um Theorien der Informatik zu lernen, aber in keinem Fall um zum Lernen Software zu entwicklen. In der Realität läuft vieles deutlich anderes ab. Ein UML habe ich glaube noch nie wirklich genutzt. Für mich muss dort auch jede Firma ihr individuelles Konzept für ihren Prozess und Tooling aufbauen. Es gibt Firmen, welche wirklich so Dinge wie UML brauchen, aber bei anderen würde genau dieses nur blockieren. Für ist das alles ein wenig, wie Auto fahren lernen. Uni ist wie eine Fahrschule, aber zum Rennfahrer wird man halt nur durch regelmäßiges Training und ausprobieren.

    Von daher kann ich nur empfehlen probier es aus. Harkt es irgendwo dann lies es nach, auch gerne mal theoretischer, aber finde deinen Flow.

    Gefällt mir

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s