Was ist mit Programmiersprachen als strengen Arbeitsanforderungen zu tun? [geschlossen]

22

Ich war vor kurzem auf einer "Jobmesse" und war überrascht zu sehen, wie viel Nachdruck auf die Programmiersprachen gelegt wird, mit denen die Kandidaten vertraut sind.

Aus meiner (zugegebenermaßen begrenzten) Erfahrung heraus ist es für jemanden, der bereits Erfahrung mit anderen Sprachen hat, eine ziemlich einfache Angelegenheit, eine Programmiersprache zu erlernen, obwohl es Jahre dauern kann, sie wirklich zu beherrschen der anfängliche Hochlauf.

Ich denke, ein Arbeitgeber würde sich mehr darum kümmern, mit wie vielen Sprachen / Paradigmen ich vertraut bin oder was meine Erfahrung mit Algorithmen / Software-Design ist, im Gegensatz zu der Technologie, mit der ich mich gerade auskenne.

Angenommen, ich kenne mich bereits mit Java, C ++, Smalltalk und Prolog aus. Sollte ein Arbeitsplatz, der sich auf Objective-C stützt, mich wirklich als unqualifiziert betrachten, weil mir Erfahrung in dieser Sprache fehlt? Ist dies ein Fehler in der Rekrutierungsmethodik und wenn ja, was kann ich tun, um diesen Arbeitsplatz davon zu überzeugen, dass meine mangelnde Erfahrung mit Objective-C keine Rolle spielen sollte? Ich frage hypothetisch, nicht speziell nach den genannten Programmiersprachen.

Alternativ ist meine Erfahrung begrenzt und ich gebe zu, dass mir etwas fehlt. Ist die Erfahrung mit einer Programmiersprache wichtiger als ich denke? Macht es einen Unterschied, ob es sich um eine Junior- oder Senior-Position handelt? Sollte es einen Unterschied machen?

Eiche
quelle
2
Du bist auf eine Jobmesse gegangen, also musst du Student sein ...
Job
@Job richtig, ich bin ein Doktorand. Ich habe ein paar Jahre Erfahrung in der Branche, aber ich beginne jetzt definitiv erst meine Karriere.
Oak
6
Ich möchte nur einen allgemeinen Punkt zu all den beschuldigenden HR machen. In keinem Unternehmen, für das ich gearbeitet habe (das sind einige), konnte die Personalabteilung technische Mitarbeiter einstellen, mit Ausnahme des endgültigen Stellenangebots. Insbesondere haben sie noch nie ein CV-Screening durchgeführt.
Neil Butterworth
In meinem Fall, als ich in meiner Antwort HR sagte, meinte ich eher "jemanden, der die Technologie nicht wirklich versteht und die Stellenbeschreibung schreibt". Das könnte eine Sekretärin sein, die beauftragt ist, eine Stellenbeschreibung aus den Notizen abzutippen, oder ein unglücklicher Manager, der nicht wirklich versteht, was er will.
jhocking
@oak Könntest du übrigens erklären, was du mit "Betonung" meinst? Meinen Sie damit einfach, dass die Sprachen in der Stellenbeschreibung aufgeführt sind oder dass die Leute, die Sie auf der Jobmesse getroffen haben, diesbezüglich aufdringlich waren? Wenn es nur das erstere ist, dann denk ich, bist du ein bisschen überempfindlich.
jhocking

Antworten:

24

Im Gegensatz zu den Pressemitteilungen handelt es sich derzeit um einen Arbeitgebermarkt .

Das heißt, sie können einfach wählerisch sein, was ihre Anforderungen sind. Dies bedeutet, dass sie .NET 4.0-Erfahrung und nicht nur 3.5-Erfahrung verlangen können. Dies bedeutet, dass sie Erfahrung mit Django und nicht nur mit Pylonen usw. verlangen können.

Sicher, Sie könnten in ein paar Wochen alles lernen, was Sie über Ruby wissen müssen, und Rails könnte ein paar Monate brauchen (nur Vermutungen), um sich mit ...

