Frage

Bei einem früheren Interview wurde mir die Frage gestellt:„Von 0 bis 10, wie bewerten Sie sich selbst als Programmierer?“

Die Beantwortung dieser Frage fiel mir sehr schwer, da mir keine Messgröße bekannt ist, mit der sich messen lässt, wie gut meine Fähigkeiten sind.Darüber hinaus wäre es hilfreich zu wissen, wie gut Sie arbeiten, um zu verstehen, was Sie verbessern müssen, um ein besserer Programmierer zu werden.

Gibt es also eine Möglichkeit herauszufinden, wie gut Sie Ihre Arbeit erledigen?

War es hilfreich?

Lösung

Rufen Sie Ihren früheren Arbeitgeber und sprechen wem auch immer geerbt alle alten Code. Sie werden Ihnen sagen, wie gut ein Programmierer Sie sind. ;)

Andere Tipps

Das ist eine schwierige Frage. Aus rein introspektiven Standpunkt, ich glaube, dass eine der besten Metrik des „guten programmership“ ist diese: Wie sehr lieben Sie Ihr Handwerk? Ich habe viele Entwickler getroffen, einige von ihnen sehr gut, aber ich habe noch nie bekannt jemand , die ein 9-5-Entwickler war und schafften es etwas besser als mittelmäßige Ergebnisse.

Natürlich, in sich gekehrt ist nicht der beste Weg, Kompetenz zu messen. Ich sollte denken, dass Ihre Kolleginnen und Programmierer der Lage sein, würden Sie eine ziemlich solide Antwort zu geben. Es gibt soziale Etikette beteiligt in einer solchen Frage formulieren, aber das Potenzial ist noch da. Nach meiner Erfahrung, mit denen Sie arbeiten, werden das beste Verständnis davon, wie gut Sie tun, nur wenn, weil sie diejenigen sind, die das Chaos aufzuräumen, wenn Sie einen Fehler machen. : -)

Schluss tidbit: Programmierung ist Problemlösung, rein und einfach. Überlegen Sie, wie Sie schwierige Probleme nähern, die den Weg kommen. Erstens: Wie reagieren Sie emotional auf eine harte Herausforderung? Und zweitens, was Ihr Code geht aussehen? Haben Sie gerade Ihren Weg blind durch den Dschungel hacken, bis Sie auf einig Art Ergebnis kommen, oder ist Ihr Ansatz methodisch, wohldosierte und (vor allem) stark erforscht? Die wirklich guten Programmierer sind nicht diejenigen, die alles wissen, oder wer kann Dijkstra-Algorithmus in acht Sprachen kalt implementieren, sind sie diejenigen, die Stunden Gießen über Text Bücher und obskuren-Blogs, dass winzigen Nugget eine Idee zu finden, die einfach so passiert, entscheidend für die Frage auf der Hand zu sein. Wenn Sie die Geduld und Leidenschaft haben Sie Ihren Weg durch eine tiefe Herausforderung zu arbeiten, sowie die Demut für Ideen anderen zu suchen, dann sind Sie auch auf Ihrem Weg zu diesem „10“.

. 10 - Sie wissen nicht, dass Sie nicht wirklich wissen, etwas

9 - Sie prahlen gerade, und Sie sind wahrscheinlich nicht so gut, wie Sie denken, Sie sind. Auch wenn Sie das wirklich gut sind, fehlt Ihnen die politischen Fähigkeiten zu sehen, was Sie eine „9“, sagt Kommissionierung. Das, oder du bist ziemlich gut bekannt / in der Branche verehrt (dh Sie ein Buch einmal geschrieben, und es hat einen Spitznamen wie „The ______ Book“ oder ein Akronym, dass die meisten Entwickler sofort erkennen würde), und keine Angst zu werfen Ihr Name um.

8 - Sie sind verdammt gut, und Sie wissen es, aber du bist intelligent genug, um das Stigma der Kommissionierung 9 oder 10 erkennen Sie besser in der Lage sein würden es wieder auf

.

7 - Sie sind sehr gut, aber Sie wissen, Sie haben eine Menge zu lernen

.

6 - Sie sind kompetent und haben viel zu lernen, aber sie sind nicht sehr zuversichtlich in Ihre Fähigkeiten. Sind Sie sicher, dass Sie nicht ein 7?

