Ich war ja auch kurz davor, eine Antwort zu schreiben ... aber es würde sich dann einfach zu viel wiederholen.
Ein Studium ist keine Garantie, dass jemand argumentieren kann. (Hat der Foren Spezialist nicht auch studiert? Nach einen 15 Punkten im Informatik LK? Ich meine, dass ist ein studierter "Neuer Account Ersteller".)
Aber das es Möglichkeiten sind, ist klar und das hast Du (
@mrBrown) in #54 ja auch geschrieben.
Ich denke, dass jeder durchaus sieht, dass wir ein durchaus komplexes Themengebiet bearbeiten. Software Entwicklung ist nichts triviales. Und da ist dann die Frage einfach: Jemand der es als Hobby macht: Wie viele Stunden Erfahrung hat diese Person? Als Student beschäftigt man sich viele Stunden jede Woche mit den Themen. Wird dazu noch durch die Themen geleitet. Und zumindest zu Zeiten meines Studiums war ein wichtiger Aspekt das "Lernen zu lernen".
Man mag gerne streiten, ob gewisse Dinge wirklich notwendig waren. Also wenn man mich fragt, dann sehe ich sehr viel Relevanz. Man lernt Grundlagen, die einem dann tatsächlich weiter helfen. Ein Beispiel einfach aus meiner Erfahrung: Die Ringtheorie habe ich als wenig relevant angesehen. Irgendwie habe ich das nicht gebraucht im weiteren Studium oder den vielen Jahren meiner beruflichen Tätigkeit. Aber ich weiss, dass es einfach an meiner oberflächigen Betrachtung lag. Mathe Vordiplom - das war für mich in erster Linie für die Prüfungen und das war es. Aber ich erinnere mich an eine Vorlesung (Keine Ahnung, was das für eine war. Datenbanken? Betriebssysteme? Ich weiss es nicht mehr), wo dann plötzlich ein Freund mitten in der Vorlesung sagte: "Das ist ein Ring!". Der Professor hat da also Details erläutert, die man einfach mit den Mathekenntnissen kurz als Ring hätte beschreiben können statt da groß über neutrales Element, Distributivgesetzt und sonst was lange zu reden.
Ein anderes Beispiel sind Entwurfsmuster. Machen die Sinn?
Man muss keine Entwurfsmuster kennen um gute Software zu schreiben. Wenn man versteht, was wie möglich ist, dann kann man Probleme lösen und objektorientiert abbilden. Ich brauche kein Wissen zum Observer Pattern um mit Events arbeiten zu können. Aber ähnlich wie beim Ring im ersten Beispiel kann es eine super Grundlage sein um zu kommunizieren. Bei Designdiskussionen kann ich also Ideen einfach ausdrücken und die Anderen verstehen es direkt. Man muss nicht das Verhalten erklären, wenn man einfach sagen kann. dass es ein kommutativer Ring ist
Ich möchte also auf keinen Fall sagen, dass so Grundlagen zwingend notwendig sind. Aber sie können es doch deutlich vereinfachen.
Aber wo ich jetzt schon so lange schreibe, dann doch auch noch ein direkter Kommentar zu einer Sache:
Aus meiner Sicht ist das Hobby eine Grundvoraussetzung in der Software Entwicklung. Egal ob Studium, Ausbildung oder privates Interesse + "Learning on the Job": Diese Komponente muss einfach sein. Ohne diese Komponente fehlt der Wunsch, sich in Dinge einzuarbeiten. Ich muss nur an manch ein Interview denken, das ich führen durfte. Man merkt es sofort, ob jemand mit "Herzblut" an etwas arbeitet oder nicht. Und das macht ein großen Unterschied aus. Und ich erkläre gerne jemandem etwas (ok, das überrascht jetzt hier bestimmt wenige), aber meine Aufgabe ist nicht, jemanden zu etwas zu zwingen. Und jemand soll nicht etwas machen, weil etwas ein "Pattern" oder das Andere ein "Anti-Pattern" ist. Mir geht es nicht um Regeln sondern um Verständnis! Das hängt nicht direkt mit dem "Hobby" zusammen, aber das korreliert doch sehr stark!
(Und Hobby meint nicht, dass jemand dann nach 8 Stunden Arbeit zuhause noch 4 Stunden privat entwickelt ... es geht um den Spass an der Arbeit. Also an der "Berufung" zum "Beruf").