Der Arbeitgeber kann jedoch Lebensläufe von Personen durchsehen, die bereits mit Ruby & Rails vertraut sind.

TL; DR: Econ 101 ... Glauben Sie nicht dem Hype um den Mangel an Programmierern .

roter Schmutz
quelle
3
Ich muss darauf hinweisen, dass der Markt für Programmierer sehr standortabhängig ist. Wo ich bin (zufällig in einer großen Universitätsstadt), sagten die Orte, die ich interviewt habe, dass es für sie derzeit schwierig ist, Kandidaten zu finden.
Tesserex
15
Tesserex - das sollte übersetzt werden als "Wir können keine Programmierer finden, die alle unsere Alphabet-Suppe von Technologien kennen, zu einem Preis, den wir bereit sind zu zahlen.
Red-Dirt
21
Es gibt viele Programmierer; Was im Moment (wie immer) schwer zu finden ist, sind gute Programmierer.
tdammers
10
Im Gegenteil, als Arbeitgeber kann ich Ihnen sagen, dass dies definitiv der Markt eines Arbeitnehmers ist, zumindest für talentierte Menschen. Für große Programmierer wird das Angebot von der Nachfrage wie immer weit übertroffen. Auf der anderen Seite halte ich jemanden, der "ein paar Monate" Erfahrung hat, nicht für einen Programmierer (oder einen Schreiner, einen Arzt oder einen anderen Fachmann), so dass Ihre Zahlen wahrscheinlich weit von meinen abweichen.
Rein Henrichs
2
@Rein - Sie können sagen, dass alles, was Sie wollen, aber einfache Wirtschaft erträgt es nicht. Wenn ja, dann würden Sie das Gehalt der Top- Programmierer viel höher sehen. Ein Top- Arzt oder Anwalt wird 500.000 USD pro Jahr abrechnen ... Ein leitender Software-Ingenieur bei Google hat ein durchschnittliches Gehalt von 130.000 USD (Glastür). Ich denke, Sie wollten damit sagen, dass Sie niemanden finden konnten, der dreimal so produktiv war wie ein durchschnittlicher Ingenieur.
Red-Dirt
14

Das Hauptproblem ist, dass niemand wirklich weiß, wie man gute Programmierer anstellt. Das zweite Problem ist, dass Programmierjobs viele Bewerber anziehen.

Angesichts einer großen Anzahl von Lebensläufen wäre es sehr schön, sie durchzukämmen und die guten Programmierer herauszusuchen, aber niemand weiß, wie man das macht. Die Art und Weise, wie die meisten Unternehmen arbeiten, ist die anfängliche Sortierung in der Regel von HR. Die HR-Person kennt sich mit Smalltalk oder C ++ nur wie in der Anforderungsliste aufgeführt aus, im Gegensatz zu einer Software-Person, die vielleicht "C ++ UND Smalltalk - dieser Typ hat keine Probleme mit Objective-C".

Selbst wenn der Stapel an den Einstellungsmanager geht, ist es sehr wahrscheinlich viel zu dick, um alle zu befragen, so dass der Einstellungsmanager aus irgendeinem Grund die Bewerbungsunterlagen ablegen muss. Wenn es sich um einen C ++ - Job handelt und es mehr Personen mit mehr als 5 Jahren C ++ gibt, als es für den Manager praktisch ist, ein Vorstellungsgespräch zu führen, wirft der Manager möglicherweise alle Lebensläufe, die kein C ++ enthalten. Es ist nicht der Weg, die absolut besten Leute zu bekommen, aber niemand weiß, wie man die absolut besten Leute anstellt, und wenn Sie in der Entscheidungsfindung durch das, was auf dem Lebenslauf steht, eingeschränkt sind, sind die Leute mit C ++ Erfahrung zumindest etwas besser Wetten.

David Thornley
quelle
1
Gute Antwort. Kleinigkeit: Ich weiß nicht, ob es so ist, dass niemand wirklich weiß, wie man gute Programmierer anstellt, oder dass HR-Abteilungen und Personalvermittler es nicht wissen, und die meisten Unternehmen haben HR-gesteuerte Einstellungsprozesse. Ich würde zustimmen, dass niemand wirklich weiß, wie man gute Programmierer anstellt, ohne viel Zeit darauf zu verwenden.
Tom Anderson
@Tom Anderson: Das Beste, von dem ich gehört habe, sind Techniken, mit denen ich verhindern kann, dass schlechte Programmierer eingestellt werden. Angesichts eines Überschusses an Bewerbern und der Gründe für gute Programmierer, sich in Zahlen zu bewerben, funktioniert dies gut genug. Alle Vorschläge von Joel, die ich zum Beispiel gelesen habe, funktionieren so.
David Thornley
4
@Tom Anderson Ich würde sagen, niemand weiß, wie man einen guten von einem schlechten Programmierer unterscheidet, indem man sich einen Lebenslauf ansieht, und niemand weiß, wie man mehr Leute interviewt, als Zeit zum Reden hat. Es spielt keine Rolle, ob die Personalabteilung es leitet, oder ein technischer Personalvermittler oder der Personalmanager selbst.
Jeremy
8

Lassen Sie es uns umdrehen - wenn Sie Ziel C kennen würden, wären Sie ein C ++ - Programmierer? Ich würde sagen, nein, Sie würden nicht, die Sprachen sind zu unterschiedlich. Selbst für einfache Sprachen wie C würde ich gerne 6 Monate Erfahrung haben, bevor ich jemanden für C ++ anheuere.

Vor einigen Jahren habe ich mir PHP beigebracht. Ich würde sagen, es dauerte einige Monate, bis ich mich darin zurecht fand, mich in der Bibliothek zurechtfand, gemeinsame Redewendungen verstand usw. Und ich kannte bereits viele Sprachen.

Neil Butterworth
quelle
2
Gute Unternehmen investieren im Allgemeinen in Mitarbeiter, und es ist in den meisten Branchen durchaus üblich, einige Monate in Anspruch zu nehmen, um sich auf den neuesten Stand zu bringen. Leider folgen nur wenige Softwareunternehmen dieser Praxis. Es scheint auch (zufällig ???), dass sie zu den besten Unternehmen gehören: Google, Facebook, Microsoft, etc ...
Red-Dirt
3
"" Sie sollten mindestens eine Programmiersprache gut beherrschen und vorzugsweise C ++ oder Java. C # ist auch in Ordnung, da es Java ziemlich ähnlich ist. Sie werden erwartet, dass Sie in mindestens einigen Ihrer Interviews Code schreiben Es wird erwartet, dass Sie eine Menge Details über Ihre bevorzugte Programmiersprache wissen . "" " Steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html
red-dirt
2
Ein erfahrener Programmierer kann C ++ in ungefähr acht Stunden erlernen. Lesen Sie einfach "Effective C ++" und verstehen Sie es. Das bringt Sie über 90% der C ++ - Programmierer auf den Markt. Wenn Sie die STL verstehen, befinden Sie sich in den Top 3%.
Kevin Cline
3
@ Kevin Irony? Sarkasmus? Was?
Neil Butterworth
2
@ Kevin: Es ist klar, dass Sie nicht wissen, wovon Sie sprechen. C ++ ist eine der komplexesten Sprachen mit mehr Macken, als Sie sich vorstellen können. Niemand kann es in 8 Stunden lernen (ein Tag Arbeit !!!). In dieser Zeit kann man nicht einmal Sprachen wie PHP lernen.
Thomas Bonini
8

Es hängt von verschiedenen Aspekten des Kontexts ab. Nicht nur die Ebene der Rolle, sondern auch der Status des Projekts und des Unternehmens.

Auf der einfachsten Ebene ist jede imperative Sprache für geschweifte Klammern so ziemlich die gleiche wie jede andere.

