Python >> Tutoriel Python >  >> Python

Comment devenir un développeur de logiciels autodidacte prospère

J'ai reçu la question suivante par e-mail de la part de quelqu'un qui a déployé des efforts considérables pour apprendre à coder en prévision d'obtenir un emploi à temps plein avec ces compétences. La question est également fréquemment posée par les étudiants universitaires et les diplômés des bootcamps de codage.

Cet article fournit ma réponse actuelle sur la façon d'obtenir votre premier emploi à temps plein en tant que développeur de logiciels. Ma réponse suppose que la définition d'un "chemin réussi" pour un développeur autodidacte est d'obtenir un poste à temps plein après avoir investi tant de temps à apprendre à coder.

Notez cependant que, comme je le décris dans ma réponse ci-dessous, j'ai emprunté une voie plus "traditionnelle" pour devenir développeur de logiciels professionnel. Par conséquent, ma réponse ne devrait être qu'une réponse parmi tant d'autres que vous sollicitez tout en travaillant à faire le saut d'autodidacte à développeur de logiciels professionnel.

Question originale (paraphrasée)

Ma réponse tl;dr

Allez très loin dans un domaine que vous aimez vraiment travailler après avoir appris les fondamentaux et obtenez un large aperçu de l'écosystème de la langue. Tirez parti de votre profondeur dans votre domaine d'expertise ciblé lorsque vous trouvez des équipes qui ont besoin de ces compétences pour décrocher votre premier emploi à temps plein.

Contexte de la réponse

Déterminer dans quel ordre aller lors de l'apprentissage est certainement l'un des problèmes les plus délicats pour les apprenants autonomes. Je ne suis pas sûr que ma réponse à votre question soit la meilleure que vous puissiez obtenir car, pour le meilleur ou pour le pire, j'ai pris quatre ans d'informatique (CS) au lycée, suivis d'un CS de premier cycle et d'un CS d'études supérieures (tout en travaillant à temps plein développeur). Cette route ressemble à l'arrière-plan "développeur traditionnel". Cependant, je ferai de mon mieux pour apporter une réponse. Vous n'êtes certainement pas la seule personne à rencontrer ce problème.

Je vois généralement des diplômés de bootcamp autodidactes et développeurs avoir envie d'obtenir un emploi, ils doivent tout apprendre, du backend de la base de données aux frameworks Web en passant par chaque nouveau framework frontal JavaScript qui sort, mais ce n'est certainement pas vrai. Lorsque vous décrocherez ce premier poste de développeur à temps plein, ce sera parce qu'une équipe de développement verra que vous avez des compétences particulières qui manquent à son équipe et qu'elle a besoin d'aide pour son ou ses projets.

Aller en profondeur

Si vous vous retrouvez à coder des éléments front-end mais que vous souhaitez pouvoir revenir à l'optimisation de la base de données, vous devez vous concentrer sur l'optimisation de la base de données. Apprenez-en autant que possible sur SQL, les DDL, les DML, les ORM, PostgreSQL, les tests de bases de données et le réglage des performances. Approfondissez constamment. Passez la plupart de votre temps à coder, mais si possible, enseignez également aux autres ce que vous apprenez. Certaines personnes préfèrent enseigner en écrivant des articles de blog. D'autres personnes aiment donner des tutoriels lors d'une rencontre. Vous encadrez également d'autres personnes en personne ou à distance sur des chats vidéo qui sont également nouvelles dans le développement de logiciels.

En enseignant aux autres, vous n'êtes pas purement altruiste :expliquer la programmation et répondre aux questions des autres renforcera dans votre esprit ce que vous avez appris et où vos lacunes subsistent en fonction des questions. Expérimentez avec le code pour en savoir plus et continuer à approfondir. Créez une boucle de rétroaction où vous codez, apprenez, écrivez et trouvez de nouvelles veines inexplorées pour en savoir plus dans ce domaine.

Vous devriez être prêt à commencer la recherche d'emploi une fois que vous avez une bonne boucle de rétroaction où vous creusez dans votre domaine préféré et l'enseignez aux autres d'une manière ou d'une autre.

Recherche d'emploi

Lorsque vous avez approfondi votre sujet, recherchez des emplois qui ont un peu une saveur complète en mettant l'accent sur votre spécialité. Contactez par e-mail les développeurs de l'équipe ou les responsables du recrutement. Demandez-leur des conseils sur les compétences que possèdent les développeurs qui réussissent dans leurs équipes et sur ce qui manquait aux candidats non retenus pour leurs postes. Utilisez leurs réponses comme points de données pour ce que vous pourriez encore avoir besoin d'apprendre lorsque leurs réponses sont pertinentes pour le domaine que vous approfondissez.

Lorsque vous vous sentez prêt, voyez si vous pouvez déjeuner ou discuter par vidéo avec les développeurs de ces équipes pour en savoir plus sur leur travail. Si cela se passe bien, demandez-leur s'ils vous renverraient dans la file d'attente des entretiens. Les références vous mèneront bien plus loin que de postuler via un système de collecte de CV des ressources humaines.

Recherchez à la fois des rôles juniors de développement de logiciels et des rôles de support technique, si les rôles de support technique sont dans des entreprises axées sur les logiciels. tickets d'assistance auxquels ils doivent répondre (ainsi qu'un apprentissage continu à leur rythme).

Conseils pour les entretiens et le travail

L'enthousiasme est crucial pour obtenir et réussir vos premiers emplois. Rétrospectivement, une grande partie des logiciels d'entreprise sur lesquels j'ai travaillé dès la sortie de l'université étaient horribles, mais c'était tout nouveau pour moi, alors j'ai absorbé autant de connaissances que possible tout en demandant au les responsables techniques et les architectes m'entourent d'une tonne de questions. Amusez-vous à gravir des courbes d'apprentissage abruptes.

Gardez votre cynisme et toute attitude « je suis meilleur que cela » sous contrôle, car les entreprises ont une tonne de travail fastidieux et sans intérêt qui doit être fait. Le travail pénible vous apprendra comment devenir un meilleur développeur de logiciels.

Lorsque vous recherchez votre premier poste, travaillez toujours sur des dizaines d'opportunités potentielles et ne placez pas vos espoirs dans un emploi spécifique. L'objectif est d'obtenir votre premier poste de développement qui vous aidera à continuer à apprendre, pas à décrocher l'emploi de vos rêves. L'emploi de rêve vient plus tard lorsque vous avez suffisamment d'expérience pour savoir à quoi ressemble votre emploi de rêve !

Vous finirez par décrocher votre premier concert de développement. Ensuite, vous devrez constamment continuer à apprendre et la grande partie est que vous serez payé pour cela.

Commentaires

À quelles autres questions puis-je répondre et quels sujets supplémentaires puis-je ajouter à Full Stack Python qui seraient extrêmement utiles aux nouveaux venus qui ont du mal à devenir des développeurs autodidactes ?

Faites-le moi savoir via un ticket de problème GitHub sur le référentiel Full Stack Python, sur Twitter@fullstackpythonou @mattmakai.

Comment dois-je améliorer cet article de blog ? La source de cette page sur GitHuband soumet une pull request.