Quelles compétences attendriez-vous et apprécieriez-vous chez un ingénieur logiciel junior? [fermé]

64

J'ai récemment terminé ma maîtrise en génie logiciel et je suis sur le point de commencer ma carrière professionnelle dans quelques semaines. Mon rôle sera celui de développeur junior pour une entreprise qui développe des logiciels utilisant Java et les technologies associées (parmi lesquelles Spring et Hibernate). Pour être honnête, je suis vraiment excité par ce qui s'en vient, surtout parce que je veux développer ma carrière de développeur Java. Je suis également très intéressé à acquérir de l'expérience dans le domaine. En outre, il s’agira de ma première expérience professionnelle en tant que développeur professionnel et je souhaite vraiment faire de mon mieux dès le début.

J'aimerais savoir quelles compétences et habiletés, tant techniques que physiques, seraient les plus appréciées dans un nouveau professionnel (développeur junior) qui pourrait faire partie de votre équipe et dans quelles compétences je devrais me concentrer pour réussir une carrière en tant que logiciel. Ingénieur.

Bartzilla
la source
13
Une question merveilleuse posée avec éloquence.
Adam Crossland
2
Trouvez un médicament / une activité de base pour les situations où, dans le monde réel, les conditions de travail ne fonctionnent pas comme vous pouvez l'imaginer, mais assurez-vous que leurs effets ne se propagent pas jusqu'au lendemain matin.
Job le
Attention aux détails - rien n'est plus important.
Orbling
1
Depuis que vous êtes un JSWE. Soyez compétent dans les langues dans lesquelles vous avez dit être compétent. Rien n’exaspère davantage d’embaucher quelqu'un qui dit connaître une langue mais ne l’a apprise que dans une classe. Exemple: les personnes qui inscrivent C / C ++ sur leur CV mais ne peuvent pas utiliser l’un ou l’autre (Dieu nous en préserve, ne peuvent pas l’utiliser non plus!)
aqua
Qu'est devenu le rêve de créer des jeux vidéo? Vous "voulez développer [votre] carrière en tant que développeur Java", sérieusement? je rigole, à chacun ses propres :)
cambraca 16:03

Réponses:

50

Beaucoup d'entre elles sont vraies, peu importe où vous en êtes dans votre carrière, mais pourraient être particulièrement importantes pour quelqu'un qui commence à peine.

  • Écoute plus que tu parles. Apprenez de ce que disent les autres.
  • Être humble. N'ayez pas peur de partager vos idées, mais ne supposez pas que vous avez raison et que tout le monde a tort. Si vous voyez quelque chose que vous pensez être faux, posez des questions à ce sujet, ne faites pas de déclarations à ce sujet.
  • Continue d'apprendre. La base de votre éducation est (devrait être) grande, mais vous venez tout juste de commencer à apprendre le métier. Apprendre en faisant. Je ne pense pas que vous puissiez vraiment apprendre à moins de pratiquer ce que vous apprenez.
  • Le client sait rarement ce qu'il veut jusqu'à ce qu'il le voie. Habituez-vous à l'évolution de vos besoins. Adoptez un style de développement (si autorisé) qui permet aux clients d’obtenir rapidement des informations en retour.
  • Trouvez des personnes qui travaillent bien avec les clients et demandez-leur de vous conseiller sur la manière de développer des relations avec eux.
  • Écrivez un code robuste et bien testé. Le faire n'est pas le but; le faire correctement est. Si vous êtes bon, la vitesse viendra avec le temps.
  • Travailler dur. N'attendez pas qu'on vous demande de faire quelque chose; chercher ou demander des choses à faire.
  • Reconnaissez vos erreurs ou celles de votre équipe. Ne placez pas les membres de votre équipe sous le bus devant le client, mais soyez honnête lorsque vous rencontrez des problèmes de code.
  • Vous pensez peut-être que vos coéquipiers veulent que vous soyez un excellent codeur. Ce serait génial, mais vos coéquipiers veulent vraiment que vous soyez compétent et non un imbécile. Si vous êtes un imbécile, vous feriez mieux d'être brillant.