Wenn Sie imperativ codieren können, können Sie imperativ codieren. Sei es Java, C #, C, C ++ oder sogar Javascript. Wenn Sie ein anständiges Nachschlagewerk (und möglicherweise ein bisschen Boilerplate) haben, sollten Sie in der Lage sein, an einem Nachmittag ein kleines Programm in einem der anderen auszuschalten.

Unabhängig von Ihrer Vorgeschichte kennen Sie sich mit Schleifenverzweigungen und -funktionen aus, und die Syntax ist für alle von ihnen ziemlich gleich. Wenn Ihr Verlauf OO ist, kennen Sie auch Objekte, Klassen und Schnittstellen.

Ich habe jedoch zu viele Nur-Imperativ-Programmierer gesehen, die Schwierigkeiten hatten, einfache Programme in deklarativen oder funktionalen Sprachen zu schreiben. Wenn ich einen Erlang-Shop betreiben würde, würde ich jemanden mit Erlang, oder zumindest Prolog, vorziehen, der Erfahrung mit C ++ hat.


Wie es von der Ebene der Rolle abhängt:

Rekrutierung für eine Nachwuchsrolle:

Wenn ich einen Programmierer für einen C ++ - Job auswähle, möchte ich sichergehen, dass der Kandidat in der Lage ist, bestimmte Fallstricke zu vermeiden, z. B. die Notwendigkeit, auf den Speicher oder die Länge der Arrays zu achten, nur damit sie sich anziehen nicht selbst (und mir) in den Fuß schießen. Wenn sie noch nie C oder C ++ gemacht hätten, müsste ich das im Interview herausfinden.

Und für eine leitende Rolle:

Einer der Schlüssel zum effizienten Programmieren ist das Wissen, was Sie nicht selbst schreiben sollten. Der Schlüssel dazu sind die Standardbibliotheken (und De-facto-Standardbibliotheken). Der Schlüssel dazu ist Erfahrung. Sie können sich nicht einfach eine Woche lang mit "Teach yourself Java" zusammensetzen und sich sofort von einem 10-jährigen C ++ - Programmierer in einen 10-jährigen Java-Programmierer verwandeln.


Wie das abhängt vom Zustand des Projekts / der Firma

Angesichts eines Java-Projekts ist das so ziemlich eine saubere Sache. Ich möchte, dass ein neuer leitender Angestellter viel Wissen über das Java-Ökosystem hat und in der Lage ist, über die verschiedenen verfügbaren Technologien zu beraten.

Angesichts eines ausgereiften Java-Projekts würde ich gerne einen erfahrenen C ++ - Entwickler in Betracht ziehen, der über wenig oder keine Java-Erfahrung für eine leitende Java-Rolle verfügt. Die meisten Ökosystementscheidungen sind bereits geklärt, und der neue Mitarbeiter kann Erfahrungen mit den Java-Bibliotheken sammeln, während das Unternehmen die Erfahrung des Programmierers in der OO-Softwareentwicklung nutzt.

Paul Butcher
quelle
Ich denke, Sie sprechen einen sehr wichtigen Punkt an, der das Ökosystem betrifft. Dies kann eine große Rolle spielen, und ich vermute, dass normalerweise ein erfahrener Entwickler auf Plattform X erforderlich ist, um sich mit dem X-Ökosystem vertraut zu machen. Das Erlernen der neuen Syntax und einiger neuer Paradigmen wird wahrscheinlich nicht helfen.
Oak
Ich bin mit Oak - Sie einen ausgezeichneten Punkt zu machen , dass ein gut zu sein X - Programmierer auf eine Menge Ökosystem Wissen erfordert nur die Sprache Abholung X .
Carson63000
4

Es kommt auf den Arbeitsplatz an. Wenn sie sehr beschäftigt sind, haben sie möglicherweise keine Zeit zu warten, bis Sie einen Punkt erreicht haben, an dem Sie in Objective-C arbeiten können - sie möchten möglicherweise jemanden, der den Boden unter den Füßen trifft.

