Mein Komemntar zu
https://jaxenter.de/sind-sie-programmierer-oder-software-entwickler-1545:
Diese Diskussion hat bestimmt jeder schon mal geführt der in der Berufsschule den Beruf des FI-Anwendungsentwickler gelernt hat. Spätestens dann wenn einen der Lehrer erzählte, dass man vom Prinzip her ja nicht mal Programmieren können muss, um den Beruf auszuüben.
Der Anwendungsentwickler würde die Anwendung entwickeln und dann würden Programmierer die Ergebnisse in ausführbaren Code umwandeln. Das es in der Realität nicht so funktioniert, merkt man spätestens wenn einem klar wird, dass man den Beruf des Anwendungsentwicklers lernen kann, aber nicht den des Programmierers.
Es soll diese ominöse Zwischensprache geben. Der Entwickler fasst sein Konzept und seine Planung in der dieser Sprache zusammen, übergibt alles an den Programmierer und dieser übersetzt es einfach in eine Programmiersprache. Das Übersetzen ist einfach und man braucht kein fachliches Wissen über die Anwendung. Das ist die Theorie, die man lernt. Leute die glauben, dass so etwas funktioniert, glauben auch wenn man ein Buch vom Englischen in Deutsche übersetzen will, brauche man nur ein Wörterbuch, die englische Sprache zu beherrschen wäre nicht nötig, weil man schließlich kein englisches Buch schreiben will.
Nehmen wir uns mal einen JBoss-AS und entwickeln eine größere Anwendung darauf. Ich als Entwickler hab natürlich von Java und JEE keine Ahnung (ich kann ja nicht programmieren), aber ich weiß wie das System aussehen soll. Dann kommt der Programmierer, der keine Ahnung hat was ich da eigentlich mir überlegt habe oder warum es so funktioniert, weil der nur Vokabeln runter schreiben kann. Der programmiert jetzt die Anwendung in Java. Es wird dann deployed.. und .. es läuft nicht. Ich als Entwickler komme nun und guck mir den Java-Code an, wovon ich natürlich keine Zeile verstehe, aber ich sehe den Klassen-Namen, damit geh ich wieder auf meine Seite und überprüfe, ob in meiner Überlegung der Fehler lagt.......
Ein Programmierer, der nicht Entwickeln kann, ist genau so nutzlos wie ein Entwickler, der nicht Programmieren kann. In der Realität wird man diese Trennung auch nie wirklich erleben. Jedenfalls nicht auf so einem Level, wo Technologie und alles irrelevant ist.
Ich würde sogar soweit gehen, dass selbst wenn eine Person die fachlichen Anforderungen aufnimmt, analysiert, die Oberflächen, Schnittstellen und den Workflow entwirft, auch die Person die dass in Code umsetzt "entwickelt", weil es kein stupides 1:1 übersetzen ist, sondern der jetzt sich was überlegen muss, dass alles performant, sicher und ohne Fehler laufen wird. Er muss dafür sorgen, dass die Ideen des Entwicklers am Ende auch wirklich produktiv laufen können. Sollte der erste Entwickler aber schon alles bis auf dieses Level hinunter entwickelt haben, bräuchte man keinen Programmierer mehr, weil sich dass alles dann auch automatisiert in Code konvertieren lassen könnte.