Gute/sehr gute C++ Kenntnisse
-
Entschuldige, falls es sich so liest, als ob ich ein Urteil gefällt hätte. Das war nicht meine Absicht. Insbesondere mache ich nirgends einen Schluss von "kennt mutable nicht" zu "frickelt nur".
PS: Ein bisschen komisch ist es aber schon, sich über die Jahre nie gefragt zu haben, wozu die ganzen komischen Schlüsselwörter da sind, oder nicht?
-
Mein Senf noch zu der Ausgangsfrage:
Ungeachtet was hier einige als "gut" oder "sehr gut" ansehen, die Realität sieht anders aus. Ich bin hier mit Sicherheit nicht der absolute C++ Guru, aber fast in jeder Firma wurden mir sehr gute C++ Kenntnisse nachgesagt. Ich galt einfach im Verhältnis zu den Anderen in den Firmen tendenziell als C++ Guru.
Und genau das ist das Problem: Jeder kann hier raten was die Gegenseite als gut / sehr gut ansieht, von der Praxis dürfte sich dies meistens weit entfernen.
In meiner jetzigen Firma würde ich auch ohne jegliche Kenntnisse der C++ Bibliothek durchaus als guter C++ Entwickler gelten können, erst ich habe Diese und boost in das Projekt integriert. Dennoch war als eine Anforderung gute C++ Kenntnisse genannt.
Ich glaube auch nicht das der Standard, und teilweise noch nicht einmal die Sprache jenseits absoluter Grundlagen den Ausschlag geben, sondern ob man ein Problem in dieser Sprache sinnvoll abbilden kann. Für die wenigsten Projektleiter ist dabei entscheidend ob man sich nun an vielen oder wenigen Konstrukten aus einer Bibliothek bedient hat, wichtiger ist das es läuft und nach Möglichkeit noch wartbar ist.
-
asc schrieb:
Ungeachtet was hier einige als "gut" oder "sehr gut" ansehen, die Realität sieht anders aus. Ich bin hier mit Sicherheit nicht der absolute C++ Guru, aber fast in jeder Firma wurden mir sehr gute C++ Kenntnisse nachgesagt. Ich galt einfach im Verhältnis zu den Anderen in den Firmen tendenziell als C++ Guru.
Ist das auch deine eigene Wahrnehmung relativ zu dem Durchschnittsniveau in der Firma? Wie würdest du das Niveau der anderen Kollegen beschreiben?
-
Bashar schrieb:
Ist das auch deine eigene Wahrnehmung relativ zu dem Durchschnittsniveau in der Firma? Wie würdest du das Niveau der anderen Kollegen beschreiben?
Das ist eine Kombination aus dem was Vorgesetzte gesagt haben, und was man in Projekten erlebt hat (C mit Klassen und diversen Antipattern zähle ich jedenfalls als wesentlich schlechter). Und wenn einem zudem noch Kommentare von Chefseite gegen werden (der selbst Programmier und C++ Erfahrung hat) wie: "wenn ich noch jemanden wie dich finde, stelle ich ihn sofort ein" (fast O-Ton)... Dann darf man wohl so etwas durchaus sagen.
Fakt ist aber auch, das ich die C++ Kenntnisse von einigen in diesem Forum höher ansehe. Nur hatte ich noch keinen in meinen Projekten der in die Nähe davon kam. Zudem hatte ich während meiner bisherigen Berufslaufbahn auch kaum jemand der sich permanent versucht weiterzubilden (was ich wiederum tue).
Daher: gut und sehr gut muss nicht viel heißen, es kommt immer auf die konkrete Umgebung an. In anderen Firmen wäre ich wohl eher Durschnitt (wenn auch mit Projekterfahrung, was auch etwas bringt).
-
asc_ausgeloggt schrieb:
Bashar schrieb:
Ist das auch deine eigene Wahrnehmung relativ zu dem Durchschnittsniveau in der Firma? Wie würdest du das Niveau der anderen Kollegen beschreiben?
...
Fakt ist aber auch, das ich die C++ Kenntnisse von einigen in diesem Forum höher ansehe. Nur hatte ich noch keinen in meinen Projekten der in die Nähe davon kam. Zudem hatte ich während meiner bisherigen Berufslaufbahn auch kaum jemand der sich permanent versucht weiterzubilden (was ich wiederum tue).
Daher: gut und sehr gut muss nicht viel heißen, es kommt immer auf die konkrete Umgebung an. In anderen Firmen wäre ich wohl eher Durschnitt (wenn auch mit Projekterfahrung, was auch etwas bringt).
Mir gehts allgemein ähnlich wie dir, allerdings habe ich mir noch kein Urteil gebildet, ob es in anderen Firmen besser aussieht was das Durchschnittsniveau angeht. Klar sieht man im Netz, nicht zuletzt hier im Forum, alle Nase lang Leute, die besser C++ können als man selber, aber das liegt wohl eher daran, dass die Leute, für die es nur Handwerk ist, das man irgendwie über die Bühne bringen muss, sich nicht online tummeln. Ich wage zu behaupten, dass unsereiner, der sich hier im Forum eher als Mittelmaß wahrnimmt, in jeder Firma zu den Top5 gehören würde, was C++-Kenntnisse angeht. Die paar ganz großen Firmen wo sich die Gurus sammeln vielleicht mal ausgeschlossen.
-
pumuckl schrieb:
Mir gehts allgemein ähnlich wie dir, allerdings habe ich mir noch kein Urteil gebildet, ob es in anderen Firmen besser aussieht was das Durchschnittsniveau angeht...
Ich kenne ein, zwei Firmen bei denen wirklich eher Gurus zu finden sind - aber nach meiner bisherigen Erfahrung würde ich das unter Ausnahme abtun. Ebenso wächst die Wahrscheinlichkeit natürlich auch mit der Firmengröße, ich war bislang bei Kleineren (mit einer Ausnahme zwischen 3-30 Angestellten) angestellt.
pumuckl schrieb:
Ich wage zu behaupten, dass unsereiner, der sich hier im Forum eher als Mittelmaß wahrnimmt, in jeder Firma zu den Top5 gehören würde, was C++-Kenntnisse angeht. Die paar ganz großen Firmen wo sich die Gurus sammeln vielleicht mal ausgeschlossen.
Sehe ich inzwischen ähnlich.
Das allerschlimmste ist natürlich wenn die Stellenausschreibung von der Tatsächlichen Arbeit dann noch extrem divergiert. In meiner letzten Firma waren alle Punkte aus der Ausschreibung eigentlich kompletter Blödsinn - tatsächlich wären sie mit einem C/WinAPI-Programmierer wohl besser gefahren als mit jemanden der u.a. C++/UML/XML... Kenntnisse mitgebracht hat.
Der Chefentwickler hatte alles Neue geblockt, und neu war für ihn fast alles das nicht mindestens seit 10 Jahren veraltet war. Die Hauptsächlich eingesetzte Entwicklungsumgebung war auch noch Prä-C++ Standard (noch weniger am Standard als Visual C++ 6), und war als Produktlinie schon als ich damals begonnen hatte ca. 8 Jahre lang eingestellt.
Daher kann ich inzwischen viele Stellenausschreibungen nicht mehr ernst nehmen, und Frage möglichst vor Vorstellungsgesprächen die ein oder anderen Informationen ab...
-
asc schrieb:
Das allerschlimmste ist natürlich wenn die Stellenausschreibung von der Tatsächlichen Arbeit dann noch extrem divergiert. In meiner letzten Firma waren alle Punkte aus der Ausschreibung eigentlich kompletter Blödsinn - tatsächlich wären sie mit einem C/WinAPI-Programmierer wohl besser gefahren als mit jemanden der u.a. C++/UML/XML... Kenntnisse mitgebracht hat.
Es wirkt manchmal auf mich, als würden die Stellenanzeigen nur abgeschrieben. Wie im Supermarkt. Wir brauchen C/WinAPI, aber das kann der Kollege Mayer schon, da könnten wir doch eine SQL-Verzierung dazu nehmen. Und was C++...
Als wäre der Stellenmarkt ein Supermarkt, wo man die Fähigkeiten in den Einkaufswagen legt und dann zur Kasse geht.
Mit dem Prinzip verdienen sich Headhunter eine goldene Nase.asc schrieb:
Der Chefentwickler hatte alles Neue geblockt, und neu war für ihn fast alles das nicht mindestens seit 10 Jahren veraltet war. Die Hauptsächlich eingesetzte Entwicklungsumgebung war auch noch Prä-C++ Standard (noch weniger am Standard als Visual C++ 6), und war als Produktlinie schon als ich damals begonnen hatte ca. 8 Jahre lang eingestellt.
Ich habe dieses Jahr noch Visau C++ 6 in den Fingern gehabt. Seit Jahren sollte es abgelöst werden. Handlungsbedarf bestand jetzt, weil es sich auf den Windows 7 Rechnern nicht mehr installieren ließ und XP-Rechner (Pentium4) einfach nicht mehr zu vertreten waren.
asc schrieb:
Daher kann ich inzwischen viele Stellenausschreibungen nicht mehr ernst nehmen, und Frage möglichst vor Vorstellungsgesprächen die ein oder anderen Informationen ab...
Man kann sich auch durchaus bei interessanten Firmen bewerben, ohne auf eine Stellenanzeige einzugehen. Man braucht ja nur zu schreiben, was man drauf hat und dass man interessiert wäre, die Firma kennen zu lernen. Man kann ja auch auf offene Stellen eingehen und sich quasi als Know-How-Mix anbieten, der flexibel einsetzbar ist. Solche Leute sind sehr praktisch, wenn mal einer in Urlaub fährt und das Telefon im Support klingelt. ^^
Man muss nur seine Fähigkeiten richtig "bewerben" können, dann ist die Ausschreibung zweitrangig.
-
Xin schrieb:
Man kann sich auch durchaus bei interessanten Firmen bewerben, ohne auf eine Stellenanzeige einzugehen.
Ist bei mir auch die Regel. In dem einen Fall musste ich mich aber explizit bewerben (Arbeitslos dank .com-Blase, und habe zudem in einer strukturarmen Region gewohnt) - ich hatte meine Fühler aber weit über die Arbeitsamtsvorschläge ausgestreckt gehabt, nur war dies halt eine "erzwungene".
Zum Glück war dies aber auch meine einzige nennenswerte Arbeitslosigkeit (Alles unterhalb von 2 Monaten sehe ich als nicht nennenswert an), und ich bekomme trotz expliziter Angabe das ich aktuell nichts suche* noch regelmäßig Angebote über xing & Co.
* Ich fühle mich Firmen gegenüber auch zumindest etwas verpflichtet, gerade auch wenn ich einen Technologiewechsel initiiert habe, und diesen nun durchziehe.
Xin schrieb:
Man muss nur seine Fähigkeiten richtig "bewerben" können, dann ist die Ausschreibung zweitrangig.
Initiativbewerbungen sehe ich ohnehin als erfolgversprechender an.
-
Xin schrieb:
Ich finde, an Const-Correctness ist ein wunderbarer Indikator.
Ja, Const-Correctness ist in C++ aber auch ein sehr fundamentales Konzept, kein randläufiges Detail des Sprachumfangs.
Ein Kollege meinte auch, dass er natürlich wusste was mutable bedeutet, aber nicht, was public Inheritance ist. Natürlich hat er sehr gute C++ Kenntnisse
-
Ich denke, man dar das alles nicht so eng sehen.
Klar, hier im Forum achtet jeder drauf, möglichst schönen "modern C++" Code zu posten. In der Freizeit habe ich auch Spaß daran, möglichst viel aus C++ und den aktuellen Compilern herauszukitzeln.In der Berufs - Praxis ist ein guter Programmierer für mich aber nicht jemand, der unbedingt wissen muss wofür mutable steht, und auch nicht auswendig irgendwelche Algorithmen weiß. Ein Programmierer mit pragmatischen Ansatz ist oft besser als jemand, der möglichst alle C++ Features voll ausschöpft, bei dessen Code danach aber keiner mehr durchblickt.
Man kann gewisse Dinge halbwegs kompakt in ein paar Funktionen schreiben, man kann aber auch zig Klassen erstellen die das ganze sehr elegant lösen. Ein simpler Parser wäre da ein gutes Beispiel. Die Betonung liegt auf simpel.
Tja ... in der Arbeit ist mir dann doch der pragmatische, kurze Ansatz lieber.
Bereits in 2 Firmen, in denen ich gearbeitet habe, wurden Programmierer gekündigt, weil sie die Dinge viel zu abstrakt gelöst haben. 1000 Abstraktionsebenen sind nicht immer sinnvoll.In der Arbeitswelt ist man meist mit ganz anderen Problemen als mit C++ selbst konfrontiert. Riesige Codebasis, schlecht kommentiert, sowie gewisse Vorgaben durch den bereits vorhandenen Quellcode. Und habe ich schon erwähnt, dass man oft zu unsagbar abscheulichen Compilern kompatibel bleiben muss, die einem bei manchen Dingen von vornherein einen Strich durch die Rechnung macht? Gerade wenns um Templates geht, worauf aber viele moderne Konzepte basieren.
Außerdem ist C++ im Berufsalltag als Werkzeug zu sehen, wohingegen C++ hier in Forum oft ein Selbstzweck ist.
Außerdem kommt noch der fachliche Teil hinzu. Wenn ich in einer Firma arbeite, die embedded Software erstellt, sind Hardware Kenntnisse nötig. Wenn ich eine physikalische Simulationen programmiere, so sind Physik und Mathe Kenntnisse nötig. C++ ist da dann zweitrangig, denn in erster Linie geht es darum, fachliche Problemstellungen mit Hilfe eines Computers zu lösen.Ich mag C++, und programmiere gern mit der Sprache, aber tut euch selbst einen Gefallen und vergöttert die Sprache nicht. Wer weiß, vielleicht müsst ihr im Job dann auf einmal C, C# oder Java programmieren, und ich weiß nicht ob euch die Kenntnis von mutable da weiterbringt