Sprache mit Reichweite

Eine Sprache, zwei Zielbilder: Arbeitsplatz oder Dienst

C# trägt dich vom Windows-Programm über das Web-Backend bis in die Cloud. Die Sprachmittel bleiben gleich, der Zuschnitt der Stellen unterscheidet sich deutlich.

KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Seit 1997 am Markt Kleine Gruppen Präsenz und Live-Online Zertifizierte Trainer
Worum es geht

Der Bestand entscheidet, was du im Alltag wirklich tust

C# ist eine der wenigen Sprachen, in denen du zwei sehr unterschiedliche Welten antriffst, die beide C# heißen. Auf der einen Seite die weiterentwickelte, plattformübergreifende .NET-Linie, auf der neue Anwendungen entstehen. Auf der anderen das ältere .NET Framework, das nur unter Windows läuft, keine neuen Funktionen mehr bekommt und trotzdem einen großen Teil der Fachanwendungen in Industrie und Verwaltung trägt.

Für den Einstieg heißt das: Wer nur die neue Linie lernt, versteht die erste Aufgabe im Job oft nicht, weil sie in einer Anwendung von 2014 liegt. Wer nur den Bestand kennt, bekommt Schwierigkeiten, sobald ein Haus modernisiert. Beides zusammen ist der Normalfall, und genau diese Doppelrolle wird in Ausschreibungen selten sauber beschrieben.

Teuer wird die Unkenntnis bei der Einschätzung von Aufwänden. Eine Anwendung von der alten auf die neue Linie zu heben ist keine Übersetzungsarbeit, sondern hängt an den Bibliotheken, an der Oberflächentechnik und an Bestandteilen, die es in der neuen Welt so nicht mehr gibt. Wer das im Gespräch benennen kann, wirkt sofort anders als jemand, der nur Sprachmerkmale aufzählt.

KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Schritt für Schritt

Der Weg in sechs Schritten

Schritt vier ist die einzige Weggabelung. Alles davor brauchst du in beiden Richtungen, alles danach hängt davon ab, welche Art von Haus dich einstellt.

  1. 1

    Die Sprache lernen, ohne die Werkzeugkette zu meiden

    Typen und Klassen, Schnittstellen, Generika, Erweiterungsmethoden, LINQ und die Ausnahmebehandlung. Lern von Anfang an mit der Befehlszeile zu bauen und zu starten, sonst hältst du später die Entwicklungsumgebung für die Sprache.

    Geschafft, wenn: du baust und startest ein Projekt ohne Klick auf einen grünen Pfeil

  2. 2

    Objektorientiert entwerfen statt nur zu programmieren

    Verantwortungen trennen, gegen Schnittstellen arbeiten, Abhängigkeiten von außen hineingeben. Die Abhängigkeitseinbringung ist in .NET eingebaut und nicht optional zu verstehen, denn sie prägt, wie fast jede moderne Anwendung in diesem Umfeld aufgebaut ist.

    Geschafft, wenn: du tauschst eine Datenquelle aus, ohne die Logik anzufassen

  3. 3

    Datenzugriff und Migrationen

    Mit Entity Framework Core beschreibst du das Modell im Code und führst Änderungen an der Datenbank über Migrationen nach. Achte früh auf zwei Fallen: das unbeabsichtigte Nachladen in Schleifen und Abfragen, die erst nach dem Laden aller Zeilen gefiltert werden.

    Geschafft, wenn: du erkennst im Protokoll, wie viele Abfragen eine Seite auslöst

  4. 4

    Ein Zielbild wählen und darin ein Projekt bauen

    Für den Windows-Arbeitsplatz beschreibst du die Oberfläche in XAML und trennst sie über ein Anzeigemodell von der Logik. Für Dienste baust du mit ASP.NET Core eine Schnittstelle samt Anmeldung. Bau in einer der beiden Richtungen ein Projekt zu Ende, statt beide anzufangen.

    Geschafft, wenn: eine Anwendung läuft, die jemand anders bedienen oder aufrufen kann

  5. 5

    Testbarkeit und Lesbarkeit

    Tests mit einem der üblichen Rahmenwerke, Attrappen für fremde Systeme und Code, den ein Kollege ohne Rückfrage ändern kann. In gewachsenen Fachanwendungen ist das der Unterschied zwischen einer Änderung von zwei Stunden und einer von zwei Wochen.

    Geschafft, wenn: eine Änderung an der Logik lässt sich ohne Oberfläche prüfen

  6. 6

    Den Bestand verstehen

    Sieh dir eine ältere Anwendung an und finde heraus, worauf sie aufsetzt, welche Bibliotheken nur unter Windows laufen und welche Oberflächentechnik verwendet wurde. Die Unterstützungszeiträume der .NET-Fassungen stehen offen bei Microsoft, und sie sind das erste Argument in jedem Modernisierungsgespräch.

    Geschafft, wenn: du sagst zu einer Anwendung, was einer Umstellung im Weg steht

