Catégories
Astuces et Design

Comment quatre programmeurs ont obtenu leurs premiers emplois Python – SitePoint

Personne ne sait vraiment comment faire un travail avant de le faire. La plupart des gens occupent une position convoitée grâce à une étrange alchimie d'expérience connexe, de réseautage et de travail acharné. La vraie expérience est le travail lui-même. C’est à ce moment-là que vous avez la possibilité d’appliquer ce que vous savez à des problèmes du monde réel et de le voir porter ses fruits.

Les quatre programmeurs suivants ont obtenu leur premier emploi Python de différentes manières. Certains avaient une expérience antérieure de Python, d'autres non. Certains savaient dans quoi ils s'engageaient, d'autres l'ont découvert plus tard. Comprendre comment ils ont décroché leur premier emploi Python pourrait vous aider à décrocher le vôtre. Voici comment ils l'ont fait.

Vous voulez améliorer vos compétences en Python et vous démarquer sur un marché en croissance rapide? Découvrez SitePoint Premium! Vous trouverez des livres pour vous aider à démarrer (comme The Python Apprentice) et développer des compétences prêtes à l'emploi (comme Front-end Testing en Python). Améliorez vos compétences avec The Python Master et accédez à une bibliothèque croissante de plus de 400 livres et cours sur la conception et le développement Web.

Premier travail Python: Data Scientist

Comment Nathan a obtenu le poste

Pendant mes études de physique, j'ai postulé pour un emploi en science des données avec une petite startup technologique qui utilisait principalement Python (et SQL). Le truc c'est que je n'avais pas d'expérience avec Python à l'époque. Lors de l'entretien, j'ai répondu aux questions de programmation en utilisant un pseudocode pour démontrer que je comprenais les concepts.

Le pseudocode utilise une logique de codage sans utiliser de syntaxe de codage. Donc, en utilisant la même logique que Python, je pouvais montrer une compréhension des concepts sans être spécifique à aucun langage.

Par exemple, n'importe quel informaticien peut comprendre le pseudocode simple ci-dessous, mais il peut ne pas comprendre la fonction Python à moins d'avoir déjà travaillé avec.

Python

loop_index = 0
while loop_index < 5:
    print(loop_index)
    loop_index += 1

Pseudocode

Set loop index to 0
Loop while loop index is less than 5
    print loop index
    Increase loop index by 1

Le pseudocode est également plus lisible pour les humains. Ce n'est pas vraiment différent du code, cela évite simplement d'utiliser une syntaxe spécifique au langage. Et en l'utilisant, cela a fonctionné! Ils m'ont donné le travail. Mais bien sûr, avant mon arrivée, j'ai dû apprendre la langue.

Les conseils de Nathan

Mon conseil pour ceux qui veulent entrer sur le terrain est de s'attaquer aux problèmes du monde réel dès que possible. Chez Project Hatch, une entreprise que j'ai cofondée qui analyse les startups et leur fournit des analyses pour développer leurs entreprises, nous embauchons des gens qui sont autodidactes, mais il y a un énorme fossé de compétences entre ceux qui ne font que des cours de style Codecademy et ceux qui appliquent réellement leurs connaissances. Je dirais de continuer à travailler sur les défis de Codewars jusqu'à ce que vous n'ayez pas à chercher à plusieurs reprises quels arguments vous devriez utiliser et dans quel ordre ils doivent être utilisés.

Si vous cherchez des problèmes réels à résoudre, allez sur Kaggle, qui a un grand nombre d'ensembles de données avec lesquels jouer, et entraînez-vous à en extraire des informations utiles. Par exemple, si vous recherchez un ensemble de données pour les recettes de cuisine, alignez-le avec les prix des aliments locaux pour trouver toutes les recettes qui créent des repas à moins de 5 $. Lorsque vous êtes prêt à relever un véritable défi, essayez les compétitions Kaggle. Vous trouverez des problèmes à résoudre et des entreprises prêtes à payer. Ces défis seront incroyablement difficiles à démarrer, mais vous apprendrez beaucoup à discuter des solutions avec d'autres informaticiens sur le forum.

Premier travail Python: Architecte en cybersécurité

Comment Bill a obtenu le poste

J'avais soutenu les développeurs Python pendant un certain nombre d'années en tant qu'administrateur réseau et ingénieur de sécurité de la NASA, donc j'étais conscient de la puissance et de la flexibilité du langage avant qu'une nouvelle opportunité ne se présente.

En 2017, j'ai été approché par une grande institution financière pour rejoindre une équipe chargée de développer un nouveau programme d'évaluation pour identifier les lacunes de suivi dans un processus métier particulier et ses applications. Je crois qu'ils sont venus vers moi à cause de mon:

  • expérience réseau et sécurité
  • manque d'expérience dans le secteur financier, car ils voulaient un regard neuf sur leur problème
  • capacité à déterminer quelles sont les exigences réelles
  • capacité à aborder un nouveau projet avec un esprit ouvert et sans notions préconçues.

