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.
la source
Réponses:
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.
la source
Voici une liste rapide sur ma tête:
la source
Deux choses: la volonté d'apprendre et la capacité d'apprendre.
la source
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. ;)
la source
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.
la source
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é.
la source
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.
la source
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.
la source
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.
la source
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
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.
la source
(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.
la source
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.
la source
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.
la source
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.
la source
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.
la source
Passion pour le travail
Envie d'apprendre plus et plus et plus ..
honnêteté
cohérence
la source
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.
Tout le meilleur dans votre travail
la source
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)
la source
la source