Ist es ein alarmierendes Zeichen, wenn der Einstellungsprozess eines Unternehmens für Senior/Lead Developer keine Programmieraufgabe beinhaltet?

Ich bin auf der Suche nach einem neuen Job in Deutschland als Senior-Entwickler (7 Jahre Erfahrung) und habe Vorstellungsgespräche für eine Vielzahl von Positionen in großen Unternehmen geführt (mindestens 1000 Mitarbeiter, IT-Teams 200 Entwickler).

Eine beständige Erfahrung, die ich gemacht habe, ist, dass, wenn das Kerngeschäft des Unternehmens nicht die IT ist (sagen wir, ein Autounternehmen), ihre Interviews keine Programmieraufgaben enthalten, sondern eher einige allgemeine Fragen zu meiner primären Programmiersprache oder Plattform.

Soll ich das als Zeichen dafür sehen, dass sie es mit der IT nicht ernst meinen? Oder ist es die Norm?

Kommentare sind nicht für längere Diskussionen gedacht; diese Konversation wurde in den Chat verschoben .
Ich bin auch Deutscher, aber Entry/Mid-Level-Entwickler. Ich glaube, ich hatte bisher nur ein Interview (von ~10), in dem ich eine eigentliche Codierungsaufgabe erledigt habe, und eines, in dem ich einen einfachen LINQ-Ausdruck auf einem Whiteboard gemacht habe. Scheint hier nicht so üblich zu sein.
Ha, ich kenne die Firma. S... oder D..N.., richtig? :) Meiner Meinung nach ist es ein schlechtes Zeichen.. Ah, wenn ich mich daran erinnere, wie sehr ich mich auf einige Interviews vorbereitet habe und es am Ende so einfach war... Und so einfach ist NIE ein gutes Zeichen.

Antworten (7)

Ob Sie nach Programmierfragen gefragt werden, sollte bei Ihrer Entscheidung kein kritischer Faktor sein. Sie werden Sie vielleicht nicht fragen, einfach weil sie nicht wissen, wie. Aus diesem Grund möchten sie einen leitenden/leitenden Entwickler einstellen , da sie nicht über die Ressourcen verfügen, um Sie zu schulen.

Beispiel

Mein Arbeitsplatz entwickelt sehr technische Produkte und bietet gute Karrierechancen. Mein Chef hat mir in meinem Vorstellungsgespräch keine einzige Programmierfrage gestellt, weil:

  • Das Unternehmen hatte keine Richtlinie für die Einstellung eines Programmierers (Programmierung war nicht das Kerngeschäft)
  • Er wusste nicht viel über Programmierung (deshalb stellte er ein!)
  • Er war es gewohnt, Nicht-Programmierer zu interviewen, und stellte daher keine sehr technischen Fragen
  • Er könne mich nur anhand meines Lebenslaufs beurteilen, den er durch einen Anruf bei meinen früheren Arbeitgebern bestätigen würde
  • Er interessierte sich mehr für den kulturellen Fit

Es ist kein schlechtes Zeichen . Der beste Entwickler in einem nicht-technischen Umfeld zu sein, könnte eine bessere Gelegenheit sein, als bei Google einzusteigen. Interne Werbung ist bei Google sehr wettbewerbsfähig , aber Sie hätten keine Konkurrenz an einem nicht-technischen Arbeitsplatz!