Sechs Schritte von der Sprache zur Fachanwendung

  1. 01 Die Sprache mit Schnittstellen, Generika und LINQ beherrschen.
  2. 02 Objektorientiert entwerfen statt Klassen wachsen zu lassen.
  3. 03 Daten anbinden und Änderungen über Migrationen führen.
  4. 04 Ein Zielbild wählen: Windows-Oberfläche oder Web-Backend.
  5. 05 Testbar bauen und den Code lesbar halten.
  6. 06 Den Bestand einordnen und Umstellungen realistisch bewerten.
Was du mitnimmst

Was du am Ende dieses Wegs kannst

Die Reihenfolge ist immer dieselbe, egal ob du auf Oberflächen oder auf Dienste zusteuerst. Erst die Sprache, dann der Entwurf, dann die Technik für das Zielbild.

Die Sprache mit ihren Eigenheiten

Du arbeitest mit Eigenschaften, Schnittstellen, Generika und LINQ und weißt, was hinter async und await passiert, statt sie nur abzuschreiben, weil der Übersetzer es verlangt.

Objektorientiert entwerfen

Du schneidest Klassen nach Verantwortung, arbeitest gegen Schnittstellen statt gegen konkrete Klassen und nutzt die in .NET eingebaute Abhängigkeitseinbringung, statt Objekte überall selbst zu erzeugen.

Daten sauber anbinden

Du beschreibst dein Datenmodell, führst Änderungen über Migrationen nach und erkennst die Abfrage, die in einer Schleife hundert einzelne Aufrufe an die Datenbank schickt.

Eine Oberfläche bauen

Du beschreibst Fenster in XAML, trennst Anzeige und Logik über ein Anzeigemodell und weißt, warum diese Trennung der einzige Weg ist, eine Oberfläche testbar zu halten.

Ein Web-Backend bauen

Du stellst Schnittstellen mit ASP.NET Core bereit, kümmerst dich um Anmeldung und Berechtigungen und lieferst Fehler in einer Form aus, mit der die aufrufende Seite umgehen kann.

Bestand einschätzen

Du erkennst an einem Projekt, auf welcher Grundlage es steht, und kannst benennen, was einer Umstellung im Weg steht, statt sie pauschal für machbar oder unmöglich zu erklären.

KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt

Was den Alltag ausmacht, und was Leute falsch erwarten

C#-Stellen sitzen überdurchschnittlich oft in Häusern, deren Geschäft nicht Software ist: Maschinenbau, Versicherungen, Handel, Verwaltung, Energieversorger. Entwickelt wird dort eine Fachanwendung, die den Betrieb abbildet, und die läuft seit Jahren. Der Alltag besteht deshalb aus Änderungen an Bestehendem, Erweiterungen für neue Anforderungen und der Anbindung weiterer Systeme.

Falsch erwartet wird die Nähe zu neuen Techniken. In vielen dieser Häuser wird nicht die neueste Fassung eingesetzt, sondern die, auf der die Anwendung stabil läuft. Das ist keine Rückständigkeit, sondern eine Abwägung: Ein Wechsel kostet Prüfaufwand in einem System, an dem die Auftragsabwicklung hängt.

Der zweite unterschätzte Anteil ist die Fachlichkeit. Wer versteht, wie eine Kalkulation, eine Police oder eine Materialwirtschaft funktioniert, wird in diesen Häusern schnell unverzichtbar. Die Sprache können mehrere im Team, die Fachlogik oft nur zwei Leute.

Der Weg hinein und die Sache mit den Zertifikaten

Der übliche Weg ist die Ausbildung zum Fachinformatiker für Anwendungsentwicklung oder ein Studium mit Programmieranteil, gefolgt vom Einstieg in ein Team, das eine bestehende Anwendung pflegt. Quereinstiege sind möglich, verlaufen aber seltener über C# als über Python oder Web-Technik, weil die Einstiegshürde der Werkzeugkette höher ist.

Für die Sprache selbst gibt es bei Microsoft keine eigene aktuelle Zertifizierung mehr. Die verbliebenen Nachweise sind rollenbezogen und drehen sich um die Cloud, für Entwicklerinnen und Entwickler vor allem um die Umsetzung von Anwendungen auf Azure. Das ist nützlich, wenn dein Haus dorthin geht, ersetzt aber keine Projekterfahrung.