tvanfosson
la source
3
+1 pour "Le client sait rarement ce qu'il veut avant de l'avoir vu ..."
FrustratedWithFormsDesigner
1
+1 pour "continuer à apprendre". C’est probablement la chose la plus importante que je voudrais rechercher chez un programmeur de niveau junior
Rachel
+ pour "Réaliser ce n'est pas l'objectif recherché; le faire correctement, c'est" S'assurer que votre code fonctionne non seulement, mais qu'il est rigoureusement testé est très important. En outre, si tout est bien fait, un autre développeur peut consulter votre code, le comprendre et lire les commentaires pour ensuite prendre en charge la maintenance dudit code.
Jeremy
61

Voici une liste rapide sur ma tête:

  • Suivi (finissez ce que vous commencez)
  • Honnêteté (dites-moi si vous êtes coincé)
  • Curiosité (trouver de meilleures façons de faire les choses)
  • Ouverture d'esprit (à la critique et aux idées qui ne vous appartiennent pas)
  • Générosité (partagez ce que vous avez appris; formez la prochaine génération)
Alex Feinman
la source
1
Je suis d'accord avec toutes les qualités énumérées. Si on me demandait d'encadrer un programmeur aussi junior, je serais ravi de le faire et cela rendrait ma journée de travail beaucoup plus agréable.
Adam Crossland
3
Je pense que cette liste le résume assez bien, la seule chose que je pourrais éventuellement ajouter est la communication. J'ai vu tant de jeunes développeurs prometteurs être laissés pour compte parce qu'ils ne voulaient tout simplement pas communiquer avec les membres de leur équipe. Le codage seul ne suffit pas, ces jours-ci, vous devez parler aux utilisateurs, aux membres de l'équipe et vous impliquer. En outre, apprenez à bien écrire car vous en ferez plus que vous ne le pensiez.
Nodey The Node Guy
14
+1 Honnêteté: apprendre à dire: "Je ne comprends pas cela." - d'abord pour vous et ensuite pour vos collègues - est vraiment important. Cela ouvre la porte à la communication et à l'apprentissage. J'ai vu trop de programmeurs laisser leur ego les empêcher de développer leur esprit. Je travaille dans cette industrie depuis presque quatre décennies et je rencontre encore des problèmes que je ne comprends pas tous les jours . Donc, je google, je lis, j'écris le code de pratique, puis j'ai une compétence supplémentaire à apporter.
Peter Rowell
Sur l'ouverture d'esprit - cela inclut en particulier les exceptions au livre de règles. J'ai échoué sur ce point. Une partie de l'expérience consiste à apprendre quand enfreindre les règles. Parfois, tout contraindre à vos idéaux ne fait que compliquer les choses. OTOH, ne connaissant pas du tout les règles ...
Steve314
1
Pour ce qui est de l'honnêteté: ce que je dis aux personnes qui travaillent pour moi, c'est de passer une demi-heure à essayer de résoudre le problème par vous-même, puis de me demander de l'aide ou un indicateur. Si je n'ai pas de réponse immédiate, cognez pendant environ quatre heures avant de me faire savoir que cela prend plus que cela. C'est à ce moment-là que nous commençons à tirer les gens de d'autres tâches pour les aider. Ces jours-ci, je leur conseillerais également de rechercher, puis de demander Stack Overflow et Google en général, au début de ce processus. Mon but ici est d'empêcher la réponse d'interruption instantanée, ce qui peut tuer la productivité des gens autour de vous.
Hack Saw
8

Deux choses: la volonté d'apprendre et la capacité d'apprendre.

Dima
la source
4