5 - Decent junior dev. Sie sind nur aus der Schule, und klug genug zu erkennen Sie wissen nicht wirklich etwas über die realen Welt-Programmierung, aber Sie wissen, wie Code hacken zusammen.

4 - Ohne Junior-Entwickler. Sie sind nur aus der Schule, aber Ihre grundlegende Programmierkenntnisse lassen zu wünschen übrig. Sie hatte eine nur schwer die meisten Ihrer Programmierung Klassen vorbei, aber aus irgendeinem Grund entschied man noch eine Karriere in der Software-Entwicklung verfolgen wollen. Sie auch nicht wirklich an sich selbst glauben, also warum sollte ein Interviewer?

3 oder unten - Wenn Sie so wenig Vertrauen in Ihre Programmierung Fähigkeit haben, warum bewerben Sie sich auf die Programmierung Jobs

?

So ist die „richtige“ Antwort wahrscheinlich 5-7 ist, je nachdem, welche Art von Arbeit, die Sie interviewen. Ein 8 genug Erfahrung hat, dass sie nicht diese Frage stellen würde.

Bei dieser Interviewfrage geht es eigentlich nicht darum, wie gut Sie als Entwickler sind.Es geht darum, wie viel Selbstbewusstsein Sie haben und wie gut Sie (gegenüber dem Interviewer) die von Ihnen vorgeschlagenen Zahlen rechtfertigen.

Der richtige Weg, diese Frage während eines Vorstellungsgesprächs zu beantworten (im Gegensatz zu einer philosophischen Antwort), besteht darin, Ihre stärksten Bereiche auszuwählen und einige gute Beweise dafür vorzulegen, dass Sie in diesen spezifischen Bereichen zu den besten X % der Entwickler gehören.

Sie könnten beispielsweise sagen, dass Sie bei der Erstellung zuverlässiger Software zu den besten Y % gehören, weil dies eine Ihrer Spezialitäten ist.Dann könnten Sie einige Beispiele nennen.Alternativ könnte man sagen, dass eine vernünftige Methode zur Beurteilung von Entwicklungsfähigkeiten darin besteht, wie viel Geld man verdient.

Was Sie nicht tun sollten, ist, die Frage wörtlich zu nehmen.Das ist normalerweise nicht das, was der Interviewer will.

Als jemand, der Interviews angehende Entwickler, ich würde sagen, überall zwischen 6-8 die sicherste Antwort auf diese Frage wäre. Ich stelle mir die durchschnittliche Antwort ist um 7. Ich denke, es ist wirklich mehr um die inkompetent zu auszusondern (0-5) oder die Unwissenden (9-10). Wenn Sie sich entscheiden 9+ zu beantworten, bereit sein, es zu beweisen.

Wenn Sie wirklich suchen ernsthaft die Frage für sich selbst zu beantworten, würde ich sagen, die Programmer Competency Matrix ist ein guter Ausgangspunkt für die Bereiche eine solche Bewertung umfassen sollte.

Ich kannte jemanden, der das Interview Frage seit Jahren verwendet. Er sagte, dass die besten Programmierer sich um einen 7. Insbesondere Menschen, um zu bewerten, die sich tendenziell bewertet 10 war in der Regel, dass Vertrauen in ihre Fähigkeiten, weil sie noch nie erfüllt ein wirklich guter Programmierer. Aber nachdem nie getroffen, die würden sie jemals eine wirkliche Fähigkeiten von gelernt haben? Es gibt natürlich Ausnahmen. Aber wenn man in die Gemeinschaft abgestimmt sind, werden Sie wahrscheinlich wissen, wer die Ausnahmen sind.

Dieses Phänomen ist übrigens nicht auf die Programmierung begrenzt. Ich habe es in einer Reihe von möglichen Dingen wahr gefunden. Menschen, die sich selbst bewerten-10 von 10 sind in der Regel nicht sehr gut. Personen, die sich X sehr gut sind, sind gut, weil sie andere Menschen gefunden zu haben, bei X gut sind, und somit selbst zu einer schwierigeren Vergleichsgruppe vergleichen werden und wird zu einem 10. habe ich gefunden, im Allgemeinen nicht selbstRate dieses wahr für Werte von X so weit entfernten Ländern wie Spieltischtennis oder Schach.

