Aufgaben und Tätigkeiten kompakt
Softwareentwickler/innen erstellen, testen und dokumentieren Anwendungsprogramme sowie Systemsoftware oder passen bereits vorhandene Standardsoftware an die individuellen Erfordernisse des Unternehmens an (Customizing). Sie konzipieren Softwarebausteine bedarfsgerecht und wirtschaftlich und prüfen Anforderungsmodelle sowie System-Design auf Korrektheit, Eindeutigkeit, Vollständigkeit, Realisierbarkeit, Sicherheit und Performance. Außerdem legen sie die Schnittstellen zu anderen Komponenten und Systemen fest, entwerfen Algorithmen, definieren Datenstrukturen oder erstellen Programme in höheren Programmiersprachen. Sie gestalten Benutzeroberflächen, implementieren und testen Softwarebausteine und dokumentieren den gesamten Prozess der Softwareentwicklung. Auch an der Systemintegration und an Systemtests, an Schulungen und Schulungsunterlagen wirken sie mit, z.B. für ERP-Systeme.
Aufgaben und Tätigkeiten (Beschreibung)
Worum geht es?
Softwareentwickler/innen analysieren, planen, entwickeln und implementieren informationstechnische Anwendungen und Softwarebausteine wie z.B. Datenbanken oder Programme.
Von der Konzeption zur Bereitstellung
Die Entwicklung einer Software beginnt mit der Anforderungsanalyse, gefolgt vom Entwurf der Softwarearchitektur, der Implementierung, der Qualitätssicherung, dem Deployment (Softwareverteilung) und endet mit der Wartung. In Abstimmung mit Auftraggeber bzw. Projektmanager/innen definieren Softwareentwickler/innen zunächst die Ziele und benötigten Leistungen eines Programmes oder der Softwarebausteine. Dabei überprüfen sie die Aspekte auf Realisierbarkeit der Systemanforderungen, hinsichtlich IT-Sicherheit, Performance und Wirtschaftlichkeit. Auf Basis der Anforderungen entwerfen sie anschließend eine Softwarearchitektur, einschließlich Datenstruktur und Benutzeroberflächen. Teilweise kommen hier Prototypen zum Einsatz. Anschließend werden die benötigten Funktionen programmiert und Tests unterzogen. Softwareentwickler/innen legen Schnittstellen zu anderen Komponenten und Systemen fest, entwerfen Algorithmen und erstellen Programme in höheren Programmiersprachen. Um die Wartung und zukünftige Entwicklungen zu erleichtern, dokumentieren Softwareentwickler/innen Codes, Funktionen und Arbeitsschritte während des gesamten Prozesses der Softwareentwicklung.
Umsetzung, Wartung und Schulung
Nach der Implementierung der Software sind Softwareentwickler/innen auch an der Systemintegration beteiligt. Teilweise sind sie auch für Wartungen und Durchführen von Updates verantwortlich. Auch die Konzeption und Erstellung von Handbüchern, Installationsanleitungen, Tutorials und Schulungsmaterialien sowie Schulungen von Nutzer/innen können zu ihren Aufgaben gehören.
Aufgaben und Tätigkeiten im Einzelnen
-
Anwendungsprogramme, Systemsoftware bzw. Softwarebausteine bedarfsgerecht und wirtschaftlich konzipieren und implementieren
-
Fachteams bei Systemanalyse und System-Design unterstützen, z.B. durch Erstellen von Prototypen
-
bei Festlegung des Entwicklungsrahmens und der Entwicklungsumgebung mitwirken
-
Anforderungsmodelle und System-Design auf Korrektheit, Eindeutigkeit und Vollständigkeit sowie auf Realisierbarkeit der Systemanforderungen überprüfen, insbesondere hinsichtlich Sicherheit und Performance
-
funktionale Änderungen und Erweiterungen mit Entwicklungsexperten und -expertinnen abstimmen
-
Schnittstellen zu anderen Komponenten und Systemen festlegen, konkrete Schnittstellen und Datenformate im Team abstimmen
-
Algorithmen entwerfen, Datenstrukturen definieren, Programme sowie Programmteile in einer höheren Programmiersprache erstellen
-
Schnittstellen und Benutzeroberflächen gestalten
-
Testfälle und -szenarien aus den Spezifikationen für die Softwarebausteine ableiten, Testdaten für Unit-Test bereitstellen
-
Datenbanktabellen und Mechanismen für entfernte Aufrufe entwerfen, u.a. unter Verwendung von Code-Generatoren
-
existierende Systeme kapseln, Daten konvertieren, komplexe Kommunikations- und Abfrageprotokolle auf Klassen und Methoden abbilden
-
Softwarebausteine implementieren, Unit-Test durchführen, Testergebnisse festhalten
-
Installationsprogramme implementieren
-
Prozesse der Softwareentwicklung dokumentieren
-
bei Systemintegration und Systemtests mitwirken
-
bei Konzeption und Erstellung von Handbüchern, Installationsanleitungen, Tutorials und Schulungsmaterialien mitwirken, z.B. für ERP-Anwendungen
-
Anwender beraten und schulen
Verdienst/Einkommen
Beispielhafte tarifliche Monatsbruttovergütung, die sich aus der Monatsgrundvergütung und variablen Entgeltbestandteilen zusammensetzt: € 5.504 bis € 6.028
Quelle:
Tarifsammlung des Bayerischen Staatsministeriums für Familie, Arbeit und Soziales
Hinweis: Diese Angaben dienen der Orientierung. Ansprüche können daraus nicht abgeleitet werden.
Verdienst/Einkommen
Das Einkommen von Arbeitnehmern und Arbeitnehmerinnen hängt von der Aus- und Weiterbildung, Berufserfahrung und Verantwortlichkeit ab, aber auch von den jeweiligen Anforderungen des Berufs, von Branche, Region und Betrieb. Die Höhe richtet sich in tarifgebundenen Betrieben nach tarifvertraglichen Vereinbarungen. Nicht tarifgebundene Betriebe können ihre Mitarbeiter/innen in Anlehnung an entsprechende Tarifverträge entlohnen.
Weitere Informationen über Einkommensmöglichkeiten:
Tätigkeitsbezeichnungen
Auch übliche Berufsbezeichnungen/Synonyme
Arbeitsorte
Softwareentwickler/innen arbeiten in erster Linie
-
in Büroräumen
-
in IT-Labors
Darüber hinaus arbeiten sie ggf. auch
Arbeitssituation
Softwareentwickler/innen sind mit dem gesamten Entwicklungsprozess von Software betraut. Um z.B. Algorithmen zu entwerfen und Datenstrukturen zu definieren, gehen sie analytisch, methodisch durchdacht und sorgfältig vor. Wenn sie multimediale Anwendungen konzipieren und implementieren, achten sie auf Wirtschaftlichkeit ebenso wie darauf, bedarfsgerechte Lösungen für die jeweiligen Anforderungen zu finden. Dabei stellen sie neben Einfallsreichtum und Kreativität auch Serviceorientierung, Durchsetzungsvermögen und Verhandlungsgeschick unter Beweis. Sie halten ihr Fachwissen bezüglich Innovationen auf dem IT-Sektor permanent auf dem neuesten Stand.
Softwareentwickler/innen arbeiten hauptsächlich im Büro oder IT-Labor am Computer, sind aber auch im Außendienst unterwegs, z.B. bei der Implementierung einer neuen Software. Hierbei müssen sie sich flexibel auf wechselnde Arbeitsbedingungen und unregelmäßige Arbeitszeiten einstellen.
Arbeitsbedingungen im Einzelnen
-
Kundenkontakt (z.B. Kunden über bedarfsgerechte Systementwürfe beraten)
-
häufige Abwesenheit vom Wohnort (bei Außendienst)
-
Bildschirmarbeit (z.B. in Entwicklungsumgebungen arbeiten; Anwendungen programmieren)
-
Arbeit in Büroräumen
Arbeitsgegenstände/Arbeitsmittel
Computertechnik und Software, z.B.: verschiedene Entwicklungsumgebungen, Datenverarbeitungsanlagen, vernetzte Systeme der Informations- und Kommunikationstechnik einschließlich der Peripheriegeräte, computerunterstützte Arbeitsplätze (CAD-, CAM-, CAE-, CIM-Systeme), ERP-Software, ggf. Technologien der Künstlichen Intelligenz wie Machine-Learning-Anwendungen
Unterlagen, z.B.: Lastenhefte, Hard- und Software-Dokumentationen, Fachliteratur, System-, Datenbank- und GUI-Designs
Büroausstattung und Präsentationsmittel, z.B.: PC, Internetzugang, Telefon, Laptop, Beamer, Flipchart
Arbeitsbereiche/Branchen
Softwareentwickler/innen finden Beschäftigung
-
in System- und Softwarehäusern
-
bei Unternehmen der Informations- und Kommunikationstechnik
-
bei IT-Dienstleistern oder in Ingenieurbüros für technische Fachplanung
Branchen im Einzelnen
-
Softwareentwicklung, -bereitstellung
-
Entwicklung und Programmierung von Anwendungssoftware
-
Entwicklung und Programmierung von künstlicher Intelligenz und maschinellem Lernen
-
Entwicklung und Programmierung von Computerspielen
-
Programmierungstätigkeiten a. n. g., z.B. Systemhäuser
-
Verlegen von Software, z.B. Softwarehäuser
-
Informations-, Telekommunikationstechnik
-
Herstellung von Datenverarbeitungsgeräten und peripheren Geräten
-
Herstellung von Geräten der Unterhaltungselektronik
-
Herstellung von Geräten und Einrichtungen der Telekommunikationstechnik
-
IT-Dienstleistungen
-
Erbringung von Beratungsleistungen auf dem Gebiet der Informationstechnologie, z.B. Hardware- und Softwareberatung
-
Betrieb von Datenverarbeitungseinrichtungen für Dritte, z.B. Datenverarbeitungsdienste
-
Ingenieurdienstleistungen