Ein nicht-technischer Arbeitsplatz ist vielleicht nicht so wettbewerbsfähig, hat aber auch nicht viele Aufstiegschancen als Programmierer. Es würde mich nicht wundern, wenn @chiplax bei seinem neuen Job feststellen würde, dass es keine anderen Programmierpositionen über ihm gibt. Es ist also kein großes Plus, keine Konkurrenz für eine Position zu haben, die es nicht gibt.
@Mindwin vielleicht wissen wir es nicht. Was ist mit Möglichkeiten für CTO oder so etwas wie Softwarearchitektur?
Wenn sie jedoch bereits eine ziemliche Codebasis haben (das wurde vielleicht sogar von Auftragnehmern für sie erledigt), könnten Sie möglicherweise in eine Situation geraten, in der Sie einen großen Haufen beschissenen Codes bereinigen müssen, von dem sie vielleicht nicht einmal wissen, dass es das ist war so schlimm (weil sie keinen erfahrenen Entwickler hatten, um es ihnen zu sagen ...)
@StudentT Wir können hoffen, [dass mindestens] ein Typ das nicht-technische Unternehmen dazu bringen kann, technische Leute zu schätzen (und ihn nicht wie "den Excel-Typen" zu behandeln). Oder endlich mit dem Mädchen, das er mag, aus der Friendzone raus. Aus Erfahrung spricht, dass [und dies] normalerweise nicht passiert. Aber wir können hoffen.
@JanNash und bitte, bereinigen Sie diese beschissene Codebasis bis nächste Woche.
@Mindwin und vergiss nicht, alles zu testen, ... welche Spezifikationen? Der Code ist die Spezifikation.
Bitte beachten Sie, dass, da das OP speziell nach Deutschland fragt, es dort nicht üblich (und tatsächlich: nicht legal, siehe zeit.de/karriere/beruf/2014-10/… als Quelle) ist, frühere Arbeitgeber anzurufen.
Als Junior-Softwareentwickler in einem nicht-technischen Unternehmen zu arbeiten, war eine großartige Gelegenheit für mich, aber ich bezweifle, dass ich nach sieben Jahren noch irgendwo weiterkommen werde. Ich muss das Management davon überzeugen, jede Rolle zu schaffen, in die ich befördert werden möchte, und irgendwann wird es einfach keinen Bedarf mehr dafür geben. Also ich bin mir bei dieser Behauptung nicht so sicher. Es hat jedoch sicherlich andere Vorteile.
@dirkk Ich weiß nicht, wie verbreitet es in Deutschland ist, aber Sie liegen falsch, wenn Sie einfach sagen, dass es illegal ist. es ist legal, wenn der Bewerber die Erlaubnis erteilt . Aus demselben Artikel, den Sie verlinkt haben: "Sie dürfen den ehemaligen Arbeitgeber eines Bewerbers nur anrufen, wenn Sie von dem Bewerber die Erlaubnis dafür erhalten."
@SeldomNeedy Ja, natürlich (offensichtlich lese ich Artikel, die ich zitiere ...). Dies ist hier jedoch nicht relevant, da das OP offensichtlich davon erfahren würde, wenn es gefragt würde.
@dirkk Ich bin mir ziemlich sicher, dass es immer relevant ist, in seinen Aussagen explizit zu sein, insbesondere in Bezug auf das Gesetz. Und ich glaube nicht, dass OP so oder so angegeben hat, ob er um Erlaubnis gebeten wurde, seine Referenzen zu kontaktieren oder nicht.
Ein weiterer zu berücksichtigender Punkt: Wenn Sie erfahren sind und einen guten Lebenslauf haben, dem sie vertrauen, besteht keine wirkliche Notwendigkeit, Ihnen Programmieraufgaben zu geben. Sie haben sich in den letzten sieben Jahren bewährt.

Die anderen Antworten sind in Ordnung und meine sollte nicht als ausschließlich verstanden werden. Es ist eher eine lange Erklärung des kulturellen Hintergrunds, warum die anderen Antworten richtig sind:

Die Deutschen neigen dazu zu glauben, was Sie im Interview präsentieren. Im Vergleich zu anderen Ländern sind wir es nicht gewohnt, dass Menschen in einem Interview lügen. Sicher, eine kleine Notlüge hier oder da oder vielleicht das Auslassen von Fakten, die nicht notwendig sind, wenn man nicht darum bittet, aber nichts, was man als vorsätzlichen Betrug einstufen würde. Andere Länder scheinen das zu haben, und ich kann mir vorstellen, dass Deutschland sehr schnell in Programmiertests einsteigt, wenn wir massenhaft betrügerische Bewerber hätten (wie dieses Poster ).

Warum ist das so? Nun, ein Großteil unseres Interviewprozesses ist aufgeschrieben. Wir haben kein „Referenzsystem“, bei dem die Personalabteilung einen ehemaligen Kollegen oder Vorgesetzten anruft und mündliche Informationen erhält. Wir haben ein System von schriftlichen Zeugnissen, sowohl für Zertifikate als auch für frühere Berufserfahrungen. Jetzt könnten Sie sagen: "Nun, aber das ist noch einfacher zu fälschen, als einen Typen zu haben, der auf einen zufälligen Anruf wartet. Das ist nur eine Zeitung, die ich erfinden muss!" und das ist wahr. Aber es ist aktenkundig . Bis in alle Ewigkeit.

Jetzt scheint es nichts Besonderes zu sein , in den Akten zu sein. Wen kümmert es, ob Ihre potenzielle Lüge in den Akten ist, solange Sie den Job haben, richtig? Nun ja, aber... Deutschland hat ein gutes System der Arbeitnehmerrechte. Es ist schwer, jemanden loszuwerden, es gibt Gewerkschaften, Schutzmaßnahmen, lange Kündigungsfristen. Sonderrechte für behinderte Menschen, Antidiskriminierungsgesetze etc. Bei der Bewerbung zu lügen ist der absolut schnellste Weg, um arbeitslos zu werden. Du könntest nicht schneller gefeuert werden, wenn du deinen Boss mit einer Axt angegriffen hättest. Es gibt keinen Schutz, keine Vorteile, nichts, was das Unternehmen daran hindern würde, Sie rauszuschmeißen, sobald sie es herausfinden. Gerichte urteilten sogar, dass das Lügen auf der Bewerbung ein Grund zur fristlosen Kündigung des Vertrages ist , selbst wenn die Person die Arbeit jahrelang ordentlich gemacht hat, was der gesunde Menschenverstand vorschreibt, bedeutet, dass ihre Lüge für das Unternehmen am Ende keine Rolle spielte.

Lügen ist also das Dümmste, was man bei einer Bewerbung machen kann, in Deutschland noch mehr als anderswo. Die Deutschen verlassen sich darauf, dass die Bewerber dies wissen und entsprechend handeln. Wenn Sie ein Arbeitszeugnis haben, aus dem hervorgeht, dass Sie in Ihrem vorherigen Unternehmen gute Arbeit geleistet haben, glauben sie das eher. Wenn Sie ein Papier haben, das besagt, dass Sie Ihre Ausbildung mit Erfolg abgeschlossen haben, neigen sie dazu, das zu glauben.

Ich habe viele Entwickler in Deutschland interviewt und obwohl einige nicht das waren, wonach ich gesucht habe, habe ich keinen einzigen getroffen, der nicht in der Lage gewesen wäre, FizzBuzz in mindestens zwei Sprachen und Pseudocode zu programmieren. Aber sie alle hatten schriftliche Referenzen von einer Institution meines Vertrauens, die mir bereits bescheinigt hatte, dass sie es können. Es war nicht nötig, alles noch einmal zu machen.

Außerdem enthalten deutsche Arbeitsverträge in der Regel eine Probezeit, in der Unternehmen und Arbeitnehmer ohne Angabe von Gründen sehr kurzfristig kündigen können.

Mit der Mehrheit der Bewerber, die bereits von einer vertrauenswürdigen Quelle (anderes Unternehmen oder Bildungseinrichtung) zertifiziert wurden, um einfache Programmieraufgaben lösen zu können, und dem guten Gefühl, dass Sie Leute, die es irgendwie vorgetäuscht haben, immer noch sehr schnell loswerden können, gibt es einfach keine Notwendigkeit solcher Tests.

Ich persönlich bin ein Fan davon, den potenziellen Kandidaten zu einem Test unter realen Bedingungen zu haben, nicht auf einem Whiteboard mit einer künstlichen Aufgabe, aber das ist eine andere Geschichte. Die meisten Deutschen benötigen keinen Programmiertest und das ist kein schlechtes Zeichen. Es ist auch kein außergewöhnlich gutes Zeichen, es ist im Grunde nur die Standardeinstellung.

