Was erwartet ein Unternehmen normalerweise von einem Perl-Entwickler? [geschlossen]

8

Gibt es gemeinsame Erwartungen von Arbeitgebern, wenn sie einen Perl-Entwickler einstellen?

Was würden Sie einem Studenten empfehlen, der Perl und Linux mag und einen Job als Perl-Entwickler bekommen möchte?

Ich suche nach Dingen, die allgemein gehalten sind und auf die meisten / alle Perl-Positionen anwendbar sind , im Gegensatz zu spezifischen Details der Anforderungen eines bestimmten Unternehmens.

Mit anderen Worten, was sollte ich wissen können, um für JEDES Unternehmen, das einen Perl-Entwickler sucht, attraktiver zu werden?

Chankey Pathak
quelle
2
Warum all die Abstimmungen?
DVK
2
Denken Sie nicht, dass Sie als PERL-Entwickler alles darüber lernen sollten, anstatt sich auf den einen oder anderen Aspekt zu konzentrieren
Pankaj Upadhyay,
An alle Abwärtswähler - Ich habe die Frage, die Subjektivität aufgrund hilfreicher Rückmeldungen des Moderators zu entfernen, grundlegend überarbeitet. Fühlen Sie sich frei, Ihre Ablehnung zu ändern.
DVK
Das ist eine gute Frage. Perl ist eine etwas veraltete Sprache, die mehr als nur Macken und Redewendungen zu haben scheint. Außerdem gibt es heutzutage mehr "Experten" -Perl-Positionen als "Junior" -Positionen.
joshin4colours
1
@joshin - hast du konkrete Beispiele dafür, wo Perl "etwas veraltet" ist?
DVK

Antworten:

20

Ein paar Punkte:

  • Als Perl-Entwickler erwartet so ziemlich jedes Unternehmen, dass Sie MEHR wissen als Perl. Selbst im reinen Perl-Shop müssen Sie (idealerweise) JavaScript / die gesamte Webentwicklung kennen. und SQL für Backend-Arbeit.

    Und die meisten Unternehmen haben eine Mischung aus Sprachen, daher sollten Sie darauf vorbereitet sein, Perl / C ++ oder Perl / Java zu sein oder was auch immer sonst benötigt wird. So sehr mich die Tatsache auch beeindruckt, es gibt nicht allzu viele gute "Perl-only" -Läden, die mir bekannt sind.

  • Wie bei jeder Sprache würde ein Unternehmen von Ihnen erwarten, dass Sie die Sprache effektiv verwenden. Dies hat mehrere Facetten, einige sind in Perl wichtiger

    • Verfügbare Bibliotheken. Dies ist natürlich ein wichtiger Punkt für Perl. Eine gute Vertrautheit mit CPAN und das Wissen, welche Bibliotheken für bestimmte allgemeine Aufgaben als "Stand der Technik" / "am häufigsten" gelten, ist ein Muss.

      Können Sie - ohne SO zu fragen - die "Standard" -Bibliothek zum Laden einer CSV-Datei rasseln? Zum Parsen von Daten aus einem HTML-Dokument? Zum Schreiben von Unit-Tests? Zum Verspotten von Objekten? Zum Generieren von JSON-Daten? Zum Lesen einfacher XML-Konfigurationsdateien? Für den Umgang mit bestellten Hashes? Zur Ausnahmebehandlung (Try / Catch-Logik)?

    • Das Gleiche gilt für Frameworks. Wissen Sie, wie Sie Unit-Tests für Perl-Module und Integrationstests für Perl-Code erstellen? Kennen Sie mindestens ein Web Templating Framework oder besser noch ein MVC Web Development Framework (Hinweis: Catalist :)? Wissen Sie, wie man Datenbankkonnektivitätsbibliotheken verwendet?

    • Kennen Sie die Interna von Perl? Können Sie mit XS-Modulen arbeiten oder zumindest den Code lesen?

    • Kennen Sie die Funktionen, die Perl in Bezug auf Ausdruckskraft zu einer einzigartigen Sprache machen, und wissen Sie, wie Sie sie verwenden? Können Sie ganz einfach nutzen map, grep, Reguläre Ausdrücke, verschachtelte Datenstrukturen, Unterprogramm Referenzen? Wissen Sie, was Autovivifizierung ist und wie Sie damit 1 Zeile Perl-Code schreiben können, der einer Seite mit Java-Code entspricht ?

    • Kennen Sie erweiterte Perl-Funktionen? Haben Sie Perl höherer Ordnung gelesen und können alle darin enthaltenen Techniken effektiv anwenden? Denken Sie daran, dass eine der Stärken von Perl darin besteht, dass es "fast Lisp" ist :) - Sie müssen also in der Lage sein, die Lispy-Stärken für Ihre Produktivität zu nutzen.

    • Wissen Sie, dass die Perl-Community als eines ihrer wichtigsten Vermögenswerte angesehen wird? Wissen Sie, an welche zwei Hauptorte Sie gehen müssen, um Perl-Fragen zu stellen?

      Haben Sie am Perl-Tag auf StackOverflow teilgenommen - sowohl intelligente Fragen gestellt als auch versucht, Fragen zu beantworten (selbst wenn Sie die perfekte Antwort nicht kennen und selbst wenn sie bereits beantwortet wurde -, werden Sie durch die PRAXIS, zu antworten, zu einem viel besseren Perl Entwickler).

  • Als Perl-Entwickler würde das Unternehmen wahrscheinlich erwarten, dass Sie entweder mit Legacy-Perl (5.8 und früher) oder, wenn Sie Glück haben, mit Modern Perl umgehen können. Das heißt, Sie müssen sowohl wissen, wie Sie das Objekt auf die alte Art konstruieren (im Detail - wissen Sie, wie man mit Inside-Out-Objekten arbeitet? Wie man Standard-OO-Muster implementiert?) - als auch, wie man Elch-basierte OO macht; Catalyst MVC-Webentwicklung und DBIx ORM-Datenzugriff. Für letztere ist das Lesen von Modern Perl von chromatic ein Muss.

  • Ein Unternehmen erwartet von Ihnen, dass Sie sprachunabhängige Kenntnisse haben. Algorithmen, Datenstrukturen, Vernetzung, gleichzeitige Programmierung, GUI-Design, Unit-Tests, Betriebssystem-Interna (oder Externals - manchmal können Sie 30 Sekunden damit verbringen, ein Unix-Shell-Pipe-Tool zu erstellen, das selbst ein erfahrener Perl-Entwickler 1-2 Stunden zum Abpolieren benötigt - und manchmal würde ein guter Chef das bemerken :))

  • Ein Unternehmen würde erwarten, dass Sie mehr als ein Perl-Code-Affe sind. Haben Sie Kommunikationsfähigkeiten? Können Sie effektiv mit Benutzern und anderen Entwicklern kommunizieren? Können Sie klaren Code / Kommentare / Dokumentation schreiben? Schreiben Sie Ihren Code so, als wäre der nächste Entwickler, der ihn verwaltet, ein wütender Psycho, der weiß, wo Sie leben? Und was am wichtigsten ist: Sind Sie bereit, das Geschäft zu lernen, das Ihr Code unterstützt ? Der Wert eines Entwicklers steigt um eine Größenordnung, wenn er versteht, was seine Benutzer tun und wie und warum sie es tun, und dies in "Wie kann ich ihre Arbeit mit meinem Produkt effizienter gestalten" umsetzen kann.

DVK
quelle
2
Ich denke, das ist eine großartige Antwort. Es nimmt eine ziemlich allgemeine Frage und generiert immer noch viele sehr nützliche Informationen.
Martin Ba
Sehr geehrte @DVK, obwohl mir Ihre Antwort gefällt, habe ich das Gefühl, dass einige der wichtigsten Kernkompetenzbereiche von Perl fehlen. Keine andere Sprache bietet eine so vollständige, bequeme und vielseitige Unicode-Unterstützung wie Perl - was jetzt, da das Web allein zu> 80% Unicode ist, wirklich wichtig ist. Java kämpft, Javascript ist ein Witz, und Python und Ruby sind für die Unicode-Verarbeitung mehr als nur unpraktisch. Zweitens erwähnen Sie nicht den Mustervergleich, der in Perl nicht einer, sondern viele Quantenzustände ist, die in einer anderen Sprache aus der Regex-Behandlung entfernt wurden. Verwenden Sie Perl für seine Stärken.
Tchrist
@tchrist - Ich habe RegEx in "Kennen Sie die Funktionen, die Perl zu einer einzigartigen Sprache in Bezug auf Ausdruckskraft machen, und wie man sie verwendet?" erwähnt. Sektion. Nicht qualifiziert, um über Unicode zu sprechen, aber Sie können es gerne bearbeiten, da ich weiß, dass Sie es sind :)
DVK
1
Epische Antwort DVK. Gut gemacht, Sir.
Rocklan
1
Ich habe den Job als Perl-Entwickler vor 3 Monaten bekommen, heute habe ich meine alte Frage gelesen und jetzt habe ich das Gefühl, dass alles, was Sie in Ihrer Antwort angegeben haben, zu 100% korrekt ist. Sehr gute Antwort. Danke :) und ja, ich arbeite am Legacy-Code (wir verwenden Perl 5.8.5 in unserer Firma).
Chankey Pathak
0

Ich denke du hast ziemlich recht. Es hängt ganz davon ab, was die Besonderheiten eines Unternehmens erfordern, wie viel Erfahrung die bereits dort tätigen Personen haben und wie ihre Kundenbasis ist (dh welche Probleme sie lösen, um Umsatz zu generieren). Am besten lesen Sie einfach die Stellenausschreibungen durch und finden heraus, welche Probleme Perl-Entwickler lösen. Versuchen Sie, ein Unternehmen zu finden, das Ihnen ein Gleichgewicht zwischen Wachstum / Erfahrung, Kultur und Vergütung bietet, das mit dem übereinstimmt, was Sie suchen.

Für mich muss ich an der Lösung interessanter Codierungsprobleme beteiligt sein, und in diesem Bereich sind nicht alle Orte gleich. Zum Beispiel habe ich Interesse an Webentwicklung, Automatisierung, großen Datenmengen und Benutzererfahrung. Aus diesem Grund mag ich Orte mit Webanwendungen, die eine große und vielfältige Benutzerbasis haben, mit denen ich interagieren kann, um Feedback zu erhalten, was sie wollen, damit ich es für sie erstellen kann. Es ist ein Plus, wenn der Datensatz, an dem ich arbeite, groß / komplex ist (weil mir das Spaß macht) und wenn es Möglichkeiten gibt, Automatisierungsskripte zu schreiben (z. B. Stapelverarbeitung zum Versenden von E-Mail-Benachrichtigungen, regelmäßige DB-Bereinigungs- und Massageaufgaben, automatisierte Berichte , usw.).

Welche Art von Code schreiben Sie in Ihrer Freizeit, wenn Sie nicht für den Unterricht codieren? Versuchen Sie, einen Ort zu finden, an dem dieselbe Art von Code geschrieben wird.

Jefflunt
quelle
0

Zusammen mit den von @DVK und anderen Entwicklern erwähnten Punkten suchen Unternehmen möglicherweise nach guten C-Programmierkenntnissen, da aus Leistungsgründen viele Parsing-Module in C geschrieben sind, sodass Sie manchmal für einige Probleme debuggen müssen. Also besser, wenn Sie Code in C-Sprache kennen.

ppant
quelle
Ich bekomme das jetzt :)
Chankey Pathak