Was ist der Unterschied zwischen Backend-, Full-Stack- und Software Developer?
Hi,
ich würde gerne im Bereich Programmierung in Richtung Apps und irgendwann, nach längerer Zeit und Erfahrung natürlich, Richtung KI gehen wollen.
Dazu meine Frage:
Backend ist ja letztendlich die Entwicklung daran, dass eine Webseite funktioniert, in Abgrenzung zum Frontend.
Full-Stack ist jemand, der Frontend und Backend kann.
Software Developer sind wiederum eher breit aufgestellt. Programmieren also auch Apps und dergleichen. Stimmt das?
Ich frage daher weil etwa bei Kursbeschreibungen meist nur von backend/frontend oder full Stack die Rede ist.
3 Antworten
Frontend ist was der User sieht, man macht UI, setzt um wie das Programm aussehen soll und eventuell beschäftigt man sich auch mit Themen wie UX, redet mit Designern oder muss sich selber überlegen wie ein UI aussehen soll.
Backend ist alles was im Hintergrund auf den Servern läuft, du musst mit Datenbanken interagieren, eine Architektur haben wie einzelne Services miteinander Kommunizieren usw.
Full-Stack macht einfach beides. Aber nicht immer unbedingt beides gleich viel, kommt einfach auf die Firma, Projekt und so weiter an.
Sind alles Software Entwickler, nur mit anderen Skills und Schwerpunkten.
Und lass dich von Full Stack nicht scammen, oft ist es hier eben so, dass du mehr Unterschiedliche Sachen lernst aber manche eventuell weniger vertieft als bei reinen Frontend/Backend Sachen.
Stimmt das ?
Nein, nicht so ganz.
Softwareentwickler oder software developer ist die Berufsbezeichnung. Aber das Gebiet der Softwareentwicklung ist extrem weit, wie du selbst dargelegt hast. Da gibt es reguläre Programme, mobile Apps, KI, Datenbanken, Webseiten usw.usf.
Die Unterscheidung Frontend / Backend ist von der Art, in welchem Gebiet der Softwareentwickler eher zuhause ist: Kümmert er sich um die Programmoberflächen und Webseiten, die der Benutzer sieht? Falls ja, dann kümmert er sich um das, was vorne zu sehen ist - das Frontend.
Arbeitet er dagegen lieber im Hintergrund und kümmert sich z.B. um die Implementierungen von Geschäfts- oder Programmlogiken in Skripten und/oder auf Servern, arbeitet mehr mit den Datenbanken und kümmert sich nicht großartig um Buttons, Frames, Ribbons usw. - dann spricht man davon, dass er im "hinteren Ende" zugange ist - im Backend.
Full stack wiederum bedeutet, dass der Entwickler nicht nur Frontend UND Backend beherrscht sondern auch alles andere darum herum: Konzeptionierung, Planung, Integration, Rollout, Testing ggf. Azure DevOps in vollem Ausmaß (CI/CD) und dergleichen mehr.
Vielleicht ein ganz konkretes Beispiel:
Ich habe derzeit keine Ahnung, wo und wie die Codes, an denen ich arbeite, später im Programm eingesetzt werden. Vielleicht in einer Website, vielleicht in einer App (ich kenne die noch einfach als "Programme") - das wird sich noch zeigen.
Ernsthaft: Keine Ahnung.
Aber ich habe hier ein paar Sourcecodes und soll die darauf abprüfen, wie stark die mit Hilfe von design patterns entweder direkt modularisiert werden können oder wo, wie und womit eine entsprechende Modularisierung erreicht werden kann.
Ergo: Ich bin zu 100% im Backend unterwegs.
auch apps kann man in front und backend aufteilen. also du kannst auch wenn du apps entwickelst ausschließlich im backend oder dem frontend von der app unterwegs sein.
Was wäre dann bei etwa einem Programm das eine Maschine automatisiert ? Also noch als simples bsp: staubsaugroboter der automatisch staubsaugt. Da sehe ich kein frontend und es wird doch Programme geben die weitestgehend offline ausgeführt werden können / könnten ?
also bei software für staubsaugerroboter würde man sich eher als embedded software entwickler bezeichnen.
für programme ohne eine einteilung in front und backend wird die stellenbeschreibung eher bestimmte technologien fordern (z.B. unity)
Dann passt frontend backend oder full stack aber nicht zu dem was ich zunächst machen möchte - auch wenn die funktionsweise von websites interessant ist. Gibt es eventuell eine ganz andere Berufsklasse die ich übersehen habe, neben full stack/backend/frontend? Kann es sein dass software developer noch eine andere Unterbezeichnung hat sozusagen?
Auf Jobbörsen wirst du auf eine Reihe unterschiedlicher Bezeichnungen treffen, die aber dennoch die selben Aufgabengebiete umfassen können. Software Engineer, Software Developer, Programmer, Application Developer, ... eine Spezifizierung nach Backend, Frontend, o.ä. muss nicht zwingend enthalten sein. Es ist auch möglich, dass du auf andere Unterteilungsmuster triffst (Bsp.: Java Developer).
Den größten Aufschluss über die Aufgabenbereiche liefert die jeweilige Profilbeschreibung.
Ok danke dann seh ich mir das ganze noch mal genauer an, jetzt sind die Beschreibungen verständlicher danke!
Softwareentwickler sind alle, es geht nur um die Spezialisierung.
Das bedeutet backend ist das was man dann richtung Apps programmieren zuordnet, ist dass richtig? Danke für die antwort