Wenn nichts anderes, lohnt es sich, einen guten Überblick darüber zu haben, wie ein anderes Land mit der Aufnahme von Mitarbeitern umgeht.
Es handelt sich nicht um Betrug, es ist nur so, dass die Menschen ihre eigenen Fähigkeiten schlecht einschätzen können . Das gilt in jedem Land. Ich habe Entwickler interviewt, die ihre eigenen Fähigkeiten mit 7/10 bewerteten und die die einfachsten vorstellbaren Programmierprobleme nicht lösen konnten. Schreiben Sie niemals der Bosheit zu, was Sie der Inkompetenz zuschreiben können.
@BlueRaja-DannyPflughoeft Das stimmt und Deutschland ist da keine Ausnahme. Aber die Bewerber bringen eine Menge Papierkram mit, dem man vertrauen kann, also werde ich auch Aussagen von anderen haben, was immer sie über sich selbst sagen. Wenn jemand sagt, dass er 9/10 ist und seine Bildungsbilanz ihn mit C einstuft und seine früheren Arbeitgeber ihn alle als „durchschnittlich“ einstufen, dann weiß ich, was ich glauben soll, egal, was diese Person über sich selbst denkt.
Darüber hinaus erklären deutsche Gerichte, dass das Auflegen Ihrer Bewerbung Ihren Arbeitsvertrag ungültig macht, und sie zögern nicht, Strafanzeige wegen der Begehung von Straftaten zu erheben.
Als Nebenbemerkung werden Referenzen in den Vereinigten Staaten und anderswo ziemlich häufig geschrieben (insbesondere in der Wissenschaft) - aber im deutschen System sind sie es immer .
Was um alles in der Welt haben die Deutschen von der Scott Thompson/Yahoo - Saga gehalten?
Ich bin mir nicht sicher, wie viel die Möglichkeit, einen Vertrag zu annullieren, zu Gunsten Deutschlands zählt. Zumindest in Kalifornien, einem Staat nach Belieben, können Sie die Person am zweiten Tag einfach aus irgendeinem Grund oder ohne Grund gehen lassen (es sei denn, sie gehören einer geschützten Klasse an).

Ich bin ein Lösungsarchitekt, der in Deutschland arbeitet, und meine Erfahrung ist gemischt.

Einerseits haben mich die meisten deutschen Unternehmen nicht auf Programmieren getestet, und das gilt insbesondere für höhere Positionen. Auf der anderen Seite haben die besten Unternehmen, für die ich gearbeitet habe, viel härtere Interviews geführt, und sie beinhalteten Programmierübungen (obwohl dies für Junior-Positionen war).

Als konkretes Beispiel machte ein Unternehmen einen Fehler und rief mich zu einem Vorstellungsgespräch für Software Engineer an, mit einer angehängten Programmieraufgabe. Als ich ihnen sagte, dass ich mich für Software Architect beworben hatte, übersprangen sie die Programmierübung und brachten mich zu einem mündlichen Interview zum Lead Architect.

Alles in allem würde ich es nicht als schlechtes Zeichen werten, wenn Sie das Gefühl haben, dass die restlichen Interviews streng waren. Wenn sie jedoch bereit sind, Sie fast ohne Anstrengung von Ihrer Seite anzumelden, würde ich dies zumindest als Warnzeichen betrachten.

„Wenn sie bereit sind, Sie fast ohne Anstrengung von Ihrer Seite unter Vertrag zu nehmen, würde ich dies zumindest als Warnzeichen betrachten.“ - Erweitern lohnt sich, es ist möglicherweise kein Problem für die aktuelle Einstellung, wenn Sie sich für den Job kompetent fühlen und Bedenken hinsichtlich der Seriosität der IT berücksichtigt werden. Ihre neuen IT-Kollegen werden jedoch wahrscheinlich denselben Einstellungsprozess durchlaufen haben, mit potenziellen Löchern in den Filtern. Als hochrangiger Mitarbeiter sollten Sie sich Gedanken über die Qualität des Personals machen, mit dem Sie zusammenarbeiten und für das Sie möglicherweise verantwortlich sind.
Softwarearchitekten wissen nicht, wie man Code schreibt? Ich wusste es!

