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
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
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
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
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
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
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
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
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
- 01 Die Sprache mit Schnittstellen, Generika und LINQ beherrschen.
- 02 Objektorientiert entwerfen statt Klassen wachsen zu lassen.
- 03 Daten anbinden und Änderungen über Migrationen führen.
- 04 Ein Zielbild wählen: Windows-Oberfläche oder Web-Backend.
- 05 Testbar bauen und den Code lesbar halten.
- 06 Den Bestand einordnen und Umstellungen realistisch bewerten.
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.
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 MonatStatistisches Bundesamt, Verdiensterhebung. Vollzeit, ohne Sonderzahlungen. Die Hälfte der Beschäftigten verdient weniger als der Median, die andere Hälfte mehr.
KldB 43413, Durchschnitt 6.238 €, gerundet rund 72.000 € im Jahr ohne Sonderzahlungen
- 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.
Wo du genau das übst
Ein sehr gutes, praxisorientiertes und nachhaltiges Seminar. So sollte es immer sein. Vielen Dank.
Ein sehr guter und verständlicher Überblick über die Grundlagen im Umgang mit BricsCAD.
Alle meine Erwartungen wurden erfüllt und ich habe mich sehr gut aufgenommen gefühlt, jede Frage wurden Probleme direkt beseitigt.
Häufige Fragen
Soll ich .NET Framework oder die neue .NET-Linie lernen?
WPF oder Web, was ist die bessere Entscheidung?
Wie wichtig sind Microsoft-Zertifikate?
Ist C# an Windows gebunden?
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 .
Deine Ansprechpartner
Du bist dir nicht sicher, welcher Kurs oder welches Level zu dir passt? Wir beraten dich persönlich und kostenlos.
Yves Hoppe
Weiterbildung & Beratung
Hilft dir, aus dem IT-Berufe-Programm den passenden Kurs für deinen Stand zu finden.
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.
Passt dazu
- Quereinstieg in die Softwareentwicklung: was du wirklich können musst
- Game Developer werden: die Engine ist der Anfang, nicht das Ziel
- Softwarearchitekt: du triffst Entscheidungen, die man später schwer zurücknimmt
- Low-Code-Entwickler: schnell gebaut ist noch nicht verantwortet