Was im Gespräch zählt, ist ein Projekt mit Schichten. Zeig eine Anwendung, in der Oberfläche, Logik und Datenzugriff getrennt sind, und erklär, warum du wo geschnitten hast. Wer zusätzlich benennen kann, welche Entscheidung er heute anders treffen würde, bekommt in der Regel die Rückfrage, die das Gespräch trägt.

Woran sich zwei Leute mit gleicher Berufsdauer unterscheiden

Der erste Unterschied ist der Umgang mit dem Bestand. Die eine liest sich in eine gewachsene Anwendung ein, ändert in kleinen Schritten und sichert jede Änderung mit einem Test ab. Der andere erklärt das System für unrettbar und schlägt einen Neubau vor, der weder budgetiert noch abgesichert ist. Im ersten Fall wächst Vertrauen, im zweiten Widerstand.

Der zweite Unterschied ist die Datenbanknähe. Sehr viele Leistungsprobleme in Fachanwendungen entstehen nicht im C#-Code, sondern in den Abfragen, die eine Zuordnungsschicht daraus erzeugt. Wer sich das erzeugte SQL ansieht und den Ausführungsplan liest, löst in einer Stunde, wofür andere eine Woche lang optimieren.

Der dritte Unterschied ist die Fähigkeit, mit dem Fachbereich zu sprechen. In diesen Häusern sitzt die Anforderung nicht in einem Ticketsystem, sondern bei einer Person, die seit fünfzehn Jahren die Abrechnung macht. Wer dort zuhört und die Sonderfälle abfragt, spart sich zwei Korrekturschleifen.

Wohin die Rolle führt

Drei Richtungen sind üblich. Die Cloud-Richtung, wenn dein Haus seine Anwendungen nach Azure bringt und aus der Fachanwendung ein Dienst wird. Die Architekturrichtung, wenn du anfängst, Schnitt und Technologieentscheidungen zu verantworten. Und die Spezialisierung auf ein Fachgebiet, bei der du weniger die Sprache als die Branche vertiefst.

Ein vierter Weg führt in die Spieleentwicklung, weil eine verbreitete Spiel-Engine ebenfalls in C# geschriebene Logik verwendet. Der Zuschnitt der Arbeit ist dort ein völlig anderer, und wer damit liebäugelt, sollte sich das Berufsbild getrennt ansehen statt vom gemeinsamen Sprachnamen auf ähnliche Stellen zu schließen.

Zu den Zahlen weiter unten gehört ein Hinweis, der auf allen Sprachseiten gilt: Das Anforderungsniveau Spezialist beschreibt den Zuschnitt der Stelle und nicht deine Dienstjahre. Und der Median sagt mehr als der Durchschnitt, weil einzelne sehr hohe Verdienste den Mittelwert anheben.

Dazu passende Kurse

Für den Anfang gibt es Kurse, in denen du die Sprache ohne Vorkenntnisse von vorne lernst , und danach führt der Weg über Entwurf und Oberfläche weiter.

Was verdient man

Die amtlichen Zahlen zu dieser Rolle

Die Klassifikation der Berufe unterscheidet keine Programmiersprachen, deshalb steht hier die allgemeine Zelle für Softwareentwicklung und keine C#-Zahl. Für diese Rolle ist das besonders folgenreich, weil C#-Stellen überdurchschnittlich oft in Industrie, Handel und Verwaltung sitzen, wo Branche, Tarifbindung und Betriebsgröße den Verdienst stärker prägen als die eingesetzte Sprache. Die Werte gelten für Vollzeit ohne Sonderzahlungen, Weihnachts- und Urlaubsgeld kommen also noch dazu und dein Jahresverdienst liegt über dem Zwölffachen.

Amtliche Medianverdienste, April 2025

Brutto im Monat

Statistisches Bundesamt, Verdiensterhebung. Vollzeit, ohne Sonderzahlungen. Die Hälfte der Beschäftigten verdient weniger als der Median, die andere Hälfte mehr.

Softwareentwicklung Spezialist 5.986 €

KldB 43413, Durchschnitt 6.238 €, gerundet rund 72.000 € im Jahr ohne Sonderzahlungen