Es bedeutet höchstwahrscheinlich, dass sie niemanden mit relevanter Erfahrung haben, der Sie testen könnte, also verlassen sie sich darauf, dass Sie Ihre Fähigkeiten ehrlich beschreiben. Sie versuchen dann, Ihre Ehrlichkeit zu bewerten, um zu entscheiden, wie sie das akzeptieren. Darum geht es schließlich bei Zeugnissen, beruflichem Werdegang, Vorstellungsgesprächen und Co.

Ich hatte schon früher ähnliche Dinge, ich wurde für einen Java-Codierungsjob interviewt und der Typ, der mich interviewte, war technisch, aber nicht Java. Er hat versucht, mir einen Java-Test zu geben, und ich konnte fast sofort erkennen, dass er mit Java nicht sehr vertraut war. In meinem Fall war das egal, da ich meine Fähigkeiten nicht übertrieb, aber wenn ich so geneigt gewesen wäre, hätte ich mich mit nur begrenzten Java-Kenntnissen leicht durch den Test prügeln können.

Tatsächlich haben sie mich, nachdem ich eingestellt wurde, auf alle zukünftigen Java-Mitarbeiter gesetzt, um einen richtigen Java-Test zu machen. Bis sie einen leitenden Java-Entwickler hatten, wussten sie, dass sie es nicht richtig testen konnten, sondern nur das Beste aus dem machten, was sie hatten.

Das kann sogar ein gutes Zeichen sein – das könnte Ihre Chance sein, etwas von Grund auf neu aufzubauen und am Start zu sein.

Ja, es ist ein schlechtes Zeichen.

Ich persönlich vermeide jedes Unternehmen, das keinen angemessenen (und interessanten) technischen Test verlangt.

Wieso den ?

Einfach, weil ich nicht noch einmal mit inkompetenten Kollegen zusammenarbeiten möchte. Und wenn man keinen Test hat, ist es wahrscheinlicher, mindestens einen schlechten Kollegen zu haben.

Darüber hinaus deutet dies im Allgemeinen darauf hin, dass das Unternehmen nicht wirklich versteht, warum es wichtig ist, gute Entwickler zu haben, was im Allgemeinen zu Entwicklungsteams führt, in denen keine guten Praktiken durchgesetzt werden, was zu schrecklichem Code führt ...

Wenn das Unternehmen zu klein ist und niemanden in der Technologie hat, um Sie zu interviewen, dann ist es in Ordnung, Sie können dann die folgenden interviewen.

Aber in Ihrem Fall, bei Unternehmen mit mehr als 200 Entwicklern, wäre ich überrascht, wenn keiner von ihnen Sie zumindest auf Grundkenntnisse testen könnte.

