Ist C# geeignet für die Berufswahl oder nicht?
Veröffentlicht am
Wenn Sie gerade erst anfangen oder ein erfahrener Entwickler mit Narben und jahrelanger Erfahrung sind, haben Sie sich diese Frage mindestens einmal gestellt: Ist C# eine gute Berufswahl?
Nun, lassen Sie uns versuchen, diese Frage so objektiv wie möglich zu beantworten. Manchmal kann man C# durch das .NET-Ökosystem als Ganzes ersetzen.
Vielfalt
C# und das .NET-Framework sind eines der vielseitigsten Werkzeuge für Softwareentwickler. Man muss nicht zwischen verschiedenen Stacks hin- und herspringen, um mehr Erfahrung mit verschiedenen Plattformen zu sammeln.
Sie haben zwei großartige Frameworks für die Erstellung von Webanwendungen - ASP.NET und ASP.NET MVC. Das Tooling und die Entwicklungsgeschwindigkeit sind mit den fortschrittlichsten Frameworks anderer Sprachen vergleichbar. Der größte Konkurrent in diesem Bereich ist zweifelsohne Ruby on Rails.
Mit der Übernahme von Xamarin durch Microsoft befindet sich die mobile Entwicklung für die wichtigsten Plattformen in einem sehr fortgeschrittenen Stadium. Es ist ein großer Vorteil, eine Codebasis in einer Sprache zu pflegen und gemeinsame Bibliotheken für die Plattformen Android und iOS zu haben. Mit C# können Sie all das tun. Andere wichtige Akteure in diesem Bereich sind React Native, das von Facebook unterstützt wird, aber einige meiner Freunde, die sich mit der Entwicklung von Mobilgeräten beschäftigen, schwören auf die native Plattform.
Microsofts Cloud-Plattform Azure wächst schnell und bietet verschiedene Tools nicht nur für Ihren Backend-API-Code und Speicher, sondern auch für Hintergrundaufgaben, maschinelles Lernen, verschiedene kognitive Dienste, Unternehmenslösungen sowie Sicherheits- und Identitätsmanagement. Es gibt eine Menge Goodies, die Ihren Entwicklern das Leben leichter machen können. Nicht zu vergessen ist, dass Sie als MSDN-Abonnent ein kostenloses Guthaben erhalten, um sie alle auszuprobieren.
Wenn Sie einen Thick Client, eine Desktop-Anwendung, benötigen, wird diese in der Regel auf Windows ausgerichtet sein. Es gibt kein besseres Framework als WPF oder die Einfachheit von WinForms, um diese Aufgabe zu bewältigen. Es gibt nicht viele Innovationen in diesem Bereich, aber diese Frameworks sind noch lange nicht tot. Sie sind das beständige Arbeitspferd, das einfach zu benutzen ist und seine Aufgabe erfüllt.
Und schließlich gibt es - etwas unerwartet - eine große Gruppe von Spieleentwicklern. Unity - eine der größten 3D-Engines - verwendet C# als Sprache der Wahl, und das Tooling in Visual Studio wird mit jeder neuen Version besser.
Mit C# können Sie eine Vielzahl von Anwendungen erstellen, ohne dass Sie neue Bibliotheken und Sprachkonstrukte lernen müssen. Sie können Webanwendungen in Lisp oder Smalltalk schreiben und Android-Anwendungen in Ruby erstellen, aber das bedeutet nicht, dass Sie das tun sollten. C# hingegen ist in jeder Kategorie eines der besten Werkzeuge für diese Aufgabe.
Technisch
C# ist eine objektorientierte, imperative Sprache - Sie sagen dem Computer, was er tun soll, und können diese Befehle in Objekte verpacken, die Ihre gewünschte Welt modellieren. Dieses Paradigma ist heutzutage das am weitesten verbreitete und daher ein gutes Mittel, um es zu beherrschen. Anwendungsmuster und objektorientierte Praktiken sind auf viele andere Plattformen und Sprachen übertragbar.
.NET Framework - Quelle: static.javatpoint.com
Aber abgesehen davon hat C# auch eine Reihe von Merkmalen funktionaler Sprachen. Sie erhalten zwar keine Tail-Recursion, aber LINQ ist ein hervorragendes Werkzeug für die Datentransformation und -filterung. Und mit C# 7.0 erhalten Sie auch Pattern Matching. Sie können also Ihre Fähigkeiten mit anderen Paradigmen erweitern, ohne Ihre Lieblingssprache zu verlassen.
Abgesehen davon ist C# statisch typisiert. Das gibt Ihnen ein erstaunliches Werkzeug, wenn Sie an größeren Projekten mit einem größeren Team arbeiten, und Sie merken, wie hilfreich es ist, wenn Sie sich in dieser Situation in einer dynamisch typisierten Sprache wie Ruby befinden.
Außerdem gibt es dynamische Funktionen in C#. Die dynamische Schlüsselwort- und Reflection-API gibt Ihnen mächtige Werkzeuge an die Hand, um schöne DSLs zu erstellen oder effektiv mit JSON-APIs zu arbeiten. Mit großer Macht kommt auch große Verantwortung, und Sie sollten sie nicht gedankenlos benutzen, aber Sie haben dieses Werkzeug in Ihrem Werkzeugkasten.
Wenn dieser Artikel Sie davon überzeugt hat, dass C# eine gute Berufswahl ist, sollten Sie den wöchentlichen Newsletter C# Digest abonnieren, um mit der .NET-Community auf dem Laufenden zu bleiben.
Erfahrung
Einer der größten Vorteile von C# ist, dass es in einem breiten Spektrum von Unternehmen eingesetzt wird. Von kleinen Startups bis hin zu riesigen Konzernen.
Jede Art von Unternehmen hat andere Herausforderungen und Probleme, so dass ich jedem Programmierer empfehle, jede Art von Unternehmen in seiner Karriere zu durchlaufen. Selbst wenn Sie denken, dass Sie nicht für ein großes Unternehmen geschaffen sind, gibt Ihnen die Arbeit in einem solchen Unternehmen einen guten Einblick in die Probleme, mit denen diese Unternehmen zu kämpfen haben.
Und am anderen Ende des Spektrums müssen Sie in einem Startup-Unternehmen nicht 80 Stunden pro Woche arbeiten, aber Sie werden eine breitere Palette von Aufgaben übernehmen müssen - Devops, technische Unterstützung und Entwicklung auf der grünen Wiese.
Mit C# ist es möglich, in verschiedene Unternehmen hineinzuschnuppern, ohne das Framework und die Sprache neu erlernen zu müssen, und Sie können sich stattdessen mehr auf den Bereich und die Teamdynamik konzentrieren.
Versuchen Sie, ein großes Unternehmen zu finden, das Ruby verwendet - das ist gar nicht so einfach.
Geld und Stabilität
Seien wir ehrlich. Wir arbeiten, weil wir unseren Lebensunterhalt verdienen müssen. Und mit C# haben Sie gute Aussichten. Große Finanzunternehmen verwenden C# als ihren bevorzugten Stack, was Gehälter am oberen Ende des Spektrums garantiert.
Als spezialisierter COBOL-Anbieter, SAP-Berater oder was auch immer gerade angesagt ist, kann man immer noch mehr Geld verdienen, aber als Softwareentwickler, der ein breites Spektrum abdecken und die Möglichkeit haben möchte, zwischen verschiedenen Unternehmen und Anwendungsarten zu wechseln, bekommt man eines der besten Angebote auf dem Markt.
Wenn Sie dann noch über solide SQL-Kenntnisse verfügen, können Sie diese Fähigkeiten für die nächsten Jahrzehnte der hypothekengestützten Entwicklung nutzen.
Abgesehen davon gibt es an den meisten Orten auf der Welt zahlreiche Beschäftigungsmöglichkeiten in C#, was Ihnen die gewünschte Stabilität und die Möglichkeit zum Wechsel bietet, falls Ihr derzeitiges Unternehmen in Schwierigkeiten gerät.
Microsoft
Früher war Microsoft dieses böse, geschlossene Unternehmen, das um jeden Preis alle Gewinne einstreichen wollte (ehrlich, zeigen Sie mir ein Unternehmen, das das nicht tut), über das sich alle Techniker lustig machten und Windows Vista nicht einmal mit einem langen Stock anfassen wollten. Aber die Zeiten ändern sich, vor allem für Entwickler.
C# und das .NET-Framework mit dem Roslyn-Compiler sind Open-Source und werden auf Github gehostet.
.NET Core läuft auf vielen anderen Plattformen als nur Windows und wir haben Visual Studio für Mac und das leichtgewichtige Visual Studio Code, das fast überall läuft.
Hinter der Sprache C# steht ein großartiges Team, das die Innovation vorantreibt, und die Abteilung Cloud und Enterprise unter Scott Guthrie floriert. Eine klare Richtung hinter dem Produkt ist wichtig.
Windows hat jetzt einen Bash und läuft unter Ubuntu und es ist geplant, Fedora und SUSE hinzuzufügen.
Spannende Zeiten für C#-Entwickler!
Geld und Stabilität
Seien wir ehrlich. Wir arbeiten, weil wir unseren Lebensunterhalt verdienen müssen. Und mit C# haben Sie gute Aussichten. Große Finanzunternehmen verwenden C# als ihren bevorzugten Stack, was Gehälter am oberen Ende des Spektrums garantiert.
Als spezialisierter COBOL-Anbieter, SAP-Berater oder was auch immer gerade angesagt ist, kann man immer noch mehr Geld verdienen, aber als Softwareentwickler, der ein breites Spektrum abdecken und die Möglichkeit haben möchte, zwischen verschiedenen Unternehmen und Anwendungsarten zu wechseln, bekommt man eines der besten Angebote auf dem Markt.
Wenn Sie dann noch über solide SQL-Kenntnisse verfügen, können Sie diese Fähigkeiten für die nächsten Jahrzehnte der hypothekengestützten Entwicklung nutzen.
Abgesehen davon gibt es an den meisten Orten auf der Welt zahlreiche Beschäftigungsmöglichkeiten in C#, was Ihnen die gewünschte Stabilität und die Möglichkeit zum Wechsel bietet, falls Ihr derzeitiges Unternehmen in Schwierigkeiten gerät.
Wettbewerb
Lassen Sie uns über andere Plattformen und ihre Stärken und Schwächen sprechen.
Was ist mit Java? Java ist C# ziemlich ähnlich - alle Vorteile sind vorhanden. Sie erhalten vielleicht bessere Werkzeuge und mehr Unterstützung für einige trendige Frameworks für maschinelles Lernen und Big Data, aber Sie werden keine schönen Desktop-Clients für Windows entwickeln. Außerdem sind der Sprachstandard und die Sprachfunktionen ein wenig hinter C# zurück. Alles in allem also keine schlechte Berufswahl.
Was ist Backend - Quelle: geekflare.com
Wenn man über Ruby spricht, kann man es getrost durch Ruby on Rails ersetzen, da die große Mehrheit der Ruby-Jobs Rails-Jobs sind. Ruby hat in den letzten zehn Jahren die Welt der Web-Startups dominiert. Andere Web-Frameworks haben aufgeholt, aber es gibt viele erfolgreiche kleine bis mittlere Unternehmen, die auf Rails aufbauen und Entwicklung und Wartung benötigen. Es ist eine gute Wahl für Startups, die schnell vorankommen wollen, aber das Team nicht zu sehr vergrößern wollen. Es ist eine gute Wahl, wenn Sie an einem entfernten Ort arbeiten wollen - es gibt weit mehr Möglichkeiten als in jeder anderen Sprache. Allerdings könnte der Arbeitsmarkt in Ihrer Region begrenzt sein und Sie werden CRUD-Webanwendungen entwickeln.
Javascript ist derzeit sehr gefragt. Der Einstieg ist einfach und Sie können Backends mit Node.js, Desktop-Anwendungen mit Electron und mobile Anwendungen mit React Native schreiben. Javascript ist nicht dafür gemacht, eine große Codebasis zu pflegen, und die sich ständig ändernde Welt der Frontend-Frameworks wird schnell ermüdend. Und oft bedeutet es, das Rad noch einmal neu zu erfinden. Aber wenn Sie im Web-Stack arbeiten, müssen Sie sich sowieso damit beschäftigen. Ich würde es als sekundäre Sprache für Front-End-lastige Webanwendungen verwenden.
Welche anderen Plattformen und Sprachen würden Sie in Betracht ziehen und wie würden sie im Vergleich zu C# abschneiden?
Fazit
Zusammenfassend lässt sich sagen, dass Sie eine großartige Karriere haben werden, wenn Sie sich für C# als Sprache Ihrer Wahl entscheiden. Der größte Vorteil ist die Vielfalt der Anwendungen, an denen Sie arbeiten können, und der Unternehmen, die C# verwenden.
Es bietet Ihnen eine große Arbeitsplatzsicherheit und Gehälter, die am oberen Ende des Marktes liegen.
Schließlich ist C# eine coole Sprache, mit der es Spaß macht zu arbeiten - Sie können immer etwas Neues lernen und Visual Studio wird Ihr zuverlässiger Partner sein, der Ihnen bei großen Projekten mit IntelliSense hilft.
Wollen Sie ein besserer C#-Entwickler werden? Sehen Sie sich unsere Job-Angebote an und bleiben Sie auf dem Laufenden in der .NET-Welt.