Es scheint, dass es bei jeder Programmiersprache drei Niveaus der Beherrschung gibt:

  1. Sie beheben Syntaxfehler sofort und ohne große mentale Anstrengung
  2. Sie können den Code anderer Leute lesen und ihre Absicht ausarbeiten, ohne den Code in natürliche Sprache (oder eine andere Programmiersprache) zu „übersetzen“.
  3. Sobald Sie ein Problem verstanden haben, können Sie es auf natürliche Weise in den von der Sprache bereitgestellten Konstrukten ausdrücken (Imperativ, OO, funktional ...).

Ich denke, das bringt einen auf die Skala von 1 -> 10

Es ist erwähnenswert, dass tiefe Kenntnisse einer Sprache das Erlernen einer anderen Sprache behindern können.Denn sobald Sie in Sprache „A“ denken, müssen Sie Ihr Gehirn neu vernetzen, um Sprache „B“ zu lernen.Dies gilt natürlich nur beim Übergang zu einer völlig anderen Art der Programmierung, z.C->C++, C#->F#, Java->Scala usw.Daher glaube ich nicht, dass es abstrakt möglich ist, ein „perfekter Programmierer“ zu sein.

Ihr Projekt euler Bewertung könnte eine Idee (nicht Ihre Fähigkeiten, sondern Ihre Leidenschaft über nicht aufgeben bis zum Ende) geben:

http://projecteuler.net/index.php?section=problems

Ein ganz brauchbares Konzept der „wie Sie sich von 1 bewerten würden - 10“ ist die inhärentes Problem mit Selbsteinschätzung rel="nofollow. Um die Ergebnisse der Experimente in diesem faszinierenden Papier zusammenfassen:

  1. Fast jeder bewertet sich selbst als überdurchschnittlich gut. Mindestens 50% der Menschen waren entweder unehrlich oder verblendet.
  2. Menschen, die wirklich in der oberen 25% häufig selbst nach unten drücken auf die 50-75% Bereich (das heißt, sie bewerten sich künstlich niedrig).
  3. Die Leute, die in der 50-75% Klammer sind neigten sich am genauesten zu beurteilen.

Sie können vernünftigerweise diese zusammenfassen als 50% der Selbsteinschätzungen Lügen sind und weitere 25% sind falsch. Also, Sie könnte wählen Sie das Interview Drohne zu fragen, ob sie entweder Ihre Zeit verschwenden oder Sie psychologisch Beurteilung ....

  

Darüber hinaus wissen, wie gut Sie wäre nützlich zu verstehen, durchführen, was Sie ein besserer Programmierer verbessern sein müssen.

Eigentlich wissen, was Sie verbessern müssen, ist wichtig zu verstehen, wie gut Sie durchführen. Schauen Sie sich nur die Menschen, mit denen Sie arbeiten oder die Interaktion mit und versuchen, herauszufinden, was die Dinge über sie sind, dass Sie sich besser sehen möchten. Das werden Sie langsam hilft ein besserer Programmierer werden. Wie Sie sehen, andere Teams und Quellcodes (andere Open-Source-Projekte) wachsen zu helfen, sich weiter zu verbessern.

Ich glaube, einen besseren Weg, um möglicherweise auf die Frage zu antworten, sich von Rating ist zu sagen, dass ich mich selbst bewerten in x Perzentil WRT alle anderen Leute, die ich gearbeitet habe.

Die kurze Antwort ist, können Sie sich gegen Ihre Kollegen messen. Das heißt, nimmt jemand, der nichts weiß und 0 zuweisen, nehmen Sie die besten Programmierer Sie persönlich kennen und 10 zuweisen - wie man sich im Vergleich zu diesen beiden Personen in Betracht ziehen? Nah am besten? Das wäre ein 8. Mittel sein? das wäre ein 5.

Just nicht beantworten 0 oder 10 und versuchen, objektiv zu sein. Der Punkt der Frage ist Bewertung Sie nicht als Programmierer, sondern Ihre Fähigkeiten bei Selbsteinschätzung Bewertung. Ihre Einsicht, das ist.

Es gibt nur eine Metrik, durch denen einen guten Programmierer zu messen: LOC / h. Jede andere Metrik ist überflüssig: p

Wenn die Leute beschweren Sie haben nichts auf dem Teller, während mehrere Ihrer Software-Systeme in der Produktion sind, die einfach bedeutet, dass Ihre Systeme gut gestaltet waren und gut codiert, und im Gegensatz zu anderen Firmen-Code Affen, Sie haben nicht eine 6-Monats-Warteschlange von Trouble-Tickets Sie beschäftigt zu halten.

