Ein Junior, der mit Python arbeitet, und ich, der mit .Net arbeitet, haben uns unterhalten,
und dabei kam im Zusammenhang mit der Jobsuche folgende Frage auf:
Zwischen einem Junior, der mit Sprachen wie Rust oder Elixir arbeitet, die hierzulande eher selten zu sehen sind,
und einem Junior, der mit Sprachen wie Java oder JS arbeitet, die hierzulande viel häufiger vorkommen,
wer hat wohl die besseren Chancen? Darüber haben wir uns unter Junioren ausgetauscht.
Natürlich war unser Wissen begrenzt, und wir kamen nur zu dem Schluss, dass es am wichtigsten ist, die eigenen Fähigkeiten zuerst über CS-Grundlagen und Coding-Tests zu zeigen,
und dass danach vermutlich das jeweilige Unternehmen entscheidet.
Wie seht ihr das als Erfahrenere?
20 Kommentare
Ich komme mit dem Kommentar wohl ziemlich spät, aber die einfache Aussage „Sprache ist nur ein Werkzeug~~~“ wirkt auf mich etwas unrealistisch. Zumindest ein Junior, der Rust gut beherrscht??? – also eine Sprache mit einer hohen Lernkurve und entsprechend hoher Einstiegshürde – wird andere Sprachen wie .net oder python doch locker handhaben. Ich denke, dass es bei den grundlegenden Fähigkeiten einen ziemlich deutlichen Niveauunterschied gibt. Meiner Erfahrung nach hatten Leute, die nicht mit c/c++ sondern mit python in den Entwicklerarbeitsmarkt eingestiegen sind, sowohl bei grundlegendem c/s- und Algorithmuswissen als auch beim praktischen Arbeitsvermögen oft spürbare Defizite. Natürlich entsteht ein Synergieeffekt nur dann, wenn dazu noch Domänenwissen im jeweiligen Fachgebiet kommt). Mit anderen Worten: In der Realität zeigen sich schon an der Startlinie klare Unterschiede im Können, und es geht eben nicht einfach nur um die Wahl der Sprache.
Auch wenn das vielleicht nicht der Kernpunkt dieser Frage ist: Wenn ich manchmal höre: "Sprache ist nur ein Werkzeug, es ist egal, welche man wählt", finde ich das etwas schade. Jede Sprache verfolgt andere Werte und wurde mit einer anderen Absicht geschaffen, und dann wirkt es, als würde all das unter dem Motto zusammengefasst: "Beide können letztlich dies und das gleichermaßen machen."
Der Behauptung, dass Sprache nur ein Mittel zum Zweck sei, kann ich zustimmen, wenn sie auf Einführungsphasen wie das Erlernen von Kontrollstrukturen, Datenstrukturen und Algorithmen beschränkt ist. Nach der Einführungsphase halte ich es jedoch für richtig, Details wie die Trägheit der Branche, Standardbibliotheken, Third-Party-Bibliotheken, Ausführungsmodell, Bereitstellungsweise, Zugänglichkeit und Qualität von Referenzmaterialien sowie die Zahl der Nutzer zu berücksichtigen. So ist es zum Beispiel die sicherste Wahl, für Machine-Learning-Zwecke Python zu wählen, selbst wenn die Ausdruckskraft universeller Sprachen noch so gleichwertig ist.
Liegt es daran, dass ich noch Junior bin? Vielleicht habe ich es nur so wahrgenommen, weil ich nur den Einstiegskurs gesehen habe.
Vielen Dank für die guten HinweiseT_T
Ich stimme zu, haha
Der in unserer Branche hierzulande gängige Tech-Stack ist von Vorteil. Es gibt einen Unterschied zwischen dem, was man sich im Selbststudium beibringen kann, und dem, was man im Unternehmen lernen kann. Letzteres ist vermutlich zumindest etwas weniger einsam.
Ich bin ein Junior-Entwickler, der mit Java angefangen hat und dann dem Reiz von .NET verfallen ist T_T
Technisch betrachtet setzt sich am Markt nicht unbedingt die ausgereiftere oder produktivere Technologie durch. In meinem Fall gab es vor etwa zehn Jahren nur ein einziges größeres Unternehmen, das Python Django nutzte, daher habe ich den Gedanken an eine Stelle dort stillschweigend aufgegeben und stattdessen PHP und Spring gelernt. Es ist auch ein bisschen schade, dass kein heutiges Framework an die Produktivität von Django heranzukommen scheint.
Aha … dann muss ich wohl noch einmal darüber nachdenken.
Ehrlich gesagt reicht es, eine Sprache richtig zu beherrschen, dann kann man sich an andere Sprachen leicht anpassen.
Außer natürlich in Situationen, in denen man von einer objektorientierten Sprache zu einer funktionalen Sprache wechselt.
Ich würde wohl die Stellenausschreibungen der Unternehmen anschauen, zu denen ich gerne gehen würde.
Die Sprache ist vielleicht gar nicht so wichtig … Wichtiger sind womöglich das Verständnis der Umgebung und der souveräne Umgang damit oder ein robustes Design … Man sollte sich vielleicht zum Ziel setzen, gut konzipierte Open-Source-Projekte in der Zielsprache zu studieren oder dazu beizutragen …
Open Source ansehen und dabei lernen! Das werde ich mir merken.
Zumindest hierzulande gibt es viele Unternehmen, die mit Java arbeiten, was auch bei der Jobsuche von Vorteil ist.
Wenn man Java als Hauptsprache nimmt und daneben weitere Sprachen lernt, ist das zumindest aus Sicht der Jobsuche vorteilhaft.
Unabhängig von den tatsächlichen Fähigkeiten ist die Wahrscheinlichkeit hoch, schon bei den Bewerbungsunterlagen auszuscheiden, wenn relevante Erfahrung fehlt T_T
Genau. Egal, wie gut man andere Sprachen beherrscht: Wenn in einem Unternehmen hauptsächlich Java verwendet wird, braucht man dort Mitarbeitende, die sofort in Java beitragen können.
Selbst wenn ich mir CS und die Dokumentation noch so sehr einpauke,
wird man schon bei den Unterlagen aussortiert, wenn der Lebenslauf nicht zum Unternehmen passt.
Leider spreche ich da aus Erfahrung.
Im Unternehmen arbeite ich mit Java-Frameworks oder Web-Lösungen wie WebSquare, aber als Hobbyentwickler nutze ich Node oder Rust.
Wenn man nur die Arbeit im Unternehmen macht, halte ich es für richtig, sich am Unternehmen zu orientieren. Wenn man aber Entwicklung betreiben möchte, die einen selbst interessiert, wird man sich wohl auch in der knappen Freizeit die gewünschte Sprache aneignen.
Ich denke, dass sich Sprachen oder Frameworks jederzeit ändern können, deshalb sind CS-Kenntnisse oder Architekturwissen wichtig. Ich finde, die Sprache selbst ist nicht das Entscheidende.
Dann muss ich wohl wieder meine Fachbücher aufschlagen.
Ich habe eine Benachrichtigung bekommen und nachgesehen; offenbar haben die Leute weiter oben darüber gesprochen, ob eine Sprache nur ein einfaches Werkzeug ist, haha.
Ich denke nicht, dass eine Sprache ein „bloßes“ Werkzeug ist, aber ich denke schon, dass sie ein Werkzeug ist.
Jede Sprache hat ihre eigene Philosophie und ihre eigenen Designprinzipien, deshalb sollte man die Sprache wählen, die zu dem Problem passt, das man verstehen und lösen muss (oder zu dem Produkt, das man bereitstellen soll).
Letztlich findet man durch Erfahrung oder Lernen heraus, wie man die passende Sprache auswählt. Aus dieser Perspektive betrachte ich Sprachen als Werkzeuge, und deshalb meinte ich, dass Architektur oder CS-Wissen wichtiger sind.
Als ich mir den Kommentar angesehen habe, den ich vor zwei Wochen geschrieben hatte, dachte ich, dass der Satz am Ende — „Ich denke nicht, dass die Sprache wichtig ist.“ — etwas überheblich klang, deshalb hinterlasse ich hier noch diesen ergänzenden Kommentar, haha.