Curieusement, et à mon insu, cela s'est avéré être mon premier travail Python.

Notre équipe devait trier les lacunes, identifier les atténuations possibles et faire part de nos constatations aux dirigeants. Nous avons commencé par mapper les applications à chaque processus métier, mais nous nous sommes vite rendu compte que la taille des différents ensembles de données que nous devions examiner (inventaires des applications et du matériel, analyses de vulnérabilité Qualys, rapports BladeLogic quotidiens, journaux Splunk, etc.) était trop importante pour être importée. dans des feuilles de calcul Excel. De plus, nous n'avions pas accès aux ressources de traitement de texte UNIX traditionnelles ni à l'accès administratif à notre poste de travail, où nous aurions pu installer de nouveaux outils de gestion des données. Et nous n'avions pas le budget pour acheter de nouveaux outils.

Nous avions cependant accès à Python, un ensemble complet de bibliothèques Python, et la possibilité d'installer Python à l'aide d'un logiciel de support d'entreprise existant.

Je ne savais pas que Python allait entrer. J'ai dû apprendre sur le tas, et c'est une bonne chose que j'ai fait. Python a joué un rôle essentiel dans notre capacité à analyser les inventaires matériels en fonction des applications utilisées par le processus métier, à isoler les vulnérabilités associées au matériel approprié et à identifier les services non autorisés exécutés sur tout appareil prenant en charge une (ou plusieurs) applications.

Conseils de Bill

Mon conseil aux futurs développeurs Python est triple.

Tout d'abord, familiarisez-vous avec les différentes bibliothèques disponibles en Python qui pourraient vous aider dans une tâche potentielle. Notre équipe a utilisé mechanize, cookielib, urlib, urlib2, et csv largement. Si vous envisagez un projet d'apprentissage automatique, faites attention aux bibliothèques comme TensorFlow, Numpy et Keras.

Ensuite, soyez à l'affût des processus qui doivent être automatisés ou où l'automatisation existante peut être améliorée. Il existe probablement une opportunité d'appliquer Python.

Enfin, ayez un bon livre de référence Python pour compléter toutes les ressources en ligne disponibles. Je recommande T.J. O’Connor’s Violent Python.

Premier travail Python: Développeur Full-stack

Comment Vinay a obtenu le poste

Quand j'ai commencé ma carrière en tant que programmeur Python, j'étais complètement plus frais avec une compréhension très basique de Python et d'autres langages de programmation. Pour préparer les interviews, j'ai étudié les bases de Python sur Internet pendant des jours. J'ai parcouru presque toutes les variantes d'articles comme «Top 10 des questions Python posées dans les interviews».

Mais il s'est avéré que l'intervieweur de mon premier emploi - un développeur de pile complète pour un logiciel basé sur le cloud - connaissait toutes les astuces courantes utilisées par les débutants pour réussir les entretiens, et il avait parcouru les mêmes articles que moi.

Heureusement, il ne m'a posé que des questions pratiques sur l'application et une syntaxe de base de Python. Son objectif était de vérifier si j'avais la bonne mentalité analytique et une bonne logique. Il m'a dit: «Tout développeur peut copier la syntaxe à partir d'une recherche Google de base. Seule la logique sépare un bon développeur d'un mauvais. »

C'est cette logique qui m'a donné le poste, mais ce n'est que le premier test que j'ai dû passer. En tant que développeur full-stack, j'ai non seulement dû découvrir Python en tant que langage back-end, mais également les technologies front-end comme Angular, HTML, CSS, JavaScript, etc. Consolider ma compréhension de tout cela dans un délai d'une semaine a été un cauchemar.

Un autre problème était que, une fois que j'ai décroché le poste, ils s'attendaient à ce que je sache tout immédiatement et m'ont poussé directement dans un projet avec des délais stricts. Il m'a fallu plus de six mois pour me mettre au courant et me sentir à l'aise avec les tâches et la charge de travail.

Une chose vraiment importante que la plupart des gens ne comprennent pas est que notre formation ne nous prépare pas aux défis de la vie professionnelle d'un développeur. C’est entièrement à nous d’investir notre temps, d’apprendre et de développer nos compétences.

Les conseils de Vinay

Ne vous contentez pas d'apprendre la syntaxe et de lire la langue. Au lieu de cela, implémentez quelques applications simples et essayez d'apprendre un cadre pour ce langage. Ce n'est que lorsque vous commencerez à mettre en œuvre que vous aurez d'autres questions et apprendrez réellement la langue. Les réponses aux problèmes que vous rencontrez sont ce qui vous rendra compétent dans cette langue.

Jordan Rowland

Premier travail Python: Soutien technique

Comment Jordan a obtenu le poste

Je n'ai pas de diplôme universitaire et j'ai commencé à m'enseigner le Python il y a environ 22 mois.

En 2015, je travaillais dans un restaurant en tant que preneur de commandes. J'étais techniquement enclin, mais je n'ai fait aucun codage. J'étais à peu près un perdant et j'ai beaucoup bu, et je n'avais pas vraiment la capacité de fixer et de poursuivre des objectifs. J'ai été licencié de ce travail après six mois. Ce fut une bénédiction majeure.

