
EinSoftwareentwickler (englischsoftware developer) ist eine Person, die an der Erstellung und Weiterentwicklung einerSoftware mitwirkt. Der Begriff ist nicht scharf definiert.
Die konkreten Aufgaben eines Softwareentwicklers richten sich nach derRolle, die er im Softwareentwicklungsteam einnimmt. Die bekannteste Rolle beinhaltet hierbei die Tätigkeit desProgrammierens. Umgangssprachlich wird zwischen den Begriffen „Programmierer“ und „Softwareentwickler“ oft nicht unterschieden.
Ein Softwareentwickler kann eine oder mehrere Rollen ausfüllen.[1] Dies hängt von der Größe des Teams und der Organisation desSoftwareentwicklungsprozesses ab. Allen Rollen gemein ist, dass Softwareentwickler Software entwickeln oderwarten, alsoProgrammcode schreiben oder verändern. Softwareentwickler können aber je nach Ausbildung und Erfahrung auch Rollen einnehmen, in denen vorrangig andere Tätigkeiten gemacht werden müssen, wieAnforderungsmanagement,Softwarearchitektur,Softwaretest und Qualitätssicherung,Systemadministration oderProjektmanagement. In deragilen Softwareentwicklung werden cross-funktionale, selbstorganisierte Teams eingesetzt, Softwareentwickler übernehmen dabei alle zuvor genannten Tätigkeiten.
Neben den oben genannten Tätigkeiten gehören auch das Design derBenutzerschnittstelle, Entwicklung vonAlgorithmen undmathematischen Berechnungsmodellen oder die Analyse vonAltsystemen zu typischen Aufgaben von Softwareentwicklern.
Softwareentwickler können durch denSoftwarestack, auf den sie ausgebildet sind, unterschieden werden. Häufig spielt hierbei die Schicht eines Stacks eine wichtige Rolle für die Abgrenzung. Es wird unterschieden zwischenFrontend,Backend undFull-Stack.[2] Frontend-Entwickler beschäftigen sich mit den Schnittstellen für die Nutzer eines Dienstes (Internetseiten, Apps etc.), häufig sind hier Kenntnisse vonHTML,CSS,JavaScript undJSON gefragt. Backend-Entwickler sind hingegen auf die serverseitige Programmierung spezialisiert. Diese umfasst häufigSkriptsprachen wiePHP,Python undRuby. Full-Stack-Entwickler wenden Kenntnisse sowohl aus dem Frontend- als auch dem Backend-Bereich an.
DieBerufsbezeichnungSoftwareentwickler ist in Deutschland und Österreich keinegeschützte Berufsbezeichnung.
Die BerufsbezeichnungSoftwareingenieur darf nach deutschem Recht nur führen, wer ein technisches Studium mit Erfolg abgeschlossen hat.[k 1][3] In Österreich kann der Ingenieurstitel auch durch die Ausbildung an einerHTL erworben werden.

Softwareentwickler haben oft einStudium in einemInformatikstudiengang an einerHochschule oder einerBerufsakademie absolviert. Auch ein Studium in einem ingenieur- bzw. naturwissenschaftlichen Studiengang bietet Einstiegsmöglichkeiten in die Softwareentwicklung.Des Weiteren gibt es die Möglichkeit, sich über eine Ausbildung in eineminformationstechnischenAusbildungsberuf z. B. zumFachinformatiker fürAnwendungsentwicklung an einerBerufsfachschule (siehe beispielsweiseIHK), an einerFachschule fürDatenverarbeitung und Organisation (z. B.Akademie für Datenverarbeitung Böblingen) oder einemBerufskolleg zum Softwareentwickler oder Softwarearchitekten zu qualifizieren.
Seit 2007 gibt es in Deutschland die staatlich anerkannte Ausbildung zumMathematisch-technischen Softwareentwickler, die aus demMathematisch-Technischen Assistenten hervorging. In Aachen, Köln und Jülich ist die Kombination der Ausbildung mit dem Bachelorstudiengang „Scientific Programming“ möglich.
Daneben üben vieleQuereinsteiger diese Tätigkeit auch aufgrund vonautodidaktisch erlernten oder durch verschiedene Schulungen (auchUmschulung) erworbenen Fähigkeiten aus.