Wenn dies der Fall ist, klopfen Sie sich selbst auf der Rückseite. Sie gute Arbeit zu leisten.

Denken Sie daran, Software ist nicht getan, bis es Geld zu machen.

Als Interviewer, würde ich diese Frage stellen, um zu sehen, wie elequent ein Kandidat sich bei auszudrücken.

Plus zeigen sie, wie selbstkritisch sie sind und welche Art von Standards, die sie für sich selbst gesetzt und ihre Kolleginnen und Kollegen.

nicht nur, dass es Ihnen sagen, wie viel sie wissen über Gott / schlechte Programmierung es Ihnen sagt, wie gut würden sie mit einem Kunden interagieren Anforderungen zu extrahieren und wie gut ein Spiel sie für den Rest des Teams sind.

Der tatsächliche Rang 0-10 ist viel weniger wichtig.

Ich glaube, dass es nicht zu über schätzt die Bedeutung der Sprachkenntnisse wichtig ist.

Die größten Fähigkeiten, die ein Programmierer kann in den Bereichen Problemlösung und Design haben sind. Mit der Zeit bekommt man tatsächlich mit der Sprache nach unten, die Sie gewählt haben, ist es fast nur die Eingabe. (Zu akzeptieren, dass ein Bereich, den Sie hoffentlich Ihr Problem verwendet haben, zu lösen und gestalterische Fähigkeiten im Layout des Codes ist, das Problem der Lesbarkeit und Wartung zu adressieren)

So das Maß eines Programmierer ist, wie gut sie können eine unterschiedliche Reihe von Ideen oder Fragen zusammen zu bringen, ein bestimmtes Problem zu lösen. Mehr Geschick ist möglicherweise nur Wissensbereiche hinzufügen, die auf zurückgegriffen werden kann.

Natürlich nichts hilft als Metrik für Ihre eigenen Fähigkeiten zu bestimmen - aber andere haben schon gesagt, dass es ziemlich gut ist eine un-metricable Frage sowieso. : -)

Wenn Sie eine Sound-Byte für eine Antwort:

  

Als ich anfing Arbeit professionell war ich wahrscheinlich ein 2, Jetzt würde ich sagen, dass ich um ein 7 war, aber jeder Tag arbeite ich 10 zu erreichen.

Wörter pro Minute.

Meiner Meinung nach ist dies eine harte (und im Zusammenhang mit einem Interview eine noch UNFAIR ) Frage! Ich habe bis jetzt drei verschiedene Unternehmen tätig. Jeder, wo ich traf nur sehr wenige hervorragende Programmierer (viel besser als ich), viele gute Programmierer und ein paar Programmierer, die zum Besseren verändern sollte. Aber es ist unmöglich, sie in Kategorien von 0 bis 10 setzen!