Einige Arbeitsplätze sind möglicherweise bereit, ein Risiko für Sie einzugehen, wenn sie feststellen, dass Sie mit anderen Sprachen vertraut sind, über solide Grundlagen und Kenntnisse des Geschäftsbereichs verfügen. Das hängt wirklich davon ab, wie offen sie sind und wie gut Sie den Personalvermittler davon überzeugen können, dieses Risiko einzugehen.

FrustratedWithFormsDesigner
quelle
4

Mieten ist schwer; gute Leute einzustellen ist noch schwieriger. Ich habe dort eingestellt, wo ich mit einem Stapel von über 500 Bewerbungen konfrontiert war. Natürlich haben wir die Leute herausgefiltert, die am wenigsten Erfahrung damit haben, was wir wollten, um den Stapel auf eine vernünftige Größe zu bringen. Ist das fair für den exzellenten Kandidaten, der diese Sprache nicht kennt, wahrscheinlich auch nicht. Aber wenn ich 100 Leute finde, die die Qualifikationen haben, die ich suche, werde ich wirklich nicht viel Zeit mit den 400 verbringen, die das nicht getan haben - egal wie gut sie sind.

Jetzt bei der Einstellung habe ich vielleicht eine lange Liste von Anforderungen, aber normalerweise sind nur ein oder zwei Deal Breaker. Und wenn Sie niemanden mit der anfänglichen Liste der Qualifikationen finden, die Sie interviewen möchten (oder später, wenn alle das Interview, das ich gesehen habe, nicht bestehen), dann gehen sie normalerweise zurück und schauen sich die Leute an, denen einige fehlen der weniger kritischen Qualifikationen oder Menschen, die etwas Ähnliches, aber nicht dasselbe haben. In diesen Fällen suchen Sie häufig nach Informationen über die Erfahrung der Person, die sie besser für Ihren Job machen als jemanden mit allen technischen Qualifikationen. Zum Beispiel würde ich eine Datenanalystin mit Erfahrung in einer anderen Unternehmensdatenbank in Betracht ziehen, wenn sie Erfahrung in meinem Geschäftsbereich hätte (tatsächlich würde diese Person wahrscheinlich meinen ersten Schnitt machen, wenn ich alle Lebensläufe sehen würde). Gleiches gilt für C # und Java. Wenn die Person eine Arbeit mit einer ähnlichen Komplexität und insbesondere in einem ähnlichen Geschäftsbereich ausführt, ist sie möglicherweise ein sehr guter Kandidat, auch wenn sie die andere Sprache beherrscht.

Wenn ich jedoch kein recht formelles Schulungsprogramm für Einsteiger hätte, würde ich mit geringerer Wahrscheinlichkeit von Leuten eingestellt werden, die nicht meine Mindestkenntnisse in Sprachen erfüllen. Und fast nie von einer Gruppe, die nichts von dem hatte, wonach ich suchte. Personen ohne Erfahrung müssen weniger Erfahrung mitbringen, um zu beweisen, dass sie in jeder Sprache professionell arbeiten können. Sie haben genug zu lernen bei ihrem ersten professionellen Auftritt, ohne die wichtigste Sprache zu verstehen, die wir benutzen. Und wenn Sie sie einstellen, besteht ein höheres Risiko, dass es Monate dauern kann, bis Sie nützliche Arbeit von ihnen erhalten.

Ein weiterer Punkt kommt ins Spiel, wenn der anstellende Beamte das Team auf eine neue Technologie umstellt. Wenn niemand im Team wirklich ein Experte für die Technologie ist und ich auch jemanden neu einstellen muss, werde ich versuchen, jemanden mit so viel Fachwissen einzustellen, wie ich in dieser Technologie finden kann, weil er eine Idee hat, wo die "Landminen" sind "zu vermeiden sind.

Bewerben Sie sich schließlich für die Stellen, an denen Sie interessiert sind, auch wenn Sie nicht alle angegebenen Anforderungen erfüllen (aber versuchen Sie, einige zu erfüllen, und stellen Sie Beamte ein, die ihre Zeit nicht mit Leuten verschwenden, die niemals eingestellt werden würden). Sie wissen nie, welchen Wettbewerb Sie für einen Job haben werden oder was die Leute am meisten beeindrucken wird, die die Lebensläufe überprüfen oder die Interviews führen. Was Sie zu einem Vorstellungsgespräch bei Firma A veranlassen könnte, könnte genau das sein, was Sie davon abhält, ein Vorstellungsgespräch bei Firma B zu erhalten, selbst wenn ähnliche Anforderungen auf Papier vorliegen. Darüber hinaus haben sie möglicherweise einen Job, der besser zu Ihren Qualifikationen passt, für die sie noch keine Werbung gemacht haben. Aber Sie werden nie für den Job in Betracht gezogen, wenn sie nichts über Sie wissen.

HLGEM
quelle
3

Sollte es Nein . Hat es? Ja leider Dies ist das "lila Eichhörnchen" -Syndrom: Das Unternehmen möchte seinen Kuchen auch essen und einen Kandidaten finden, der alles unter der Sonne kann, was er braucht oder braucht. Oft, aber nicht immer, weil sie entweder A) keine Ahnung haben, was Entwicklung wirklich bedeutet, und einfach annehmen, dass jemand, der alle Kriterien erfüllt, die Arbeit erledigen kann, B) wählerisch sind, weil er damit durchkommt, oder C) Sie planen, eine H-1B / Green Card / Werbung von innen einzureichen, müssen aber dafür sorgen, dass es so aussieht, als würden sie einen echten Job bewerben.

Wayne Molina
quelle
3

"Angenommen, ich kenne mich bereits mit Java, C ++, Smalltalk und Prolog aus. Sollte ein Arbeitsplatz, der sich auf Objective-C verlässt, mich wirklich als unqualifiziert betrachten, weil mir Erfahrung in dieser Sprache fehlt?"

Wenn Sie mehr als 20 Jahre Erfahrung in 3 oder 4 Sprachen mit ähnlichen Funktionen wie Objective-C haben, würde ich Sie wahrscheinlich mit Objective-C beauftragen und erwarten, dass Sie in 6 bis 8 Wochen produktiv sind. (Dies basiert auf meinen persönlichen Erfahrungen mit dem Lernen von Objective-C vor einigen Jahren).

Wenn Sie gleich nach der Schule grün sind und in keiner Hinsicht konkrete praktische Erfahrungen gesammelt haben, werden Sie wahrscheinlich nicht dazu verpflichtet, etwas zu tun, mit dem Sie nicht vertraut sind.

Objective-C ist hier ein interessanter Strohmann. Es setzt voraus, dass Sie C sehr gut kennen, dass Sie sich mit objektorientierter Analyse und objektorientiertem Design sehr gut auskennen. In den meisten Fällen müssen Sie C ++ in nicht trivialem Umfang kennen, da es C ++ - Bibliotheken gibt, mit denen Sie wahrscheinlich eine Schnittstelle herstellen möchten.

Sie müssen die manuelle Speicherverwaltung sowie die Funktionsweise der automatischen Speicherverwaltung / Speicherbereinigung und die Verwendung der einzelnen Techniken im selben Programm verstehen.

Sie müssen nicht nur Objective-C kennen, sondern auch Cocoa und POSIX, da Objective-C für alle praktischen Zwecke außerhalb der Apple-Umgebungen nutzlos ist und Sie dann auch Cocoa kennen müssen.

Und wenn Cocoa versagt, müssen Sie wissen, welche POSIX-APIs verwendet werden sollen, wenn Sie mit den Cocoa-Wrappern nicht das tun können, was Sie wollen.

Dies impliziert auch, dass Sie Unix auch in einem nicht trivialen Ausmaß kennen sollten.


quelle
2

Kommt auf die Sprache / Person an.

