Je suis un récent diplômé d'université (mai dernier!). Pendant que j'étais encore à l'école, je voulais m'assurer d'avoir un emploi avant d'obtenir mon diplôme, et très tôt (probablement trop tôt) dans ma recherche d'emploi, je me suis installé dans une région dans laquelle j'espérais déménager après le premier cycle .
Cependant, je devine cette décision depuis des mois maintenant, pour plusieurs raisons. La première est que je ne suis pas très mis au défi au travail, et je sens que je n'ai pas beaucoup amélioré la programmation depuis que j'ai commencé ici. Je peux toujours prendre le temps de travailler sur l'open source (et je l'ai déjà fait) en dehors de mon travail, donc j'ai un lieu pour contourner cette déception. Plus important encore, je suis préoccupé par le fait que mon travail consiste essentiellement à travailler sur une ancienne application Web Perl grinçante (en utilisant Mason et un ORM interne étrange).
Suis-je me tirer une balle dans le pied ici en travaillant avec une technologie qui n'est plus populaire et ne m'aidera pas vraiment à trouver un emploi à l'avenir? Je vois rarement des jobs Perl, et quand je le fais, cela fait généralement quelque chose qui ne m'intéresse pas (trucs de développement web frontal).
La programmation de systèmes, la visualisation, la programmation réseau, ou au moins les trucs de développement web backend sont le genre de sujets que j'apprécierais réellement travailler - il ne semble pas que mon expérience de travail actuelle m'aide à atteindre des postes faisant l'une de ces choses .
Réponses:
Tout d'abord, arrêtez de penser que votre travail n'amène pas votre chemin vers celui de vos rêves! Chaque travail le fait! Tout dépend de vous!
Ainsi, les moyens qui vous aident sont les suivants:
Et ne restez pas longtemps sur ce poste si vous n'êtes pas satisfait - juste assez pour apprendre les compétences de base, pour montrer votre volonté d'apprendre et votre volonté de surmonter la lourdeur de vos tâches!
Lorsque vous postulez pour votre deuxième emploi dans un avenir plus ou moins proche, vous pouvez toujours être traité comme un développeur junior! Vous devriez essayer de mettre l'accent sur ce que vous avez appris lors de votre premier emploi, comment vous avez résolu vos problèmes de maintenance du code hérité et du système de friches industrielles, comment vous avez réussi à étendre vos horizons et quelles nouvelles fonctionnalités intéressantes vous y avez apprises.
Ne jamais, jamais dire lors de l'entretien d'embauche que vous vous ennuyez avec votre emploi actuel et c'est la raison pour laquelle vous cherchez autre chose. "Ennuyeux" est si subjectif et signifie souvent que vous n'êtes tout simplement pas assez bon pour relever le défi d'apprendre les choses dans votre position actuelle et de les appliquer en conséquence. Montrez votre volonté d'apprendre, d'élargir vos connaissances et vous obtiendrez l'emploi de vos rêves, j'en suis sûr.
la source
Les premiers emplois dans l'industrie du logiciel sont souvent des emplois de merde. Bien que l'apprentissage de certaines compétences en programmation se produise, la formation la plus importante que vous recevez est de savoir comment travailler dans une entreprise.
Se présenter régulièrement, travailler plus de 8 heures par jour, utiliser un logiciel de contrôle de source, traiter avec des patrons et des collègues, recevoir cet appel à 3 heures du matin parce que le serveur de production est tombé en panne et qu'il doit être réparé ... ce sont les compétences que vous '' réapprendre de votre premier emploi.
Cela étant dit, si vous vous ennuyez et que vous n'aimez pas ce que vous faites, arrêtez. Si vous pensez que ce travail ne vous aidera pas à atteindre votre objectif de carrière éventuel, arrêtez. Il y a beaucoup d'emplois là-bas pour les personnes talentueuses.
la source
J'examinerai séparément différents aspects de votre question:
la source
Ce que vous appelez la technologie «hors style», c'est ce que la majorité de cette industrie représente. La raison est simple: il y a plus de développement pour maintenir les systèmes existants que de nouveaux. Et même lors du développement de nouvelles technologies, elles seront souvent développées à l'aide de technologies plus anciennes, mais éprouvées et qui s'intègrent dans un paysage architectural plus vaste. Ce n'est que la réalité du développement logiciel. Peu de développeurs sont en mesure de toujours travailler à la pointe de la technologie.
À mon avis, il y a moins de gloire à travailler avec [insérer ici une nouvelle technologie super cool] qu'à livrer dans les délais, le budget et les attentes. C'est quelque chose que vous ne pouvez apprendre que par l'expérience et qui est complètement indépendant de la technologie. Je dirais que vous êtes sur une bonne voie en ce moment. Continuez à apprendre le métier et l'art du développement de logiciels sur le tas et suivez la courbe technologique du mieux que vous pouvez en dehors du travail. C'est ainsi que la plupart d'entre nous le font.
la source
En désaccord avec tout le monde, ce travail pourrait très bien vous nuire . J'interroge régulièrement des candidats qui tentent de s'éloigner de leur premier emploi après l'université. Ils étaient généralement bloqués en utilisant un langage qui a tendance à être utilisé pour la maintenance ainsi qu'une tonne de "frameworks" internes. En d'autres termes, ils ont appris à utiliser une boîte à outils à laquelle ils n'auront plus jamais accès, une perte de temps en termes d'employabilité.
En plus de cela, la plupart des ateliers de maintenance auxquels j'ai été exposé ne vous enseignent pas les compétences dont vous avez besoin pour faire partie d'un véritable effort de développement. Lorsque j'interviewe quelqu'un qui sort de son premier emploi, je veux savoir qu'il comprend:
J'ai acquis la plupart de ces compétences lors de mon premier emploi en étant exposé à des gens intelligents et en travaillant avec eux tous les jours. Si vous ne pensez pas que vous apprenez quoi que ce soit (sur les logiciels ou les affaires), alors commencez à chercher un autre emploi.
Edit: En guise de remarque, je me souviens de la recherche d'emploi hors du collège. J'étais à un salon de l'emploi et j'ai commencé à parler à une entreprise qui travaillait avec des cabinets d'avocats. J'ai commencé à leur poser des questions sur leurs pratiques de développement, et il s'est avéré qu'ils faisaient tout dans VBA. Je les ai remerciés de leur temps et je suis sorti de là.
la source
Si j'étais vous, j'envisagerais certainement de faire de la lecture et de la programmation après le travail dans un autre langage (par exemple Python, Java, Scala, Ruby, C ++, etc.). qui sont plus largement utilisés que Perl. De plus, si vous avez d'autres domaines d'intérêt, je ferais certainement une lecture supplémentaire.
D'un autre côté, sachez que de nombreuses techniques de programmation que vous utilisez sont probablement les mêmes quel que soit le langage de programmation.
Donc, encore une fois, ma suggestion serait: ne vous inquiétez pas trop mais commencez à apprendre quelque chose de nouveau pendant votre temps libre. Dès que vous aurez rassemblé suffisamment de connaissances, vous trouverez sûrement un travail plus excitant.
la source
Si vous ne voulez plus travailler en Perl, ça va.
Ce n'est pas parce que Perl n'a pas beaucoup de flash actuellement qu'il n'est pas populaire.
Je voudrais souligner que l' élan de Perl a considérablement augmenté au cours des 5 dernières années.
Il y a eu des versions plus stables de Perl au cours de chacune des 2 dernières années, que dans aucune des années précédentes.
L'orignal est considéré par la plupart comme l'un des meilleurs systèmes d'objets Perl à ce jour, et il ne remonte qu'au début de 2006. Les prochains systèmes d'objets les plus populaires sont essentiellement des systèmes d'objets Moose simplifiés .
Si vous voulez une preuve de la popularité de Moose , voyez combien de modules CPAN dépendent de Moose .
Parmi les modules nécessitant Moose se trouve Dist :: Zilla , qui a toujours requis Moose . Au cas où vous ne le sauriez pas, Dist :: Zilla est sans doute le meilleur moyen de construire et de publier des modules CPAN .
De plus, il y a encore de nouveaux projets sympas qui utilisent Perl. Le Lacuna Expanse pour un.
la source
Quelqu'un doit ramasser les ordures, nettoyer les toilettes, creuser des fossés et travailler chez McDonalds. En ce moment, vous faites la version de développement logiciel de cela.
Il n'y a RIEN de mal à reconnaître cela et à aspirer à quelque chose de plus grand!
Ce que vous faites maintenant façonne définitivement ce que vous ferez demain, l'année prochaine et les dix prochaines années!
Quiconque dit différent essaie de vous garder en bas ou de vous sentir mieux pour être dans le même endroit déprimant!
Quant à Perl, il est démodé au sens «carrière» du mot. Comme à moins que vous ne vouliez faire carrière comme étant le gars de Perl , commencez à apprendre quelque chose de plus récent et de plus en vogue. Python, Java, C # ouvrira plus de portes et sera plus commercialisable ou quelque chose qui est sur le point de frapper gros dans quelques années comme Erlang.
Cela dit, * apprendre à ne pas faire ** est tout aussi précieux que comment faire , et apprendre des autres erreurs est moins douloureux que d'apprendre de ses propres moyens.
En ce moment, vous obtenez des leçons sur ces deux choses.
la source
Il y a encore beaucoup de demande pour des gens bons avec perl. Vous constaterez que l'industrie des réseaux et de nombreux travaux d'administrateur système basés sur * nix utilisent largement Perl.
Cela étant dit, j'en fais écho à d'autres qui suggèrent de repousser vos propres limites. Même si vous ne travaillez qu'avec Perl, trouvez des moyens d'optimiser et de rationaliser les programmes. Par exemple, si vous voyez une approche linéaire adoptée avec un programme (souvent le signe d'un programmeur inexpérimenté), pouvez-vous trouver un moyen de modulariser le code pour améliorer la maintenabilité? La capacité de base à lire un peu de code, quel que soit le langage, à l'optimiser et à le transformer en un meilleur code est une compétence très recherchée.
la source
network programming
, ou au moins les trucs de développement web backend sont le genre de sujets que j'aimerais réellement travailler dans "hmm ... pas ce que j'ai lu ... et il y a des emplois dans ces domaines .. par exemple l'industrie des réseaux, comme indiqué. Je travaille pour une société Internet de niveau 1, perl est largement utilisé pour le travail back-end.Cherchez des occasions d'acquérir et de maintenir une expérience dans d'autres langues, tout en montrant que vous êtes un employé dévoué qui peut relever le défi. Conduisez-vous pour maintenir un rendement de travail constant de la plus haute qualité possible et utilisez tout le temps disponible pour prendre plus de travail ou si vous êtes autorisé à créer des choses qui vous permettront de développer des compétences et des connaissances dans d'autres domaines. Même une démo simple qui résout un problème commercial réel d'une manière différente (avec un langage plus en vogue) vous permettra d'améliorer vos compétences et montrera à votre patron que vous pensez activement hors des sentiers battus. Faites juste attention à ne pas être perçu comme vous dérobant à vos autres tâches simplement pour travailler sur des projets parallèles.
Le dévouement est la clé. Les diplômés ne devraient pas avoir des années d'expérience dans de nombreuses langues. Vous pouvez toujours passer un an à développer des compétences de communication essentielles et à montrer que vous pouvez relever le défi, même si le défi consiste à regarder au-delà de ce que vous jugez "ennuyeux". Apprenez à revendre vos compétences lorsque vient le temps de passer à autre chose. Vous attendiez à poursuivre l' apprentissage au travail, et de montrer le prochain employeur que vous cherchez activement à améliorer les compétences.
Rappelez-vous, personne n'aime employer un "je-sais-tout". J'ai toujours cherché à embaucher des personnes - même pour des postes supérieurs - qui veulent apprendre et grandir davantage.
la source
Schwern,
Je pensais exactement la même chose que vous à bien des égards. Je suis sorti de l'Université avec de solides compétences en Java et en Python. Mon premier travail consistait à travailler avec Delphi. J'étais immédiatement inquiet à ce sujet, mais comme je n'avais pas d'emploi et que je venais de sortir de l'université, j'ai décidé de mordre la balle et de prendre le poste car j'aurais de l'expérience en tant que programmeur quelle que soit la langue.
Mon deuxième travail consistait à travailler dans une grande banque faisant le développement Smalltalk la plupart du temps, avec un peu de Perl et Java. Mes amis se sont moqués de moi car je ne pouvais pas trouver un emploi en tant que développeur Java principal et m'ont dit que j'endommageais mon CV. J'ai maintenant hâte de commencer un nouvel emploi dans quelques semaines avec toutes les technologies avec lesquelles je veux travailler et un meilleur salaire.
Évidemment, je ne peux pas dire que votre expérience sera la même que la mienne, mais il y a quelques leçons que vous pouvez en tirer pour réfléchir. Premièrement, la programmation est secondaire à ce que vous faites. Si vous avez de bonnes compétences en modélisation de domaine et pouvez apprendre rapidement les processus métier, cela rapportera plus de dividendes à long terme, au lieu d'éviter d'apprendre comment fonctionne l'entreprise et de passer plus de temps à se concentrer sur des problèmes mineurs, ce que j'ai vu dans la plupart des endroits J'ai travaillé.
La deuxième chose dont vous devez vous souvenir est que vous êtes sur l'horloge d'une autre personne. Si vous voulez avoir votre mot à dire sur ce qu'il faut faire et avoir le contrôle total sur tout, alors lancez votre propre entreprise. J'ai vu beaucoup trop de gens rejoindre une entreprise et gémir sur la technologie héritée, je l'ai fait moi-même lorsque j'ai obtenu mon diplôme. En règle générale, ces personnes sont considérées comme toxiques pour le lieu de travail et ne durent pas très longtemps. L'essentiel à retenir est que la technologie est là pour soutenir l'entreprise, et non l'inverse. Le mieux que vous puissiez faire dans ces situations est de leur créer des opportunités, sinon, il est temps de faire vos valises et de partir et de chercher un autre emploi, mais vous allez trouver chaque entreprise pour laquelle vous travaillez a des problèmes hérités d'une certaine sorte.
Au-delà de ce que j'ai évoqué, je dirai que vous ne voulez pas paraître «institutionnalisé». Ce que je veux dire par là, c'est que vous êtes obligé d'utiliser des langues et des technologies particulières et que vous ne pouvez pas aller au-delà. Vous voulez cultiver une certaine flexibilité dans votre carrière, qui inclut des compétences en modélisation de domaine. Depuis le début de votre carrière, je vais vous indiquer du bon matériel que j'aurais aimé avoir à ma disposition quand j'ai commencé:
Le programmeur passionné
Le programmeur pragmatique
Conception basée sur le domaine
Le programmeur de carrière
la source
Code un peu en dehors du travail, mais je ne pense pas que tu te blesses pour l'instant. Vous êtes un recruteur récent, vous êtes donc un développeur de niveau d'entrée - à ce stade du jeu, vous devriez apprendre des choses comme le cycle de développement et comment les choses "devraient" être faites.
Poursuivez certaines choses en dehors du travail afin de pouvoir améliorer vos statistiques. À mon avis, vous pouvez coder ou non. Le langage et la syntaxe peuvent être appris - mais la capacité de penser et de résoudre des problèmes par vous-même ne le peut pas.
la source