Äh. Ich stimme dir nicht zu. Ein Test garantiert nicht, dass Sie einen klugen Kandidaten oder Mitarbeiter haben. Sie können etwas von Grund auf neu machen, aber nicht in einem System, das es schon gibt und das Stolperdrähte hat. Ich hatte beide Arten von Interviews und ich denke, dass sie mehr aus einem mündlichen Interview herausholen, in dem mir eine Frage zu einer spezifischeren Situation gestellt werden kann oder was wäre wenn, anstatt ein weiteres Hallo Welt zu schreiben. Verbale Tests sind immer noch Tests.
Ich habe nie gesagt, dass es kein mündliches Interview geben sollte. Sicherzustellen, dass jemand tatsächlich Code schreiben und logisch denken kann, ist bereits ein guter Anfang. Und ich kann Ihnen versichern, dass viele Entwickler in einem Unternehmen, in dem ich früher gearbeitet habe, dies nicht konnten, weil sie nicht getestet wurden. Ein technisches Vorstellungsgespräch ist nur ein guter Weg, um die meisten schlechten Kandidaten herauszufiltern (aber das könnte auch einige gute herausfiltern).
Da dies spezifisch für einen Senior-Entwickler ist, kann es vorkommen, dass die Person, die das Interview gibt, die Codierungsanforderungen kennt (wie sie natürlich in Ihrer Antwort angesprochen werden). Oder, wie in einem Fall, war die Person nicht damit einverstanden, wie ein Entwickler die Frage beantwortete. Woher sollte die Person wissen, was der Codierungsstandard sein würde und dass sie dagegen verstoßen würde. Insgesamt denke ich, dass die OP-Frage, ob es sich um ein "schlechtes Zeichen" handelt, eher willkürlich ist und vielen "Was-wäre-wenn"-Analysen unterliegt.
IMO ist es nicht willkürlich für eine Position als leitender Entwickler in einem Unternehmen mit anderen Entwicklern.
Es wurde nicht erwähnt, wie viele, wenn überhaupt, andere Entwickler dort waren, wie technisch versiert der Interviewer ist, wie der Interviewprozess des Unternehmens aussieht oder wie sie dabei vorgehen (mehrstufige Interviews? Grundwissen eval->psych eval->HR Interview->Team-Interview->?), also ist es eine willkürliche Situation zu sagen "Ist das schlimm".
Fragen Sie sich ehrlich: Welchen richtigen und interessanten technischen Test könnten Sie einem potenziellen Senior/Lead Developer stellen , bei dem der Bewerber keinen Schlafsack und keine Zahnbürste zum Vorstellungsgespräch mitbringt? Ich übertreibe vielleicht ein wenig, aber Sie verstehen, worauf es ankommt
@crizzis: Eigentlich ein einfacher dummer Test, jede praktische (dh nicht mit Whiteboards versehene, sondern codierte und ausgeführte) FizzBuzz-Variante, filtert meiner Erfahrung nach immer noch leitende Mitarbeiter heraus, und als relativ erfahrener Entwickler sehe ich heutzutage so etwas nicht ein Affront gegen meine Intelligenz. Ob das aus geschäftlicher Sicht ein richtiger Filter ist oder nicht, ist fraglich. Persönlich arbeite ich jedoch viel glücklicher in Teams, in denen grundlegende Problemlösungsfähigkeiten wie diese aufgrund jahrelanger Betriebszugehörigkeit überprüft und nicht vorausgesetzt werden.
@SliderBlackrose in der Frage: „(mindestens 1000 Mitarbeiter, IT-Teams 200 Entwickler).“ -> Ich bin mir nicht sicher, was Sie sonst noch wissen müssen, wie viele andere Entwickler in der Firma sind.
@crizzis Ich stimme Neil Slater zu, Sie wären überrascht, wie viele erfahrene Entwickler eigentlich keinen Code schreiben können, aber wirklich gut im Bullshit sind und daher leicht technische Diskussionen führen können.

Da ich auch Deutscher bin, kann ich Ihren Eindruck bestätigen. Kleine Programmieraufgaben (Fizzbuzz et al.) sind hier sehr selten, vor allem, weil (was zugegebenermaßen eine Achillesferse ist) die Deutschen vielleicht ein bisschen zu viel Vertrauen in Zertifizierung und Dokumentation haben.

Einige Punkte sind gültig: Jonathon Cowley-Thom erwähnte die Probezeit von sechs Monaten, also müssen Sie selbst schuld sein, wenn Sie nach dieser Zeit die Spreu nicht vom Weizen unterscheiden können (Aber ich habe eine Geschichte, die von mehreren Leuten bestätigt wurde, wo ein schrecklicher Programmierer war Menschen jahrelang mit einer erstaunlichen Arroganz täuschen können). Lilienthal hat auch Recht, dass die Angst vor Gesichtsverlust eine große Rolle spielt: Menschen Programmieraufgaben zu geben, stellt die Erfahrung und den Anspruch auf die Probe und das mag manches Ego aufrütteln.

So ungewöhnlich ist die Situation also gar nicht . Es kann auf Mängel in der Qualität der Akquisition hinweisen, aber es ist trotzdem möglich, dass Sie hervorragende Programmierer und qualitativ hochwertige Software finden (Fragen Sie nach einem Probetag, es ist nicht ungewöhnlich, einen besseren Eindruck zu bekommen). Wie bereits gesagt, kann es auch Ihre gute Chance sein, die Messlatte höher zu legen.

Der Grund, warum ich Programmieraufgaben immer noch hoch halte, ist ihre Aussagekraft. Solche kleinen Codierungstests testen nicht wirklich, wie gut Sie sind, wenn Sie etwas Erfahrung haben, aber wenn der Bewerber keinen totalen Blackout hat, entlarven sie unweigerlich Betrüger, die nicht codieren können ... ÜBERHAUPT.