La curiosité, l’enthousiasme, vous fixent un standard élevé, la volonté d’apprendre, la volonté d’admettre qu’ils ne savent pas, l’intérêt que suscite l’activité de l’entreprise et son incidence sur le travail que vous produisez. (Toutes les bonnes qualités même si vous avez 20 ans d'expérience)

De bonnes connaissances techniques sont utiles, mais vous devez montrer comment appliquer ces connaissances.

Surtout, l'intervieweur doit pouvoir vous voir travailler pour contribuer et vouloir rester. Si vous êtes trop bon, cela peut retarder certaines personnes plus rapidement que la moyenne. ;)

Peter Lawrey
la source
4

Motivation. Savez-vous comment vous motiver? Savez-vous quelle tactique peut fonctionner mieux que d'autres? Il s’agit de la conscience de soi que certaines personnes peuvent attendre de votre connaissance grâce à toute l’éducation que vous avez faite pour l’avoir découvert sur le côté.

Compétences de test et de débogage de base. Savez-vous ce qu'est un test unitaire? Connaissez-vous quelques façons de déboguer un problème? Il ne s'agit pas de savoir spécifiquement quoi faire dans un environnement, mais plutôt d'une idée générale de ce que peuvent être les tests les plus élémentaires et des stratégies à adopter pour examiner un problème.

Compétences en communication. Quelle est votre précision avec le langage? Dans quelle mesure pouvez-vous passer de technique à non technique? Certes, c'est quelque chose à développer, mais c'est quelque chose à noter et, dans certains cas, à sauver quelqu'un qui peut se mettre dans le pétrin en ne comprenant pas les implications de ce qu'il prétend. Comment vous entendez-vous avec les gens? Il ne s'agit pas d'une exigence stricte, mais si vous pouvez entretenir de bonnes relations avec vos collègues, certains travaux pourraient être un peu plus faciles à gérer. L’honnêteté et l’intégrité relèvent également de ce groupe de compétences, car on peut généralement se demander dans quelle mesure vous dites bien ce que vous voulez dire et ce que vous dites réellement. "Espace bureau" a beaucoup d'exemples de mauvaise communication et bien que le travail soit une fiction, il y a peut-être eu de nombreuses scènes qui étaient vraiment proches de la réalité pour certaines personnes en termes de travail dans des environnements de bureau.

Polyvalence. Les nouvelles personnes de l'équipe peuvent avoir un large éventail de responsabilités. Ainsi, dans une petite entreprise, vous devrez peut-être configurer des bases de données, des réseaux, des serveurs Web et d'autres éléments extérieurs au développement. Pitching pour aider une équipe à respecter une date limite serait un autre exemple ici.

JB King
la source
1
+1: J'aimerais ajouter de l' honnêteté à la section Compétences en communication. Si vous ne connaissez absolument pas quelque chose ou si vous êtes pris au dépourvu par un problème, le dire rapidement à un collègue senior ou au chef d'équipe peut aider à éviter des problèmes plus graves ultérieurement.
Oosterwal
2
Attendez ... "Office Space" est une fiction ???
PSU le
3

Pour moi, en tant que développeur junior sans aucun diplôme, ma volonté de travailler dur et de m'améliorer m'a beaucoup aidé dans ma carrière. De plus, j'ai remarqué que la capacité de faire face à certaines critiques (positives ou non) et de pouvoir donner suite à ces critiques était très appréciée de mes supérieurs.

En ce qui concerne un nouvel environnement: je conseillerais simplement de suivre le courant pendant environ la première semaine. J'ai fait l'erreur d'essayer trop fort, cela n'a pas été apprécié.

Zsub
la source
Oui. Accepter les critiques signifie poser beaucoup de questions de suivi pour que le «critique» soit plus à l'aise. Demandez quoi d'autre pourriez-vous changer pour faire mieux. Montrez l'exemple suivant avec le même problème - avez-vous fait mieux cette fois-ci? Améliorez-vous? Une fois que tout le monde vraiment obtient l' aise avec constructive critique, le plaisir commence. Rappelez-vous simplement que les professionnels de votre entreprise ne pensent peut-être pas de cette façon;)
Michael Durrant
3

Je suis d'accord avec tout ce qui a déjà été dit, mais je tiens à souligner que vous ne devez jamais oublier ces compétences générales (et générales) au lieu d'être un expert technique. Vous devriez travailler sur les deux, mais je préférerais de loin avoir un intermédiaire capable de communiquer ce qu'ils savent, puis un maître qui préfère travailler seul.

