Fermer

janvier 13, 2020

Comment quatre programmeurs ont obtenu leurs premiers emplois Python –


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 in Python ). Améliorez vos compétences avec The Python Master et accédez à une bibliothèque grandissante 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 Travail

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. Lorsque l'interview est arrivée, 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 pourrais 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 ils l'ont déjà utilisé auparavant.

Python

 loop_index = 0
tandis que loop_index <5:
    print (loop_index)
    loop_index + = 1

Pseudocode

 Définir l'index de boucle à 0
Boucle tandis que l'indice de boucle est inférieur à 5
    index de boucle d'impression
    Augmente l'index de boucle de 1

Le pseudocode est également plus lisible pour l'homme. 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, je devais réellement apprendre la langue.

Le conseil 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 vous le pouvez. À 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 personnes qui sont autodidactes, mais il y a un énorme fossé de compétences entre ceux qui ne font que Codecademy – cours de style 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 devez 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 de solutions avec d'autres informaticiens sur le forum.

Premier travail Python : Architecte de la sécurité cybernétique

Comment Bill a obtenu le poste [19659006] J'avais soutenu les développeurs Python pendant un certain nombre d'années en tant qu'administrateur réseau et ingénieur en 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 un 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 pense qu'ils sont venus me voir à cause de:

  • mon expérience en matière de réseau et de sécurité
  • manque d'expérience dans le secteur financier, car ils voulaient un nouvel œil technique sur leur problème
  • la capacité de déterminer quelles exigences réelles sont
  • la capacité d'aborder un nouveau projet avec un esprit ouvert et aucune notion préconçue.

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

Notre équipe devait trier les 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 l'ai pas fait sais pas Python 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 basés sur les 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.

Bill's Advice

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 largement utilisé mechanize cookielib urlib urlib2 et csv . Si vous envisagez un projet d'apprentissage automatique, faites attention aux bibliothèques telles que 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 y a probablement une possibilité 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 Violent Python .

First Python Job : Développeur full-stack

Comment Vinay a obtenu le poste

Quand j'ai commencé ma carrière en tant que programmeur Python, j'étais 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 – savait tout les astuces courantes que les débutants utilisaient pour réussir les entretiens, et il avait parcouru les mêmes articles que moi.

Heureusement, tout ce qu'il m'a posé était des questions pratiques d'application et une syntaxe de base en 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. Solidifier ma compréhension de tout cela dans un délai d'une semaine a été un cauchemar.

Un autre problème était qu'une fois que j'ai décroché le poste, ils s'attendaient à ce que je le sache immédiatement et m'ont poussé directement dans un projet avec des délais stricts. Il m'a fallu plus de six mois pour entrer dans le cours 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, c'est que notre éducation 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 et 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. La réponse aux problèmes que vous rencontrez est ce qui vous permettra de maîtriser cette langue.

Jordan Rowland

Premier travail Python : Support technique

Comment Jordan a obtenu le travail

Je n'ai pas un diplôme d'études collégiales 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. C'était 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 était également une bénédiction majeure.

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. Il me restait quelques mois avant la fin du travail, alors j'ai commencé à apprendre moi-même le Python, en apprenant tous les jours après le travail en utilisant Automatiser les trucs ennuyeux avec Python . et j'ai continué à m'enseigner 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 était fortement tributaire du scraping Web ). 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 tous les jours 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.

cherchait 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 des développeurs et d'autres chefs de produit. . J'ai fini par être embauché, alors j'ai quitté le poste où j'étais pour mon premier travail où l'écriture de Python était officiellement dans la description de travail, et obligatoire.

Je suis toujours là maintenant, et j'ai récemment fait la transition pour devenir un poste à temps plein développeur back-end Python. Mes deux ans depuis que j'ai commencé à apprendre le Python seront 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.

Jordan's Advice

Vous devez travailler pour il. 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.

À emporter

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

  • Comprendre la logique sous-jacente des concepts de programmation peut vous donner un pied
  • S'attaquer aux problèmes du monde réel grâce à des ressources comme Codewars et Kaggle est un excellent moyen de se préparer à l'emploi.
  • Ê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 impressionnants.
  • N'arrêtez jamais d'apprendre, au travail comme à 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 de mieux comprendre le langage.




Source link