Wenn ich ein C # -Platz bin und sich jemand mit JAVA / J2EE-Erfahrung bewirbt, gebe ich eine Chance. Die Syntax zwischen C # und JAVA ist nicht so unterschiedlich. Codierung ist Codierung und ich denke, sobald sie sich an einige der Unterschiede gewöhnt haben, werden sie in Ordnung sein.

Gleiches gilt für JAVA -> C #.

Wenn Sie eine C # -Person wären und sich für einen C ++ - Job bewerben, möchte ich Erfahrung sehen. Es gibt zu viele Unterschiede.

Also ja, es kommt auf die Situation an

PSU_Kardi
quelle
3
Syntax ist so ein kleiner Teil des Lernens einer Sprache ..
Boris Yankov
@Boris das ist wahr, aber was er sagt, gilt immer noch auf einer gewissen Ebene, ob es Stil oder Bibliotheken oder etwas anderes ist ...
tylermac
2

Während ich denke, dass das OP völlig unschlüssig darüber ist, wie ein Programmierer, der mit vielen Paradigmen vertraut ist, leicht einen weiteren hinzufügen kann, hängt alles von der Risikoaversion des Arbeitgebers ab. Ein potenzieller Mitarbeiter, der mit seinen Werkzeugen nicht vertraut ist, ist ein Joker. Sie könnten wirklich großartig sein, aber sie könnten auch ein Flop sein, und es wird schwieriger als normal für den Interviewer, den Unterschied zu erkennen, wenn er keine detaillierten Fragen zu den von ihm verwendeten Technologien stellen kann.

Ich sage definitiv nicht, dass dies die richtige Sichtweise ist, aber einige Arbeitgeber tun dies auch. Die Schlauen nutzen dies und schöpfen die großartigen Programmierer mit 30 Jahren Erfahrung in C ++ aus, während die Dummen sie ablehnen, weil ihnen die erforderlichen 15 Jahre Ruby on Rails-Erfahrung fehlen. Programmierer können dies jedoch auch ausnutzen, indem sie eine Beschäftigung bei Arbeitgebern vermeiden, die so schlecht informiert sind. Wer will schon für einen Ort arbeiten, der systematisch schlechte Einstellungsentscheidungen trifft?

Morgan Herlocker
quelle
1
+1 für "Für den Interviewer wird es schwieriger als normal sein, den Unterschied zu erkennen, wenn er keine detaillierten Fragen zu den von ihm verwendeten Technologien stellen kann", das klingt nach einem ziemlich guten Grund.
Oak
1

Zum Teil geht es darum, dass die Personalabteilung Schlagworte in eine Stellenbeschreibung einfließen lässt, da sie die Rolle nicht wirklich versteht. Es ist der Grund, warum Sie gelegentlich auf die komische Situation einer Stellenbeschreibung stoßen, die 3 Jahre Erfahrung in einer Technologie festlegt, die es nur für 6 Monate gibt.

Ob es einen Unterschied machen soll oder nicht , hängt wirklich von der Rolle und den beteiligten Personen ab. Nahezu alle Manager, die Einstellungen vornehmen (mit Sicherheit alle klugen), weisen die Personalabteilung an, Kandidaten zu übergeben, die in den meisten Bereichen über eine große Stärke verfügen, auch wenn ihnen in der Stellenbeschreibung ein oder zwei Stichpunkte fehlen. Dies gilt jedoch im Allgemeinen nicht für Absolventen; Ich spreche von Leuten mit viel Erfahrung im Umgang mit Kunden oder führenden Teams oder so.

schockierend
quelle
0

Ich denke, ein Arbeitgeber würde sich mehr darum kümmern, mit wie vielen Sprachen / Paradigmen ich vertraut bin oder was meine Erfahrung mit Algorithmen / Software-Design ist, im Gegensatz zu der Technologie, mit der ich mich gerade auskenne.