Aussi, ne passez pas trop de temps avec votre nez dans un livre. Les livres sont bons, excellents même, mais si vous passez la majeure partie de votre temps à lire et moins à travailler, vous n'obtiendrez pas la moitié moins de ces livres.

Wes Baker
la source
++ Bon point, Wes, même si je dois me demander. Si je demande aux gens ces temps-ci s'ils ont lu tel ou tel, la réponse est généralement - Lire?
Mike Dunlavey
2

Excellentes réponses à tous. J'ajouterai seulement, d'après mon expérience de vol limitée - vous savez comment on appelle cela une licence de pilote?

Une licence pour apprendre.

Mike Dunlavey
la source
2

Beaucoup de bonnes réponses.

Même si je ne travaille pas pour les «grands» et que je ne suis pas un gourou, j'ajouterai mes 2 centimes.

Soyez gentil avec les gens .

Essayez de socialiser avec vos collègues, passez un peu de votre temps avec certains d’entre eux tous les jours, si possible. Allez dîner avec eux de temps en temps, riez bien avec eux.

En d’autres termes, essayez de construire une "communauté" s’il n’en existe pas, ou d’en faire partie si elle existe.

Apprendre à connaître vos collègues vous aidera à mieux vous entendre avec eux. De plus, les chances sont bonnes que vous vous amuserez à le faire.

sm
la source
2

En plus de toutes les bonnes choses soumises par la communauté (ci-dessus), je m'attendrais également à voir des preuves de compétences difficiles. Pas de perfection ni de puissance super-geek, mais une bonne connaissance pratique des bases et des concepts de base. Vous avez déjà obtenu le poste ( félicitations en passant !), Vous y êtes donc à peu près.

Mais actualiser vos connaissances et / ou vous familiariser avec les outils, les langages et les technologies utilisés par votre entreprise signifie que vous ferez preuve de la plus grande réactivité et que vous créerez une bonne première impression.

Un développeur junior hypothétique parfait saura les bases de choses telles que

  • la langue.
  • I / O
  • Concepts OO comme l'héritage
  • Interfaces d'objet
  • accès à la base de données (en particulier en ce qui concerne la façon dont ils le font dans votre nouveau magasin de code)
  • le modèle HTTP
  • CSS
  • JavaScript / JQuery
  • conception de base de données
  • SQL et procédures stockées
  • le (s) IDE (s) que vous allez utiliser
  • cadres pertinents (vous mentionnez Spring)

etc. Il sera capable de se concentrer sur l'acquisition de nouvelles compétences sans devoir s'arrêter et apprendre les bases. Il sera capable de se poser (poser autant de questions sensées qu'il le souhaite - la plupart des développeurs expérimentés adorent se faire poser des questions techniques sensées ) grâce au tarif courant des formulaires en ligne et des pages d'administration auxquelles de nombreux juniors sont confrontés au cours des premiers mois. Devenir un développeur junior fiable peut être votre premier test d’initiation d’équipe ;-)

Quand je débutais dans l'équipe Web d'une grande entreprise, l'essentiel du travail initial qui m'était assigné était plutôt dépourvu d'inspiration, mais il m'a imposée au point que je me frayais un chemin tous les soirs pour que je puisse comprendre ce que j'allais faire. avoir à faire le lendemain . Je m'en suis tiré, mais c'était stressant cinq ou six mois après le luxe relatif de mon master ;-)

Si vous parvenez à effectuer efficacement toutes les tâches de base, vous obtiendrez des tâches plus intéressantes à réaliser assez rapidement, ce qui, bien entendu, vous aidera à faire avancer votre carrière.

Et en écho à ce que beaucoup de personnes ont dit plus haut, le monde des ordinateurs et du code évolue constamment. Vous aurez besoin d'apprendre de nouvelles choses tous les deux jours. Gardez l'esprit grand ouvert et essayez de ne pas perdre de vue la raison pour laquelle vous vous êtes embarqué dans ce processus - parce que vous le faites <3. Dans les années à venir, il se peut que cela ne soit pas au premier plan de vos préoccupations. L'enthousiasme vous aidera à surmonter la plupart des obstacles et des obstacles.

Cela dit, mon expérience des douze dernières années suggère que la plupart des juniors ne restent pas pour toujours dans leur première entreprise, alors ne soyez pas trop arrêtés pour être «parfaits». Faire des erreurs fait partie du processus qui vous mènera de débutant à l’endroit où vous vous retrouverez. Je fais cela depuis quelque temps et je supprime presque une base de données de production au moins deux ou trois fois par an.

Bonne chance dans ta carrière.

5arx
la source
1
+1 pour avoir une réponse qui mentionne quelque chose de spécifique à la programmation, et ne peut donc pas être déplacée sans modification dans le manuel de boyscout.
psr
Lol. Oui, il y a beaucoup de platitudes dans cette question;)
5arx le
1

(1) Un esprit ouvert. Vous ne voulez pas que quelqu'un qui est institutionnalisé utilise la langue X et l'environnement Y pour chaque projet. Vous voulez quelqu'un qui peut reconnaître quand une technologie en particulier ne résoudra pas un problème et ne proposera pas de bonnes solutions. En plus de cela, vous voulez quelqu'un qui puisse défier la pensée conventionnelle et proposer des solutions qui motivent l'entreprise. Vous pouvez en faire l'expérience vous-même, mais j'ai constaté que les gens s'habituent tellement à un processus qu'ils ne le modifient pas, mais ils se plaignent toujours de la douleur que cela leur cause. Habituellement, à mon arrivée, je cherche des solutions pour améliorer cela et proposer des solutions à mon responsable. Maintenant, je dirais aussi que le personnel doit être "diplomate" à propos de ses suggestions :)

(2) Bonnes compétences en modélisation de domaine. C’est un très gros problème que certaines personnes ont oublié. Dans certains des endroits où j'ai travaillé, apprendre le métier, c'est «se salir les mains» et laisser les gens craindre des problèmes purement techniques tels que l'intégration de correcteurs orthographiques dans le contrôle de version, etc., sans investir beaucoup de temps à améliorer la Entreprise. Pouvoir regarder une entreprise, créer des modèles (simplifications) et la communiquer à différents publics, qu’il soit parlé, visuel (UML, SSADM ou autre) ou un peu des deux, vous voulez une personne qui a cette mentalité.

Deux livres que je peux recommander à ce sujet sont: The Passionate Programmer et The Pragmatic Programmer . Les deux livres offrent de bons conseils aux programmeurs débutants et expérimentés.

Planète désolée
la source
+1 pour les recommandations du livre; Les compétences en modélisation de domaine OTOH mettent du temps à mûrir, je ne m'attendrais donc pas à celles d'un junior. Mais s’efforcer de comprendre le point de vue commercial et de résoudre les véritables problèmes des utilisateurs est important, à tous les niveaux.
Péter Török le
Peter, à l'université (du moins d'après ce que j'ai vu), un développeur acquiert de solides compétences en matière d'analyse. C’est vraiment l’objectif de modéliser, d’extraire une expertise et de la rendre compréhensible pour les autres. Donc, je dirais que c'est une compétence fondamentale que j'attendrais de la plupart des développeurs. Etre capable de cadrer un problème particulier au niveau micro / marco et de l'expliquer pour dire à un trader financier, obtenir un feedback et le communiquer à vos coéquipiers. C'est juste mon point de vue cependant.
Desolate Planet
1

Prendre l'initiative. Beaucoup de gens ne le font pas du tout et attendent toujours qu'on leur dise exactement quoi faire. Si vous voyez quelque chose qui devrait être amélioré, faites-le. Vous avez une idée pour améliorer quelque chose? Avance le. Besoin d'une autre compétence pour améliorer quelque chose? Apprend le.

Montre que vous vous souciez de ce que vous faites et que vous voulez vous améliorer.

jmq
la source
1

