Software Developer (IHK) - Softwareentwickler

Kurzbeschreibung

Software Developer konzipieren und implementieren einzelne Software-Bausteine (Komponenten und Module).

Arbeitsgebiete und Aufgaben

Software Developer konzipieren und implementieren einzelne Software-Bausteine bedarfsgerecht und wirtschaftlich auf der Basis vorliegender System-, Datenbank- und GUI-Designs. Sie spezifizieren Softwaretechnische Details von Software-Bausteinen und definieren Schnittstellen zu anderen Komponenten des Systems.
Software Developer entwerfen Algorithmen, definieren Datenstrukturen und setzen Programme in einer höheren (3GL- bzw. 4GL-) Programmiersprache um. Sie erstellen Testspezifikationen, Testdaten und Testumgebungen und führen Unit-Tests auf der Ebene der Software-Bausteine durch. Sie lösen Probleme im Entwickler- Team und in Kooperation mit Fachleuten aus dem Anwendungsumfeld.

Profiltypische Arbeitsprozesse

Die im folgenden beschriebenen Teilprozesse dokumentieren den gesamten profiltypischen Arbeitsprozess der IT-Spezialisten. Die Beherrschung dieses Arbeitsprozesses in Verbindung mit den Kompetenzen in den jeweiligen Kompetenzfeldern und der Berufserfahrung bilden die Grundlage für die berufliche Handlungskompetenz.

  • Unterstützen von IT-Systemanalytikern und IT-Systemplanern bei der Systemanalyse und dem System- Design, zum Beispiel durch Erstellen von Prototypen.
  • Mitwirken bei der Festlegung des Entwicklungsrahmens und der Entwicklungsumgebung, der Abschätzung von Aufwänden, der Festlegung von Meilensteinen und der Identifizierung von Implementierungsrisiken.
  • Überprüfen von Anforderungsmodellen und System-Design-Dokumenten auf Korrektheit, Eindeutigkeit und Vollständigkeit sowie auf Realisierbarkeit der Systemanforderungen bezüglich Sicherheit und Performance. Abstimmen von funktionalen Änderungen und Erweiterungen mit ITSystemanalytikern, IT-Systemplanern und weiteren Spezialisten aus dem Bereich Entwicklung.
  • Verfeinern von Systementwürfen durch Abbilden der spezifizierten, umfangreicheren Systemkomponenten auf kleinere Software-Bausteine wie z. B. Klassen und Objekte. Spezifizieren der Interaktionen und Beziehungen dieser Software-Bausteine in Form geeigneter Diagramme.
  • Abstimmen von konkreten Schnittstellen und Datenformaten innerhalb des Teams.
  • Ableiten von Testfällen und -szenarien aus den Spezifikationen für die Software-Bausteine und Bereitstellen von Testdaten für den Unit-Test.
  • Entwerfen von Datenbanktabellen und Mechanismen für entfernte Aufrufe unter anderem unter Verwendung von Code-Generatoren.
  • Kapseln von existierenden Systemen, Konvertieren von Daten, Abbilden von komplexen Kommunikations- und Abfrageprotokollen auf Klassen und Methoden.
  • Implementieren der Software-Bausteine und Durchführen der Unit-Tests, Festhalten der Testergebnisse.
  • Implementieren von Installationsprogrammen.
  • Unterstützen der Systemintegration und der Systemtests bzw. bei kleineren Projekten Durchführen der Systemintegration mit Unterstützung der am Projekt beteiligten Entwickler.
  • Mitarbeiten bei der Erstellung von Handbüchern, Installationsanleitungen und Trainingsmaterialien

Profilprägende Kompetenzfelder

Die Beherrschung der profiltypischen Arbeitsprozesse setzt Kompetenzen unterschiedlicher Reichweite in den nachstehend aufgeführten beruflichen Kompetenzfeldern voraus. Den Kompetenzfeldern sind Wissen und Fähigkeiten sowie typische Methoden und Werkzeuge unterschiedlicher Breite und Tiefe zugeordnet.

Grundlegend zu beherrschende, gemeinsame Kompetenzfelder

  • Unternehmensziele und Kundeninteressen
  • Problemanalyse, -lösung
  • Kommunikation, Präsentation
  • Konflikterkennung, -lösung
  • Fremdsprachliche Kommunikation (englisch)
  • Projektorganisation, -kooperation
  • Zeitmanagement, Aufgabenplanung und -priorisierung
  • Wirtschaftliches Handeln
  • Selbstlernen, Lernorganisation
  • Innovationspotenziale
  • Datenschutz, -sicherheit
  • Dokumentation, -standards
  • Qualitätssicherung

Fundiert zu beherrschende, gruppenspezifische Kompetenzfelder

  • Methoden und Werkzeuge der Softwareentwicklung
  • Engineering-Prozesse
  • Systemanalyse
  • Entwicklungsstandards (Leistungsfähigkeit, Sicherheit, Verfügbarkeit, Innovation)
  • Qualitätsstandards
  • Datenbanken, Netzwerke

Routiniert zu beherrschende, profilspezifische Kompetenzfelder

  • Moduldesign, Designmuster
  • Programmier- und Darstellungssprachen
  • Programmbibliotheken
  • Algorithmen und Datenstrukturen
  • Schnittstellen
  • Datenmodelle, -formate, -typen

Qualifikationserfordernisse

Im Regelfall wird ein hinreichendes Qualifikationsniveau auf der Basis einschlägiger Berufsausbildung oder Berufserfahrung vorausgesetzt.