02k4k6k
  • Vollzeitbeschäftigte, Bruttomonatsverdienst ohne Sonderzahlungen. Weihnachts- und Urlaubsgeld, Prämien und Boni sind nicht enthalten, der Jahresverdienst liegt also über dem Zwölffachen.
  • Das Anforderungsniveau beschreibt den Zuschnitt der Stelle, nicht die Berufserfahrung. Fachkraft, Spezialist und Experte sagen etwas über die Komplexität der Tätigkeit aus, nicht über Dienstjahre.
  • Die Erhebung geht regional nur bis auf die Bundeslandebene. Für einzelne Städte gibt es keine amtlichen Zahlen, weil der Zufallsfehler zu groß wäre.

Quelle: Statistischer Bericht Verdienste , Statistisches Bundesamt (Destatis). Den eigenen Fall prüfst du im Entgeltatlas der Bundesagentur für Arbeit . Beachte dort: Entgelte oberhalb der Beitragsbemessungsgrenze sind der Statistik nicht bekannt, bei gut bezahlten IT-Rollen steht deshalb nur eine Untergrenze.

Ein sehr gutes, praxisorientiertes und nachhaltiges Seminar. So sollte es immer sein. Vielen Dank.
LimeSurvey - Anwendertraining Teil 1 (Grundlagen)
Ein sehr guter und verständlicher Überblick über die Grundlagen im Umgang mit BricsCAD.
BricsCAD 2D Schulung Grundkurs
Alle meine Erwartungen wurden erfüllt und ich habe mich sehr gut aufgenommen gefühlt, jede Frage wurden Probleme direkt beseitigt.
BricsCAD 3D Schulung - Grundlagen

Häufige Fragen

Soll ich .NET Framework oder die neue .NET-Linie lernen?
Lern die aktuelle Linie, weil dort entwickelt wird und alles Neue darauf aufsetzt. Rechne aber damit, dass deine ersten Aufgaben im Job in einer älteren Anwendung liegen. Der Unterschied betrifft weniger die Sprache als die Bibliotheken, die Oberflächentechnik und die Frage, ob eine Anwendung nur unter Windows läuft.
WPF oder Web, was ist die bessere Entscheidung?
Das entscheidet der Arbeitsmarkt in deiner Umgebung. Klassische Windows-Oberflächen sind in Industrie und Verwaltung weiterhin verbreitet, gerade dort, wo Anwendungen ohne Browser an Maschinen oder Arbeitsplätzen laufen. Web-Backends sind breiter gefragt und lassen sich leichter in andere Sprachwelten übertragen. Wer beides einmal gebaut hat, kann im Gespräch begründen, warum er sich so entschieden hat.
Wie wichtig sind Microsoft-Zertifikate?
Für die Sprache selbst gibt es keine aktuelle Zertifizierung mehr, die verbliebenen Nachweise sind rollenbezogen und drehen sich um die Cloud. Sinnvoll sind sie, wenn dein Arbeitgeber in diese Richtung geht oder ein Partnerstatus daran hängt. Für die Bewerbung als Entwickler zählt ein Projekt mit sauberem Schnitt deutlich mehr.
Ist C# an Windows gebunden?
Nicht mehr. Die aktuelle .NET-Linie läuft auf Linux und macOS, und viele Dienste werden auf Linux-Servern betrieben. Gebunden sind bestimmte Bibliotheken und die klassischen Oberflächentechniken für den Windows-Arbeitsplatz. Genau diese Unterscheidung ist der Grund, warum manche Anwendungen leicht umzuziehen sind und andere gar nicht.

Passt thematisch dazu

Weil dieses Muster in .NET fest eingebaut ist, lohnt sich vorab die Erklärung, wie Abhängigkeiten von außen hineingegeben werden .

Wenn eine Fachanwendung langsam wird, liegt die Ursache meist in der Datenbank, und dann hilft es zu wissen, wie du einen Ausführungsplan liest .

Persönlich für dich da

Deine Ansprechpartner

Du bist dir nicht sicher, welcher Kurs oder welches Level zu dir passt? Wir beraten dich persönlich und kostenlos.

Yves Hoppe

Yves Hoppe

Weiterbildung & Beratung

Hilft dir, aus dem IT-Berufe-Programm den passenden Kurs für deinen Stand zu finden.

Norbert Jansen

Norbert Jansen

Beratung & Inhouse

Plant mit dir Inhouse-Trainings, die auf eure Abläufe und euren Datenbestand zugeschnitten sind.

Sprache, Entwurf und Zielbild in der richtigen Reihenfolge

Bei cmt gehst du von den Sprachgrundlagen über den objektorientierten Entwurf bis zur Oberfläche oder zum Web-Backend und arbeitest dabei an Beispielen, die einer Fachanwendung ähneln.