Je ne vous effraie pas du tout, mais je vais vous mettre en garde contre cela dans chaque entreprise dans laquelle j'ai travaillé, ce sont les méthodes de défilement énormes et cochonnes, ainsi que les objets mal nommés qui vous font craindre d'ouvrir les fichiers source en toute transparence. choc et horreur d'un tel gâchis. Les emplacements que vous trouverez habituellement se trouvent dans les gestionnaires d'événements pour les boutons "OK" des boîtes de dialogue ou le bouton "Soumettre" des pages Web.

Je vous en prie du fond du coeur. S'il vous plaît, installez une cloche d'alarme mentale, quand une méthode commence à paraître grande, et en gros, je veux dire plus de 10 lignes environ, pensez à créer une autre méthode ... autant de méthodes plus tard, vous comprendrez à quel point la responsabilité objet que vous développez en a.

La prochaine cloche d'alarme que je recommanderais, ce sont les 2-3 paramètres maximum d'une méthode. Si vous voyez des méthodes avec environ 10 paramètres d'entrée, dites bonjour à la programmation fonctionnelle dans un langage OO ...

Désolé pour la légère frustration exprimée dans cette réponse, je ne peux tout simplement pas crier assez à quel point il est bénéfique d'apprendre à écrire du code épuré.

Veuillez vous procurer une copie de Robert. C Martins Clean Code . Lisez-le chaque semaine, sortez-le pour le dîner, dormez-le sous votre oreiller, ayez-en un exemplaire dans les toilettes, imprimez quelques pages et collez-les au plafond afin de pouvoir les lire avant de vous coucher. vous vous endormez;).

Je vous souhaite tout le meilleur dans votre carrière. Votre passion à ce stade montre déjà que vous ferez très bien.

Martin Blore
la source
1

Le seul conseil que je puisse offrir est de ne jamais cesser d'apprendre. En prenant le temps d'apprendre de nouvelles techniques et de nouvelles langues, ces développeurs rockstar ont réussi à prendre leur temps. Bien que ce soit formidable si vous restez là-bas pendant 10 ans, lorsque vous sortez, vous ne connaîtrez que Java + Spring + Hibernate. C'est pourquoi, pendant mon temps libre, je regarde la plate-forme .NET, Python et le code C ++ occasionnel pour rester actif. En tant que personne travaillant sur un MS en mode inflexe, le temps peut être précieux et doit être dépensé judicieusement.

Woot4Moo
la source
1

La possibilité d'utiliser Google. Vraiment.

Ce n’est pas que je n’aiderais jamais personne, surtout un collègue junior. Mais il n'y a rien de plus frustrant que d'avoir quelqu'un qui ne fasse pas preuve de diligence raisonnable dans la résolution des problèmes, de façon continue.

Mon conseil à junior soft. Les ingénieurs doivent faire preuve de diligence raisonnable dans la résolution des problèmes. Utilisez google, wikipedia ou stackoverflow avec diligence et méthode lorsque vous ne savez rien.

N'attendez pas trop longtemps avant de faire appel à un collègue plus expérimenté - cela dépend du type d'organisation. Dans une bonne entreprise où les gens s'entraident, si vous passez plus d'une demi-journée à essayer de trouver une réponse, n'hésitez pas à arrêter vos propres recherches pour demander de l'aide.

Dans d'autres organisations où les gens sont toujours méchants les uns envers les autres, il se peut que vous deviez passer quelques jours seul (en documentant tout ce que vous avez fait et partout où vous avez fait des recherches) avant de demander de l'aide. Dans de telles entreprises, documenter ce que vous avez fait vous aide à pouvoir leur montrer que "vous l'avez fait sur Google", car ce sera la première réplique qu'ils vous adresseront.

Quoi qu’il en soit, ce que je rechercherais chez un ingénieur débutant, c’est de faire preuve de la diligence requise pour tenter de résoudre un problème au lieu de s’attendre à ce que des réponses lui soient fournies tout le temps. En un mot, montrez-moi que vous pouvez utiliser Google.

luis.espinal
la source
1
  • Passion pour le travail

  • Envie d'apprendre plus et plus et plus ..

  • honnêteté

  • cohérence

Jigar Joshi
la source
1

Excellentes réponses là-bas, si vous suivez tout ce que les gens disent ici, je suis sûr que quiconque sera doué pour ce qu'il / elle fait,

Je veux juste souligner quelques points.

  • Soyez humble, n'ayez pas peur de donner votre avis, mais une fois qu'un avis est partagé, ne vous y tenez pas, soyez prêt à apprendre des autres.
  • Établissez des relations avec les membres de votre équipe, autant que nous voulions travailler avec des programmeurs intelligents et bien établis, nous avons toujours besoin de personnes à qui nous pouvons parler. Avoir une relation saine avec vous, les membres de l’équipe facilitera grandement votre carrière.
  • Soyez proactif, n'attendez pas qu'on vous donne du travail, trouvez du travail, proposez de nouvelles idées pour l'environnement, même si elles ne sont pas acceptées, cela augmentera votre valeur pour l'entreprise.
  • Partagez avec les autres ce que vous avez appris, cela augmentera votre niveau de compréhension et augmentera votre valeur pour l'entreprise et la communauté.
  • Terminez ce que vous commencez, l'engagement est une grande qualité à avoir.
  • Restez heureux et ne soyez pas déçu quand les choses ne se passent pas comme prévu, il y aura des hauts et des bas, mais accrochez-vous

Tout le meilleur dans votre travail

Brian Paul
la source
1

Je ne pense pas que beaucoup de programmeurs juniors possèdent une compétence, mais c’est une très bonne compétence, celle de créer vos propres outils. Vous pouvez économiser beaucoup de temps et d’efforts avec quelques outils personnalisés bien conçus. Et ils ne doivent pas forcément être sophistiqués, la plupart des miens sont des scripts shell à 3 lignes, même si certains sont beaucoup plus longs.

Mais apprendre à automatiser les choses vous facilitera la vie. (Et impressionnez vos collègues quand vous pouvez faire les choses bien)

Zachary K
la source
-3
  • Une forte aversion pour Java et C ++.
  • Compréhension de base des composants internes du système d'exploitation, des algorithmes et des structures de données.
  • Excellente maîtrise de C et d'au moins un langage de script.
  • Connaissance pratique d'un VCS traditionnel (Mercurial, Subversion ou Git).
  • La capacité de travailler efficacement sur la ligne de commande.
  • N'aime pas Windows et l'utilisation à domicile occasionnelle d'un système d'exploitation dérivé de Unix, tel que Linux, BSD ou Solaris, à des fins de développement ou d'utilisation générale.
Matt Joiner
la source
Je ne pense pas qu'un fort dégoût de Java / C # / C ++ soit aussi important que de comprendre que le monde ne commence pas et ne finit pas avec eux. Java a ses utilisations, mais Ruby, PHP, Erlang, Lisp, etc.
Nachary K
Combien de temps faut-il pour développer une connaissance pratique d'un VCS traditionnel?
Andrew M
@ Andrew M: Cela peut prendre des semaines pour maîtriser la pléthore d'outils entourant un VCS. Diffs, branches, patches, fusion. Ensuite, il faut travailler sur les limitations ou les complications excessives de chaque VCS.
Matt Joiner
@ Matt: Je vois, merci. Alors, quelle est la meilleure façon de faire cela vous-même? Est-ce que simplement l'utiliser pour vos propres projets d'animaux serait une pratique suffisante?
Andrew M
2
Votre premier et dernier point n'a rien à voir avec le fait de développer ou d'apprendre (les principales choses dont vous avez besoin des nouveaux développeurs). Avoir une «forte aversion pour XYZ» n'est utile que si tous les membres de l'équipe partagent cette répulsion. Si tout le monde ne le fait pas, cela ne fera que provoquer des divisions. Il n'y a pas de différence entre un hater Windows et un hater Linux, si ce n'est qu'ils sont tous deux haïsseurs. D'autre part, une personne ayant des raisons de ne pas aimer quelque chose en raison de son expérience personnelle signifie qu'elle a quelque chose à apporter à la table - C'EST ça vaut la peine d'avoir ... Mais utiliser Suse à la maison ne vous rendra pas plus intelligent.
CorsiKa