Es gibt viele „Dimensionen der Güte“ zu einem Programmierer zu sein; der Bewertungsprozess je nach variieren würde, welches Sie daran interessiert sind, sind hier ein paar Ideen:.

  1. Technische Kenntnisse: Zum einen guten „Kochbuch“ -Stil Bezug auf die Kauf / a Sprache, die Sie in erster Linie verwenden; für jede Aufgabe in dem Buch besprochen, zuerst Ihre eigene Lösung schreiben und es dann mit dem man (n) vergleichen, in dem Buch angeboten.
  2. Entwicklungsgeschwindigkeit: Registrieren bei TopCoder und arbeiten durch ihre gespeicherten Probleme oder in einer Echtzeit teilnehmen Wettbewerb.
  3. in einem Entwicklungsteam Teilnahme: Kaufen Sie Mittagessen für einen vertrauenswürdigen Kollegen und fragen Sie ihn / sie für eine ehrliche Bewertung von sich selbst als Teammitglied (zB „Was Sie als meine wichtigsten Stärken und Schwächen als Mitglied sehen unseres Teams? Was würden Sie vorschlagen, ich tun, um zu verbessern? ") [ Wenn niemand in Ihrem Team gibt es, die Sie für eine solche Diskussion gehen könnte sie vielleicht , dass sagt etwas über dieses Thema . ]
  4. Kommunikationsfähigkeit: Setzen Sie sich mit einem Mitarbeiter nach unten, die nicht ein Entwickler und bitten um seine / ihre Ansichten über das aktuelle Projekt. Passt auf; prüfen, wie gut seine / ihre Wahrnehmung Ihrer eigenen entsprechen.
  5. Estimating: Jeden Morgen eine Notiz machen ( für Ihre Augen nur ) über das, was Sie erwarten an diesem Tag zu erreichen und wie lange Sie erwarten, es zu nehmen. Am Ende des Tages, zu vergleichen, diese Note mit dem, was tatsächlich passiert ist, um zu sehen, wie weit waren Sie. Um in diesem Bereich zu verbessern, denkt über Gründe für die Unterschiede und was könnte man bedenkt, dass würde Ihre Vermutungen genauer gemacht hat.

Sie können jederzeit mit anderen Programmierern konkurrieren und sehen, wie gut Ihr Denken Fähigkeiten sind. Sie können die Seiten versuchen, wie www.topcoder.com oder www.spoj.pl oder wwww.codechef.com sie bieten Ihnen Reihen und Sie können sehen, wie gut Sie tun. Aber diese rein testen Sie Ihre algorithmischen Gehirne und nicht so, wie Sie Code. Wenn ich diese Frage gestellt wurde ich würde sagen, dass ich eine Konstante Lerner und glauben zu machen und Fehler zu korrigieren, ich habe keine Angst vor Selbst meinen Code zu kritisieren, noch ich bin hesistant andere zu fragen, mein Fehler, darauf hinzuweisen, Sie kann entscheiden, welche Skala bedeutet das sitzt.

Definieren Sie eine Skala von 100%.

Identifizieren Sie sich auf der 100,0 Marke als zu bleiben.

Identifizieren Positionen von anderen Entwicklern und berühmten Persönlichkeiten der IT.

Berechnen Sie, wie viel Sie sind besser.

Ich habe darum gebeten, dass ein paar Mal hinterfragen. Als ich aus Varsity nur bekam, sagte ich 7/8. Nun, da ich schon ein paar Jahre gearbeitet, ich sage 4, obwohl ich glaube, ich bin jetzt unendlich viel besser.

Ich sehe nicht, die 0-10 als ein gerade Liniendiagramm. Ich sehe es mehr als exponentieller Graph. So sicher, dass ich immer noch sagen, 4 von zehn, aber ich glaube, dass ich besser als 90% der Coder gibt. Ich habe einen Teil ihrer Arbeit gesehen und es macht mir Angst. Ich habe auf Banking-Software SSL-Software gearbeitet, und es ist beängstigend, dass es tatsächlich funktioniert. So gibt es jene 10% der Programmierer gibt, die besser sind als ich viel besser als ich. Ich bin nicht sicher, ob ich jemals ihnen aufholen wird. Um zu 4 meiner Meinung nach zu bekommen, ist einfach. Weg schwieriger zu bekommen bis 5. Von 5 bis 6 ist unglaublich beängstigend.

Große Programmierer, die würdig ein 8 sind 9 oder 10

Erfahrung. Das breitere Spektrum an Erfahrung du hast „desto besser“ Sie sind. Sie wissen, was Sie erlebt haben.

Größe und Komplexität des Systems haben Sie entwickelt (oder erfolgreich gearbeitet innerhalb ohne korrumpieren).

Pretty wertvolle Diskussion hier. War begeistert. Ich als Interviewte, möchte Antwort davon geben, wie folgt.

Ich möchte die Frage zuerst analysieren.

Die Analyse ist abhängig von wenigen Dingen wie die Sprache, den Rahmen, die Natur des Problems, (Ich bin PHP und Wordpress Kerl so Antwort ist in diesem Zusammenhang) 1. Plugin Patch arbeiten, 2. Gebäude von Grund auf, 3. api Verwendung

Ihr gemeinsamer Ansatz wäre (in den meisten Fällen) 1. Verständnis der gegebenen (oder bereits gebaut) Umfang der Funktionalität (im Vergleich zu aktuellen Problemstellung) 2. rechnet einen der besten Art und Weise zu lösen (es gibt auf jeden Fall mehr als eine Art und Weise jedes Mal, ...) 3. Codierung 4. Testen in Echtzeit-Szenarien (für Performance-Tuning) 5. in Anfangsstadien jeder Programmierer sind alle vier Schritte rekursiv bis Endlösung erhalten, aber wie die Erfahrung wird wächst, 1 2 Schritte rekursiv.

Begabungs Verständnis grundlegender Philosophie von jeder Sprache ist imp. Der Rest ist Problemlösung Haltung.

Und in PHP, ich glaube, ich bin 6.5.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top