Ich habe das Gefühl, dass das oft gesehene C / C ++ meine Fähigkeiten in meinem Lebenslauf nicht wirklich beschreibt. Daher plane ich, es in fortgeschrittene C ++ - Kenntnisse und mittelmäßige C-Kenntnisse zu unterteilen.
Denken Sie, dass dies für den Leser verwirrend ist? Sie könnte denken: "C ist eine Teilmenge von C ++, also, was versucht dieser Typ, mich anzurufen?" Nun, ich versuche zu sagen: Ich habe mehrere C ++ - Projekte in der realen Welt gemacht, während reine C-Projekte nur ein Hobby waren. Stimmen Sie zu, dass ein erfahrener C ++ - Programmierer nicht unbedingt ein qualifizierter C-Typ ist, oder denken Sie, dass dieser Wechsel einfach ist?
Antworten:
Sie haben so viele Fragen in einer gestellt; Lass mich versuchen zu antworten, während ich sie trenne. Ich stelle viele Leute ein, die in diesen Profiltyp fallen, und oft muss ich so viele Interviews führen und Leute ablehnen, weil sie oft keine eindeutige Antwort auf die von Ihnen gestellten Fragen haben.
Ist eine gute Beherrschung von C oder C ++ ausreichend, um Sie für das andere Programm zu qualifizieren?
Wenn Sie auf einem höheren Niveau sind, ist das eigentlich NEIN. Das heißt, wenn Sie 6 Jahre lang C ++ - Programmierung für einige zentrale Unternehmensanwendungen durchgeführt haben und jetzt versuchen, Sie in eingebettete Systeme zu integrieren, die alle in C enthalten sind - wahrscheinlich ist Ihre Programmiersyntax und das Debuggen von Inhalten kein Problem. Aber wenn Sie über ein Problem nachdenken müssen, sind Sie mit Sicherheit sehr unordentlich. Dies gilt von einer Seite zur anderen. Je mehr Jahre Sie nur einen Sprachtyp verbracht haben, desto weniger einfach ist es, ihn in eine andere Form umzuwandeln! Es geht nicht darum, ob Sie die Syntax der Sprache lernen können, sondern Sie denken tatsächlich anders, wenn Sie in C, C ++, Java, Perl und Python sind. Um die Frage zu stellen - am häufigsten - können C ++ - und Java-Typen synonym verwendet werden, ebenso wie Perl, PHP und Phython. C ist eine ganz andere Rasse!
Wenn Sie ein relativ junger Mann sind, besteht die Chance, dass Sie schnell aufholen können.
Bedeutet das, dass ich über höhere Fähigkeiten verfüge, wenn ich C ++ und nicht C kenne
? Nein, denn wenn Sie in der Lage sind, ein vollständiges Produkt aus C zu erstellen, ist dies in der Regel eine viel schwierigere Aufgabe als in C ++. Die Anzahl der Personen, die die Fehlerbehebung bei gemeinsam genutzten Speichersystemen beherrschen, ist viel geringer als die Anzahl der Personen, die mit VC ++ oder einem ähnlichen Framework ein anständiges GUI-Programm schreiben können.
Bedeutet dies, dass das Wissen um C (oder die niedrigste Programmierstufe) die höchste Leistungsstufe ist?
Nein schon wieder! Dies ist kein Widerspruch. Diesmal hängt es von der Domain ab, die Sie vergleichen. Wenn Sie sich mit der Systemprogrammierung innerhalb des Linux-Kernels befassen oder etwas sehr hardwarenahes, ist die Programmierfähigkeit in C relevanter. Wenn Sie jedoch Bankensoftware oder einige Geschäftsregel-Engines schreiben, ist C ++ in der Regel eine natürliche Wahl. Der Punkt ist, dass Ihre wahre Stärke nicht in der Syntax der Sprache liegt, sondern in der Art und Weise, wie Sie eine Klasse von Problemen lösen, und Sie können nur hoffen, einige Kategorien / Bereiche in Ihrem Leben zu meistern. Wenn Sie etwas in Ihren Lebenslauf aufnehmen - das ist es, was wirklich zählt.
Bedeutet das, dass ich, wenn ich nur in C war, keine objektorientierte Programmierung kenne?
Keineswegs. In der Tat ist mein Lackmustest im Interview, um zu wissen, ob der Typ aus C-Hintergrund oder C ++ stammt, eine sehr einfache Frage: "Können Sie also objektorientiertes Programmieren in C durchführen?" - Der Typ springt und sagt - "Auf jeden Fall NEIN!" er / sie ist C ++ Fellow. Der Punkt ist, wenn Sie wirklich sehr komplexen Code wie Multimedia-Code, ein Multithread-System, einen Protokollschichtstapel schreiben, denken Sie immer noch wie Objektcode - der C-Compiler bestraft Sie nicht, wenn Sie schlecht darin sind, zwei Routinen zu kapseln oder Objekte - aber wenn das System skaliert, das Sie immer wieder begeistert - ich glaube manchmal -, gibt es viele, die in der Ära der Objektorientierung geboren wurden. Oft sind sie ziemlich schwach darin, wie genau die Kapselung in einem Code, der so ziemlich verletzt wird, wirklich verletzt wird gefüllt mit Klassen und Objekten. Sorry, ich schweifte ab. Der springende Punkt ist jedoch, dass es mehr auf Ihre Fähigkeiten zur Problemanalyse und zum Entwerfen ankommt als nur auf Ihre Programmierkenntnisse.
Bedeutet das, dass ich fachspezifische Belichtungs- und Designfähigkeiten gezielt einsetzen sollte?
Definitiv Ja!
quelle
Für die Menschen, die wirklich wichtig sind , sollte es sie nicht verwirren.
Jeder, der sich mit C- und C ++ -Programmierung auskennt, weiß, dass die Produktionsprogrammierung trotz ihrer Ähnlichkeiten und ihrer Geschichte häufig ein völlig anderes Tier ist.
quelle
Persönlich finde ich es sehr ärgerlich, wenn Leute "C / C ++" schreiben, weil C und C ++ sehr unterschiedliche Sprachen sind. Wenn ich dagegen "C, C ++" oder "C ++ und C" in einem Lebenslauf sehe, beeindruckt es mich ohne Ende. Leider schreibt fast jeder "C / C ++" und es bedeutet normalerweise "Ich kenne C ++, aber ich kann C tun, wenn ich muss."
Außerdem wäre ich im Lebenslauf nicht so spezifisch. Listen Sie einfach die Programmiersprachen auf, die Sie kennen, möglicherweise in der Reihenfolge von den kompetentesten bis zu den am wenigsten kompetenten. Das sollte Sie hinter den HR-Modewort-Filter bringen, und dann können Sie während eines technischen Interviews erklären, wo Ihre Stärken und Schwächen liegen.
quelle
C/C++
undJava/Javascript
als ob sie gleich wären, immer noch zu zwei sehr unterschiedlichen Ligen.Nein, es sollte nicht verwirrend sein, da C und C ++ sich in Bezug auf Paradigma und Verwendung unterscheiden, obwohl sie ähnlich sind und ähnliche Wurzeln haben. Es sollte also getrennt werden, auch das Fachwissen sollte getrennt werden. Außerdem denke ich, dass Sie spezifischere Fachkenntnisse (wie GUI / FLTK oder andere Bibliotheken, mit denen Sie vertraut sind) mit den beiden getrennt erwähnen können.
quelle
Ich mochte Ihre Formulierung: "Ich habe mehrere C ++ - Projekte in der realen Welt gemacht, während reine C-Projekte nur ein Hobby waren."
Also habe ich es einfach in den CV-Jargon geschrieben:
Es ist besser, wenn Sie Zahlen anstelle von "mehreren" und "wenigen" eingeben. Keine Notwendigkeit, genau zu sein, "über zwanzig" ist eine Zahl für diesen Zweck.
Die Beschreibung der "Fähigkeitsstufe" ist korrekt , aber die Beschreibung der "Erfahrung" ist korrekt und klar.
quelle
Ich bin damit einverstanden, dass C und C ++ verschiedene Sprachen sind und im Lebenslauf getrennt aufbewahrt werden sollten. Obwohl C (fast) eine Teilmenge von C ++ ist, habe ich normalerweise einen ganz anderen Programmierstil, wenn ich C verwende: Ich gestalte anders, ich codiere anders und so weiter. Ich würde sogar bestimmte C-Funktionen wie #includes aus C ++ entfernen und damit die Abwärtskompatibilität aufheben: Es handelt sich einfach um verschiedene Sprachen.
Mein Rat ist daher, die beiden Sprachen in Ihrem Lebenslauf getrennt zu halten.
quelle
Wenn die Person, die Sie evaluiert, die Neigung hat zu denken, "C ist eine Teilmenge von C ++", ist sie bereits verwirrt, und ich bin sicher, dass Ihre Erklärung dessen, was in Ihrem Lebenslauf steht, ausreicht, um sie zu beeindrucken.
quelle