prof_kai schrieb:
Softwartechniker wissen wie Sprachen funktionieren und wie man damit etwas erschaffen kann. Das bedeutet doch, dass man heute eine Steuerungssoftware für Raumfahrzeuge schreiben und morgen die Branche wechselt und Algorithmen für die Börsen entwickeln kann?!
Naja, wie Sprachen funktionieren... das wissen teilweise die Software-Technik-Professoren nichtmals.
Software-Technik wurde mir eher als Management vermittelt. Methoden, wie man Software plant. Und dass der Großteil der entwickelten Software am Ende nicht funktioniert.
Und wenn Du dann in der Realität ankommst, musst Du verstehen, was ein Refactoring für Auswirkungen hat. Ich bin als Software-Architekt gestartet, aber Software-Archäologe geworden.
prof_kai schrieb:
Geht das Hin- und Herhüpfen als Softwaretechniker wirklich so leicht oder kommt es schon mal vor, dass man in einer Firma landet, wo man sich richtig lange einarbeiten muss und so tief drin steckt, dass ein Unternehmen-/Branchenwechsel sich nicht lohnt?
Kennst Du die Fedex-Werbung? Daran musste ich gerade denken.
Wenn Du ein Software-Projekt planen kannst, solltest Du im Idealfall auch verstehen, was Du da planen sollst, wofür das Programm genutzt wird, wer es benutzt und welche Aufgabe es eigentlich lösen soll. Software-Technik ist die Methodik, aber nicht die Lösung für irgendein Problem.
In jeder Firma wirst Du Dich einarbeiten müssen und Du wirst in gar keinem Fall einfach mal eben in ein anderes Unternehmen "hüpfen", sondern Du wirst Dich mehr und mehr in Deinem Bereich spezialisieren und dann auch bevorzugt von direkten Konkurrenten angesprochen werden oder von Herstellern von Software mit ähnlichen Problemen oder Interesse an passenden Kontakten.
Von der Finanzwirtschaft zur Raumfahrt... warum nicht... vielleicht sieht da jemand eine Verbindung, die ich... jetzt nicht so direkt sehe.
prof_kai schrieb:
Versteht mich nicht falsch: Ich möchte nicht ständig die Firma wechseln. Ich weiß nur nicht, wo ich später mal arbeiten will. Raumfahrtbranche interessiert mich genauso wie die Finanzbranche.
Aber es sind nicht die Triebwerke und Raketen oder Aktien und Risikiomanagement, die mich interessieren (sonst hätte ich ja Raumfahrttechnik oder Wirtschaftsinformatik studieren können), sondern die Software, die dort entwickelt wird. Da überall die Software Entwicklungsmethoden gleich sind, habe ich mir gedacht, Software Eng. zu wählen.
Der Ausbildungsgang ist auch sicher nicht verkehrt. Aber wenn Du Dich mit den Problemen von Ingenieuren auseinandersetzt und erfolgreich geschafft hast, mit der rustikalen Art der Ingenieure umzugehen und dem Denken ebendieser vertraut, dann bist Du im der Kommunikation mit den Bänkern sicherlich in jeglicher denkbaren Art und Weise fehlqualifiziert.
Man sollte natürlich programmieren können, um Programmierung zu managen, um überhaupt die Probleme bei der Entwicklung nachvollziehen und einschätzen zu können.
Im Praktikum habe ich eine Datenbankabstraktion geschrieben, dann Software auf Performance getrimmt, mit 3D Rendering weitergemacht und anschließend über Suchmaschinen gestolpert. Privat interessiere ich mich für Compilerbau - schon wieder Performance. Und gelandet bin ich zuletzt in 3D-Konstruktion und Visualisierung, wo ich den CAD-Kern beackere. Aktuell schreibe ich einen Parser, um 3D-Daten aus einem umständlichen Datenformat zu extrahieren und den CAD-Kern entsprechend erweitere. Entsprechend "Core-Team": ich schaffe die Grundlagen, um die andere eine GUI bauen. Das letzte Bewerbungsgespräch war in einer Firma, die Datenbanken mit der Grafikkarte durchsuchen möchten.
Da ist schon ein roter Faden drin, den ich auch so will. Da wechselt man aber auch nicht so schnell, weil die Einarbeitung aufwendig ist. Das hat auch den Vorteil, dass man ungern ausgetauscht wird, weil dann ja wieder jemand eingearbeitet werden müsste...
Und ich bezweifle ernsthaft, dass mich der rote Faden noch in die Welt der Finanzsoftware oder ins Weltall der Rakentenwissenschaft bringt. Ich werde wohl weiterhin Daten performant transformieren, filtern und persistieren. Das wird quasi überall gebraucht. Ich werde aber vermutlich keine Netzwerkprotokolle entwickeln, Hardwaretreiber, oder Webbrowser schreiben oder Web- oder GUI-Entwickler werden. Ein derart krasser Wechsel erscheint mir auch nicht sinnvoll. Ich habe ein Thema, was recht universell ist.
Es lohnt also durchaus, sich in eine Richtung zu spezialisieren, um dann auch in diesem Bereich interessant zu sein.
ArneMax schrieb:
Sind die Entwicklungsmethoden wirklich überall gleich?
Unwahrscheinlich.
Wir haben einen recht sauberen CAD-Kern. Wir rechnen in Millimetern und die 7. Stelle hinter'm Komma hat korrekt zu sein. Wir haben Numerik-Probleme zu lösen. Wenn jemand aus dem Bereich Datenbanken kommt und super Stored Procedures schreiben kann, wird mit Problemen der Numerik oder Embedded Systems nie in Kontakt kommen, also auch ganz anders an die Sache rangehen um in SQL abstrakte Probleme zu lösen.
Darum gibt es ja Leute, die sich in den einzelnen Bereichen spezialisieren.