Haben Sie sich jemals alle Elemente angesehen, die Ihren Entwicklungsstapel ausmachen? Zum Beispiel welche IDE, welches Testframework, welche kontinuierliche Integration, welche Versionskontrolle, welche Entwicklungsmethode und welche Codeparadigmen bilden eine Umgebung, in der jemand Software erstellt. Dies kann eine Reihe von Tools sein, die einige Unternehmen möglicherweise bereits kennenlernen möchten, anstatt sie von Grund auf neu erstellen zu müssen. Der Standpunkt von ironcode zum Arbeitgebermarkt ist hier ein weiterer Faktor, da es in manchen Fällen einen starken Wettbewerb um eine Position geben kann, sodass Unternehmen auf den Himmel zielen und ihn möglicherweise erhalten können.

Um ein konkreteres Beispiel für diese Umgebung zu geben: Visual Studio 2008 verwendet ASP.Net hauptsächlich in C #, nUnit, Cruise Control.Net, Subversion, Agile / Scrum mit einer Mischung aus prozeduralem OO und funktional, je nachdem, wohin man schaut. Wenn ich auf Java umsteigen wollte, könnte dies bedeuten, dass ich mich für viele dieser Funktionen an neue Tools gewöhnt habe. Dies ist möglicherweise nicht das, was ein Arbeitgeber als Kosten für die Einstellung von mir in dieser Rolle in Kauf nehmen möchte. Es kann auch einige knifflige Punkte geben, die diejenigen mit Erfahrung in dieser Version besser kennen als andere, und einige Fallstricke vermeiden, die andere dazu bringen könnten: "Warum haben sie es so gebaut?"

JB King
quelle
Interessanterweise ist die Erfahrung mit einer Quellcodeverwaltungslösung / einer IDE / einem Testframework in der Regel von untergeordneter Bedeutung für die Erfahrung mit Programmiersprachen.
Oak
-2

Nein, schau. Diese Anforderungen werden von den IT-Mitarbeitern nicht zusammengestellt. Sie werden von den HR-Leuten zusammengestellt. Und die Mitarbeiter der Personalabteilung erhalten die Anforderungen, indem sie den IT-Mitarbeitern beim Hin- und Herwechseln zur Kaffeemaschine Fragen stellen.

Sie sagen also: "Was brauchst du?" und der zufällige Mistkerl, der am Ende antwortet, sagt: "Ein Programmierer. Benötigt ein paar Jahre Erfahrung. Ich weiß nicht, 4? Und es wäre gut, wenn er .Net kennen würde." Eine vernünftige Antwort.

Aber es wird übersetzt in "4 Jahre Erfahrung in .Net 4" und es ist .Net 4, weil Sie, wenn Sie .Net googeln, über den ersten Link zu einer Seite gelangen, auf der es um .Net 4 geht.

Es gibt auch die Möglichkeit, und ich bin ein paar Mal darauf gestoßen, dass sie eine bestimmte Sprachanforderung haben, weil sie sich in diese Richtung bewegen möchten, und sie denken, dass es reibungsloser wird, wenn sie eine erfahrene Person im Personal haben.

Satanicpuppy
quelle
1
Das ist eine ziemlich bittere Antwort. Es gibt wahrscheinlich einige Unternehmen, in denen die von Ihnen beschriebene Szene wahr ist, aber die meisten sind nicht so dysfunktional.
jhocking
Nicht zustimmen. Die letzten paar Unternehmen , die ich gearbeitet habe bei nicht einmal haben HR Menschen. Und als wir für neue Mitarbeiter geworben haben, brauchten wir kaufmännische Erfahrung mit der Sprache und Plattform, auf der wir uns entwickelt haben. Warum? Denn in der Hoffnung, dass Sie jemanden finden, der so gut ist, dass Sie bereit sind, eine Weile zu warten, sollten Sie sich die zusätzliche Zeit nehmen, um mit Leuten zu sprechen, die nicht über die Erfahrung verfügen, es sei denn, es gibt keine Kandidaten mit dieser Erfahrung (und es gab sie) Sie lernen?
Carson63000