Und ja, es gibt sie. Einige Möglichkeiten, die Situation zu entschärfen, wenn jemand nicht programmieren möchte, bestehen darin, zu sagen, dass jeder einen solchen Test machen muss.

Sie stellen sie vor eine aktive und fertige IDE und geben ihnen eine kleine Aufgabe.

Geben Sie "tshoausuntagpcurhntaougcruats" ohne t, o, h aus und beenden Sie die Zeichenfolge nach dem zweiten g.

Durch einfaches Beobachten wissen Sie sofort, ob der Bewerber Erfahrung mit der Sprache hat (wird sofort codieren) oder ob der Bewerber keine Erfahrung mit der spezifischen Sprache hat, aber mit dem Codieren vertraut ist (er muss die Codekonstrukte „übersetzen“, verwenden falsche Muster (C++ => Java ==/equals, C# => count/size()), aber wird die Aufgaben erledigen). Dann gibt es die schlechten Programmierer und die völlig inkompetenten.

Auch schlechte Angewohnheiten sieht man sofort:

  • Mehrere Befehle in einer Zeile; diese Leute debuggen oft nicht.
  • Mehrere nicht sprechende Variablen- oder Konstantennamen i,k,j,ab,abcj usw.
  • Exzessive Wiederverwendung von Variablen, Bereichsverletzungen, keine Speicherverwaltung.
  • Keine Formatierung (Es ist nicht wirklich wichtig, welcher Formatierungsstil, nur dass er konsistent und lesbar ist).
  • Voodoo-Programmierung: Am Ende der void-Methode zurückkehren, als letzte Anweisung in Schleifen fortfahren, dieselben Variablen zweimal initialisieren ... seltsame Dinge tun, um dem Zorn des unergründlichen Compilers zu entgehen.
Ich habe viele von denen gesehen, die wir Wizard's Apprentices nannten, nach dem IDE-„Wizard“-Code-Generator und dem Disney-Cartoon. Ich frage sie an einem Whiteboard, nicht an einer IDE . Einige haben keine Ahnung, wie man tatsächlich eine Klasse (in C++) schreibt.
I und j sind sehr verbreitet als Array-Indizes in der technischen Programmierung, es ist ein Überbleibsel aus den 50er/60er Jahren und Fortran
Ein Schleifenindex ist nicht nur iüblich, die Verwendung eines anderen Namens ist auch irreführend, weil er suggeriert, dass die Variable mehr als ein Schleifenindex ist. Und "keine Speicherverwaltung" wäre meiner Meinung nach besser als "gute Speicherverwaltung". Ich vermute etwas, dass mir Thorstens Interviewstil gefallen würde, weil er mich davon abhalten würde, für ihn zu arbeiten .
@MSalters Und woher weißt du, dass i nichts anderes als ein Schleifenindex ist oder umgekehrt? Möchten Sie nicht lieber sofort wissen, dass es sich um eine Zeile , eine Spalte , einen Index (nur Direktzugriff), einen Offset (nur mit einer Basis verwendet), einen Zähler (nichts tut) handelt? Es verhindert einfach Fehler. In der Anfangszeit war das Gedächtnis so begrenzt, dass sich kurze Namen für Dolmetscher auszahlten, also durchaus sinnvoll. GC-Sprachen können immer noch unnötige offene Objektreferenzen/Systemhandles haben, wenn Sie nicht aufpassen. (Und ich mag dich auch.) Wie auch immer, ich schlage vor, die Kommentare in den Chat zu verschieben, wenn wir das weiter besprechen müssen?
@ ThorstenS .: Sie verfehlen den Punkt: Der Autor weiß es und wählt iWENN UND NUR WENN es nicht mehr als ein einfacher Schleifenindex ist. Dies ist eine starke Konvention. Es sagt "hier ist nichts in meinem Ärmel, suche nicht nach einer versteckten Bedeutung". Der Versuch, einen aussagekräftigen Namen ohne eine solche Bedeutung zu erzwingen, führt zukünftige Leser aktiv in die Irre.
@MSalters Meistens sehe ich nur Quellcode, daher gibt es entweder eine unternehmens- oder sprachabhängige Codierungskonvention. Ein Problem entsteht, wenn eine Konvention (i=unwichtig) aus dem falschen Grund ausgeführt wird: weil es einfach ist . Dann ist Ihr Argument ein Trugschluss, weil der Autor i verwendet hat, weil er/sie es nicht weiß und es ihm egal ist . Da ich keine Gedanken lesen kann, muss ich mehr Code sehen, um den wahren Grund abzuleiten. Bist du verärgert, weil du denkst, ich behaupte "Using i => bad programmer"? Stimmt nicht. Jede "schlechte" Angewohnheit mag vollkommen gültig sein, aber sie ist kumulativ und an den falschen Stellen ein Warnzeichen.

Soll ich das als Zeichen dafür sehen, dass sie es mit der IT nicht ernst meinen?

Nein, das würde ihm zu viel Wert beimessen. Sie können es als einen der Datenpunkte betrachten, die Sie während des Vorstellungsgesprächs über einen potenziellen Arbeitgeber sammeln. Echte rote Fahnen in einem Vorstellungsgespräch sind selten, normalerweise erhalten Sie stattdessen ein kombiniertes Bild davon, wie das Unternehmen den Einstellungsprozess, seine Ziele oder den Markt angeht.

Wenn sie beispielsweise keine Programmieraufgaben erledigen, Sie nicht über Ihre Erfahrungen ausfragen und Ihre Referenzen nicht überprüfen, könnte dies potenziell besorgniserregend sein, da sie sich dafür öffnen, schlechte Entwickler oder regelrechte Scharlatane einzustellen. Aber andererseits könnte es einen Grund geben, warum sie bestimmte Schritte bei Ihnen überspringen, oder sie folgen einfach nicht immer einem Standardprozess. Wenn sie Sie oder Personen kennen, die mit Ihnen gearbeitet haben, oder anderweitig Grund zu der Annahme haben, dass Sie auf dem Niveau sind, dann denken sie möglicherweise nicht, dass Grundkompetenztests erforderlich sind.

Das ist der Grund, warum diese Art von Tests für Seniorenprofile selten sind (oder sein sollten): Viele erfahrene Entwickler betrachten sie als Zeitverschwendung und als grenzwertig anstößig. Schließlich signalisieren sie im Grunde, dass das Unternehmen an Ihren Behauptungen oder Erfahrungen zweifelt. Wenn Sie das Senior-Entwickler-Level erreichen, wird davon ausgegangen, dass Sie über die erforderlichen Fähigkeiten verfügen, und solche Tests sollten durch Referenzprüfungen ersetzt werden, um sicherzustellen, dass ein Kandidat der ist, für den er sich ausgibt, aber hauptsächlich, um ein Gefühl für das Wissen und die Erfahrung zu bekommen, die er in seine Arbeit einbringt . Ein Lebenslauf wird Ihnen das nicht sagen, aber ein Programmiertest auch nicht, wenn Sie über Leute mit mehr als 3 Jahren Erfahrung sprechen. Beachten Sie, dass Referenzprüfungen in einigen Ländern selten sind und es in diesen Fällen üblicher sein kann, Kandidaten auf eine Weise zu testen, die Sie nicht würden, wenn Sie Referenzen nennen könnten.

Denken Sie daran, dass die Einstellung keine Einbahnstraße ist . Wenn Sie etwas verwirrt, was ein Interviewer tut oder nicht tut, ist es in Ordnung, ihn danach zu fragen (mit einigen offensichtlichen Ausnahmen). Wenn Sie befürchten, dass sie ihrer Sorgfaltspflicht nicht nachkommen, können Sie nach ihren Prioritäten bei der Einstellung fragen, ob ihre Mitarbeiter zertifiziert sind, welche Art von Profilen sie eingestellt haben, warum sie eine Stelle frei haben und so weiter. Aber nur die Tatsache, dass sie keinen Codierungstest durchgeführt haben, sagt Ihnen nicht wirklich etwas.