Par la suite, j'ai obtenu mon premier emploi avec des ordinateurs. J'ai été embauché en tant que personne de soutien pour une startup technologique, mais cela ne nécessitait pas beaucoup de compétences techniques, juste une capacité à utiliser les ordinateurs de manière intermédiaire. J'y ai travaillé pendant 20 mois avant d'être licencié, ce qui a également été une grande bénédiction.

J'avais arrêté de boire quelques mois avant de cesser de travailler là-bas et j'ai trouvé un autre emploi assez rapidement, en tant que support pour une autre startup. Mais j'ai vite appris que le travail allait déménager, ce qui signifiait que je devrais trouver un autre emploi que je détesterais probablement. J'ai eu quelques mois avant la fin du travail, alors j'ai commencé à m'enseigner moi-même Python, en apprenant tous les jours après le travail en utilisant Automate The Boring Stuff With Python.

J'ai eu deux mois de chômage après avoir quitté ce travail, et j'ai continué à m'enseigner le Python, ainsi qu'un petit développement web. J'ai postulé pour un poste de support pour une application Web qui utilisait Python à l'arrière-plan, et j'ai mentionné dans l'interview que je connaissais Python et que je pouvais leur parler de leur programme (il dépendait fortement du Web scraping ). Ils m'ont embauché.

Pendant que j'y travaillais, je me suis enseigné le SQL et j'ai passé des soirées à suivre un cours Udemy. Cela ne faisait pas partie de ma description de travail, mais j'utilisais Python et j'écrivais des scripts pour rendre certaines parties de mon travail plus efficaces, telles que l'assurance qualité des données que l'application collectait. Je passais toujours du temps chaque jour après le travail à apprendre et à coder, à me familiariser avec la science des données et à créer des programmes plus grands et plus robustes.

Quand j'étais à ce poste, j'ai commencé à chercher des idées de portfolio. Mon plan était de constituer mon portefeuille et de commencer à postuler à des postes de développeur après un an. Je pensais qu'un bon endroit pour les idées serait un tableau d'emplois appelé AngelList, où je trouverais des entreprises utilisant Python dans leur pile, puis créer mes propres choses qui seraient similaires à leurs produits.

Alors que je cherchais ces postes, j'ai trouvé une offre d'emploi similaire à ce que je faisais déjà - le support - mais avec un fort accent sur Python et SQL. Et cela a payé beaucoup plus d'argent. J'ai postulé sur un coup de tête; mon intention n'était même pas de trouver un nouvel emploi.

J'ai fait une projection téléphonique avant l'entrevue avec le chef de produit, j'ai fait un petit test technique, puis je suis allé pour une entrevue de trois heures avec certains développeurs et autres chefs de produit. J'ai fini par être embauché, alors j'ai quitté le travail où j'étais pour mon premier travail où écrire Python était officiellement dans la description de travail et requis.

Je suis toujours là maintenant et j'ai récemment évolué pour devenir un développeur Python principal à temps plein. Ma marque de deux ans depuis que j'ai commencé à apprendre le Python sera février 2020. J'apprends toujours en dehors du travail presque tous les soirs, développant mes compétences et comprenant des concepts plus avancés.

Conseils de Jordan

Vous devez travailler pour cela. Vous devez renoncer au bonheur et à la commodité à court terme pour une future récompense. Il me semble que si vous mettez du temps, cela finira par porter ses fruits. J'ai certainement eu quelques pauses chanceuses en cours de route, et j'ai fini par être dans la position idéale pour être embauchée là où je suis maintenant, mais cela m'aurait encore arriver parce que j'ai travaillé très dur pour cela. Je me suis plongé dans la culture du codage, je me suis abonné aux subreddits, j'ai écouté des podcasts et lu des livres. Le codage est devenu une obsession.

Plats à emporter

Bien que ces programmeurs aient tous emprunté des chemins différents pour arriver à leur premier travail Python, leurs histoires présentent de nombreuses similitudes.

  • Comprendre la logique sous-jacente des concepts de programmation peut vous mettre un pied dans la porte.
  • S'attaquer aux problèmes du monde réel grâce à des ressources comme Codewars et Kaggle est un excellent moyen de vous préparer au travail.
  • Être ouvert à de nouvelles opportunités, même si elles ne sont pas exactement ce que vous recherchez, peut vous conduire à des endroits inattendus - et géniaux.
  • N'arrêtez jamais d'apprendre, tant au travail qu'à l'extérieur. Familiarisez-vous avec différentes bibliothèques, créez vos propres applications et traitez les défis et les questions comme des chances d'acquérir une compréhension plus approfondie de la langue.

Trouvez votre prochain emploi Python à distance avec SitePoint Remote, où nous sélectionnons les meilleurs emplois à distance pour les développeurs, les concepteurs et les professionnels du numérique.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *