
Traduit pour vous
un article de Chuck Groom , un programmeur avec 18 ans d'expérience, travaillant actuellement comme directeur technique d'une grande entreprise de New York. Chuck recherche souvent des employés pour son entreprise et, dans l'article, raconte les qualités et l'expérience qu'un diplômé d'un bootcamp (ainsi que d'une université ou de cours) doit avoir pour être embauché.
En tant que directeur technique de ma propre entreprise informatique, je recherche souvent de nouveaux employés. Je parle souvent avec des diplômés de bootcamps qui y ont passé 3-6 mois. La principale question qui les intéresse est de savoir comment obtenir la place d'un développeur.
Skillbox recommande: Cours pratique de deux ans "Je suis un développeur Web PRO . "
Nous vous rappelons: pour tous les lecteurs de «Habr» - une remise de 10 000 roubles lors de l'inscription à un cours Skillbox en utilisant le code promo «Habr».
Je dois dire tout de suite que la formation au bootcamp ou ailleurs n'est pas du tout une garantie de transformer un mortel ordinaire en programmeur expérimenté. Pour devenir développeur, des milliers d'heures de formation indépendante et de pratique dans la création de logiciels sont nécessaires. Oui, le bootcamp est un bon début, mais vous devez continuer à étudier.
Voici ce sur quoi un programmeur débutant qui veut commencer une carrière devrait se concentrer:
- Écrire beaucoup de code tout en travaillant sur un projet. La tâche que vous aimez effectuer est la clé d'un apprentissage rapide. De plus, vous devez démarrer un référentiel sur GitHub, c'est à la fois un portfolio et un argument qui vous permet de donner un certain crédit de confiance à un débutant.
- Apprendre les choses de base, les bases de la programmation. Tout d'abord, lors d'un entretien, ils sont très souvent intéressés à savoir si le candidat connaît la base. Deuxièmement, il est nécessaire que le spécialiste lui-même comprenne ce qu'il fait.
- Réseautage. Vous devez rencontrer des collègues et des employeurs potentiels, vous "vendre". Un maillage faible conduit souvent à des difficultés à trouver un emploi. Et vice versa, assister à des conférences, des hackathons, des événements pour les programmeurs permet non seulement de communiquer avec des «frères à l'esprit», mais aussi d'établir une connexion avec un éventuel employeur
.

Résoudre de vrais problèmes
Une certaine tâche que vous vous êtes engagée à accomplir signifie bien plus qu'un simple codage «dans le vide». Le fait est que si vous apprenez quelque chose, ne vous contentez pas de le faire, essayez d'appliquer vos connaissances. Par exemple, aidez la communauté open source à améliorer le projet. Tout ce dont vous avez besoin au stade de la formation est de choisir un projet intéressant, une tâche où vous pouvez montrer tout ce dont vous êtes capable. Essayez de faire quelque chose d'unique, ne créez pas un autre site avec des recettes.
Lorsque vous travaillez sur un projet, publiez les résultats sur GitHub
Publiez les résultats de votre travail dans le référentiel GitHub ouvert. Ne vous inquiétez pas que votre code soit imparfait, essayez simplement de le rendre aussi lisible que possible (et, bien sûr, de travailler). N'oubliez pas les tests automatiques et l'ajout de fichiers Lisez-moi bien écrits aux projets.
Les employeurs évaluent souvent les programmeurs par leur github. Ils veulent voir des exemples de travail, et votre tâche est de leur donner.
Une idée à faire: créer une compétence pour AlexaCeci est utile pour améliorer les compétences d'un programmeur, et indicatif - car cette compétence sera disponible pour tout le monde. Le développement de modules pour l'assistant numérique d'Amazon est, bien sûr, un facteur impressionnant qui peut attirer un employeur vers vous.
Vous pouvez commencer par un simple. Tout d'abord, vous devriez voir ce qui existe déjà. Essayez ensuite de développer votre propre compétence, de la rendre fonctionnelle, de la perfectionner. Ainsi, vous comprendrez comment fonctionne l'appareil IoT, obtenez une expérience inestimable et le premier (ou deuxième, troisième) travail dans votre compte pour votre portefeuille.
Et vous pouvez mettre en œuvre quelque chose pour un employeur potentielC'est une excellente option. Si vous souhaitez obtenir un emploi dans une entreprise spécifique, essayez de faire quelque chose d'utile. Par exemple, lorsque je travaillais chez Xmarks, un collègue et moi avons interviewé un demandeur d'emploi, un gars qui a montré une démo d'un projet utilisant nos API. Le projet était intéressant, nous avons réalisé que le demandeur avait vraiment essayé et, en plus, connaissait notre produit, et nous l'avons engagé.
Apprenez les bases
Prenez le temps d'apprendre les bases du développement logiciel - structures de données communes, méthodes de programmation et concepts. Avec des questions à leur sujet, il est possible à l'avenir de se rencontrer lors de l'une des interviews. Mais, plus important encore, ce sont des outils courants que tout ingénieur logiciel devrait avoir dans ses bagages. Vous devez comprendre clairement ce qui constitue un bon programme qui fonctionne correctement et rapidement.
Structures de donnéesVous devez bien connaître les listes et les dictionnaires du langage de programmation que vous avez choisi.
- Quant aux listes, vous devez savoir:
- syntaxe pour travailler avec n'importe quel élément de la liste;
- syntaxe pour obtenir le nième élément d'une liste; concept d'index et d'indexation 0;
- le principe du tri de la liste est de se rendre compte que si la liste est longue, cela peut prendre un certain temps;
- les différences entre les tableaux et les listes; piles et files d'attente.
Pour les dictionnaires, les éléments clés de la connaissance sont:
- La syntaxe pour utiliser un dictionnaire pour rechercher et insérer
- le concept de paire clé-valeur;
- recherche par clé;
- cas d'utilisation courants: «package d'attributs» pour décrire les choses, table de correspondance;
- la relation entre les dictionnaires et JSON (sérialisation);
- le concept de fonctions de hachage (et comment elles sont liées aux dictionnaires);
- principes d'utilisation des hachages cryptographiques tels que SHA-1.
Concepts de programmation
Il y a beaucoup de concepts que vous pouvez étudier. Mais l'essentiel est une compréhension des principes de travail avec les fonctions et loin d'être une connaissance de type cap avec la programmation orientée objet et sa logique.
Les fonctions sont les principaux éléments constitutifs des programmes. Il existe de nombreuses nuances dans leur utilisation - d'une bonne sélection de noms à la compréhension de la meilleure fonction à utiliser. Tout cela vient avec l'expérience.
Quant à la programmation orientée objet, vous avez besoin de:
- bien versé dans les instances et les classes;
- pas moins bon - en héritage (sous-classes);
- Sachez définir une classe à l'aide de la méthode d'initialisation dans la langue de votre choix.
- Soyez prêt à discuter de l'encapsulation, de l'abstraction et du polymorphisme.
Bases de données (SQL)
Les anciens de Bootcamp connaissent souvent mal les bases de données. Si cela s'applique à vous, je vous conseille de commencer à explorer les bases de données relationnelles et SQL immédiatement. De plus, essayez de configurer vous-même une base de données PostgreSQL ou MySQL sur votre ordinateur.
Gardez également à l'esprit que MongoDB n'est pas SQL, donc l'intervieweur n'est pas toujours intéressé par l'expérience de la base de données et pose des questions sur MongoDB.
Entretien d'embauche
Ici, les conseils seront généraux: il vaut la peine d'explorer les principaux problèmes qui peuvent survenir lors d'une interview sur Internet. Joignez-vous également à vos amis et essayez de vous interviewer.
Réseautage
L'art d'interagir avec les gens augmente les chances d'obtenir une bonne place dans l'entreprise.
Un point important pour mettre en réseau un programmeur, comme je l'ai dit, est son GitHub. De plus, vous devez avoir un compte LinkedIn actuel avec de nombreux contacts. J'utilise LinkedIn comme mon propre CV, cette fois. Deux - avec l'aide de ce réseau social, je recherche les personnes dont j'ai besoin. Eh bien, si vous avez beaucoup de connexions sur LinkedIn, vous pouvez rencontrer un grand nombre de spécialistes, parmi lesquels il y aura des employeurs potentiels.
Internet n'est pas tout. Il est important de quitter votre zone de confort (quelle que soit la sévérité de cette phrase) et de rencontrer les gens face à face. Assistez à des réunions, approchez des étrangers et présentez-vous, ainsi que discutez avec des personnes qui vous intéressent. Il est tout à fait normal de faire connaissance avec ceux que vous voulez connaître vous-même. La principale leçon de vie que j'ai apprise est que vous ne devriez pas avoir honte d'inviter quelqu'un à prendre une tasse de café, quoique pendant quelques minutes.
Vous serez surpris de la fréquence à laquelle le hasard et la bonne volonté ouvriront des portes importantes.
Et l'essentiel, bien sûr, est de continuer à étudier, à améliorer votre expérience et vos connaissances. La motivation est ce que recherchent de nombreux employeurs. En voyant un demandeur d'emploi motivé, bien que novice, un leader expérimenté peut fermer les yeux sur certaines lacunes en termes de professionnalisme pour le plaisir et l'enthousiasme et la volonté d'apprendre davantage.
Skillbox recommande: