Devenez programmeur de logiciels ouverts

Auteur: Morris Wright
Date De Création: 24 Avril 2021
Date De Mise À Jour: 1 Juillet 2024
Anonim
8 étapes pour devenir un développeur de Logiciels  exceptionnel💻
Vidéo: 8 étapes pour devenir un développeur de Logiciels exceptionnel💻

Contenu

Ecrire et utiliser des logiciels ouverts n'est pas seulement une forme de programmation (aussi appelée «hacking» dans le monde des programmeurs), c'est une sorte de philosophie. Bien que vous ayez seulement besoin de connaître un langage de programmation pour pouvoir coder, cet article explique comment rejoindre la communauté, se faire des amis, collaborer sur de grands projets et devenir un spécialiste respecté avec un profil que vous ne pouvez pas trouver ailleurs. Dans le monde des logiciels ouverts, vous pouvez facilement vous voir attribuer des tâches que seuls les programmeurs d'élite de haut niveau sont autorisés à effectuer dans une entreprise. Pensez à l'expérience que cela peut vous apporter. Cependant, une fois que vous avez décidé de devenir un programmeur de logiciel ouvert, vous devez être prêt à investir du temps dans cet objectif. Cela s'applique également si vous êtes déjà étudiant en informatique. Remarquez que cet article ne traite pas de la façon de devenir un hacker ou un cracker.

Avancer d'un pas

  1. Téléchargez une bonne distribution Unix. GNU / Linux est l'un des plus populaires pour la programmation, mais GNU Hurd, BSD, Solaris et (dans une certaine mesure) Mac OS X sont également couramment utilisés.
  2. Apprenez à utiliser la ligne de commande. Vous pouvez faire beaucoup plus avec les systèmes d'exploitation de type Unix si vous utilisez la ligne de commande.
  3. Apprenez quelques langages de programmation populaires jusqu'à ce que vous atteigniez un niveau plus ou moins satisfaisant. Sinon, vous ne pouvez pas contribuer au code (la partie la plus importante de tout projet logiciel) à la communauté des logiciels ouverts. Certaines sources suggèrent de commencer par deux langages à la fois: un langage système (C, Java ou similaire) et un langage de script (Python, Ruby, Perl ou similaire).
  4. Pour être plus productif, vous avez besoin de NetBeans ou d'un environnement de développement intégré similaire.
  5. Apprenez à utiliser un éditeur avancé, tel que vi ou Emacs. Ils ont une courbe d'apprentissage plus élevée, mais vous pouvez faire beaucoup plus avec eux.
  6. En savoir plus sur le contrôle de version. Le contrôle de version est probablement l'outil le plus important de la collaboration pour le développement de logiciels partagés. Comprendre comment créer et appliquer des correctifs. La plupart du développement de logiciels ouverts dans la communauté se fait par la création, la discussion et l'application de divers correctifs.
  7. Trouvez un petit projet de logiciel ouvert adapté auquel vous pouvez facilement participer pour acquérir de l'expérience. La plupart de ces projets peuvent être trouvés sur SourceForge.net ces jours-ci. Un projet approprié doit inclure:
    1. Utilisez le langage de programmation que vous connaissez.
    2. Soyez actif, avec les versions récentes.
    3. Déjà composé de trois à cinq développeurs.
    4. Pour utiliser le contrôle de version.
    5. Ayez une partie sur laquelle vous pouvez commencer tout de suite, sans avoir à trop modifier le code existant.
    6. En plus du code, un bon projet a également des listes de discussion actives, des rapports de bogues, obtient et met en œuvre des demandes d'amélioration et des activités similaires.
  8. Contactez l'administrateur du projet sélectionné. Dans un petit projet avec peu de développeurs, votre aide sera généralement acceptée immédiatement.
  9. Lisez attentivement les règles du projet et suivez-les plus ou moins. Les règles de style de programmation ou la nécessité de documenter vos modifications dans un fichier texte séparé peuvent sembler ridicules au premier abord. Cependant, le but de ces règles est de permettre un travail partagé - et la plupart des projets fonctionnent avec elles.
  10. Travaillez sur ce projet pendant plusieurs mois. Écoutez attentivement ce que l'administrateur et les autres membres du projet ont à dire. Outre la programmation, vous avez beaucoup de choses à apprendre. Mais si vous n'aimez vraiment pas quelque chose, arrêtez-vous et passez à un autre projet.
  11. Ne restez pas coincé dans le projet souterrain trop longtemps. Une fois que vous vous trouvez capable de travailler avec succès dans cette équipe, il est temps de commencer à chercher quelque chose de plus sérieux.
  12. Recherchez un logiciel ouvert sérieux de haut niveau ou un projet open source. La plupart de ces projets appartiennent à des organisations GNU ou Apache.
  13. Parce que nous faisons un saut sérieux ici, il faut tenir compte d'un accueil beaucoup moins chaleureux. Vous serez probablement invité à exécuter pour la première fois sans accès en écriture direct au référentiel de code. Cependant, le projet souterrain précédent aurait dû vous apprendre beaucoup - donc après plusieurs mois de contribution productive, vous pouvez revendiquer les droits que vous pensez devoir avoir.
  14. Acceptez une tâche sérieuse et résolvez-la. C'est l'heure. N'ai pas peur. Continuez même si vous trouvez que la tâche est beaucoup plus difficile que vous ne le pensiez au départ - à cette étape, il est important de ne pas abandonner.
  15. Si vous le pouvez, postulez au "Summer of Code" de Google pour investir de l'argent dans cette aventure. Mais ne vous inquiétez pas si la candidature n'est pas acceptée car ils ont beaucoup moins de postes financés qu'il n'y a de très bons programmeurs.
  16. Trouvez une conférence appropriée se déroulant à proximité ("Journées Linux" ou similaire) et essayez d'y présenter votre projet (l'ensemble du projet, et pas seulement la partie que vous programmez). Après avoir mentionné que vous représentez un projet gratuit / open source sérieux, les organisateurs vous indemniseront souvent des frais de conférence (sinon, la conférence sera probablement inappropriée de toute façon). Apportez votre ordinateur portable Linux (si vous en avez un) et lancez des démos. Demandez au chef de projet quels matériaux vous pouvez utiliser pour préparer votre présentation ou votre affiche.
  17. Recherchez sur Internet des annonces concernant un événement d'installation à proximité et essayez d'abord de participer en tant qu'utilisateur (notez tous les problèmes qui surviennent et comment les pirates les résolvent) et proposez d'installer des programmes la prochaine fois.
  18. Terminez la tâche, vérifiez votre travail avec des tests automatiques et contribuez au projet. Vous avez terminé! Pour être sûr, essayez de rencontrer certains des programmeurs sur le projet en personne et de lever un verre de bière ensemble sur le résultat.
  19. Pour une meilleure compréhension, regardez un exemple réel de l'historique de développement d'un projet de logiciel ouvert (voir ci-dessus). Chaque courbe montante représente une contribution (lignes de code) d'un seul développeur. Les développeurs ont tendance à devenir moins actifs avec l'âge, mais le projet s'accélère souvent même lorsque de nouvelles personnes se joignent. Donc, si vous arrivez avec des compétences utiles en poche, il n'y a aucune raison pour que l'équipe ne vous invite pas.

Conseils

  • Avant de poser une question sur les exigences pratiques du projet, recherchez la réponse dans la documentation du projet et les archives de la liste de diffusion.
  • Essayez toujours de terminer tout travail de programmation que vous avez commencé. Ne peut pas être construit, ne peut pas fonctionner, le système plante? Là être raisons pour tout, et si vous avez le code source, cela signifie généralement que vous avez le système bien peut vous forcer à faire ce que vous voulez, en particulier à l'aide de certaines recherches en ligne. Cette règle a des limites, bien sûr, mais il est en effet important de ne jamais abandonner trop facilement.
  • Appelez-vous un programmeur (ou un hacker) seulement après avoir été reconnu comme tel par une partie de la vraie communauté des hackers.
  • Au début, choisissez une classe, un module ou une autre unité où personne ne travaille très activement pour le moment. Travailler ensemble sur la même classe ou même sur un poste nécessite plus de compétences et d'attention de tous les côtés.
  • Les employeurs de certains hackers / programmeurs semblent suffisamment motivés pour permettre des contributions pendant les heures de travail (généralement parce que l'institution utilise le programme libre / open source que le programmeur est en train de développer). Pensez, peut-être que vous pouvez obtenir au moins une partie du temps nécessaire de cette façon.
  • Si vous n'avez toujours pas suffisamment confiance en vous, commencez par une partie du code qui vous semble manquante et qui peut être écrite à partir de zéro. Les modifications apportées au code existant sont beaucoup plus susceptibles d'être critiquées.

Mises en garde

  • Votre statut de hacker au sein du projet communautaire est davantage le reflet de votre présent que de votre passé.Si vous souhaitez une recommandation ou similaire de la part du chef de projet, veuillez demander si vous contribuez toujours activement.
  • Ne vous lancez pas dans de petites optimisations de code, des commentaires supplémentaires, des améliorations de style de codage et d'autres choses similaires à petite échelle. Cela peut susciter bien plus de critiques qu'une contribution sérieuse. Au lieu de cela, vous pouvez inclure ces modifications dans un seul correctif de «nettoyage».
  • Si vous prévoyez de rencontrer les pirates de logiciels ouverts en personne, laissez votre ordinateur portable Windows à la maison. Mac OS est légèrement plus toléré, mais ce n'est pas vraiment le bienvenu non plus. Si vous apportez votre ordinateur portable, il doit exécuter Linux ou un autre système d'exploitation qu'ils considèrent comme un «logiciel ouvert».
  • Si votre client de messagerie prend en charge les messages HTML, vous devez désactiver cette fonctionnalité. Ne joignez jamais des documents que seuls des logiciels commerciaux (tels que Microsoft Word) peuvent ouvrir correctement. Les hackers considèrent cette offensive.
  • Ne faites pas de bénévolat sur les projets d'une entreprise dont le code n'est pas couvert par une licence open source approuvée. Dans de tels cas, les parties vraiment importantes du projet sont susceptibles de rester derrière les portes closes du propriétaire, vous empêchant d'apprendre quoi que ce soit d'utile.
  • Évitez toute question sur les fondamentaux de la programmation ou des outils de programmation. Le temps d'un programmeur de logiciel ouvert est précieux. Discutez plutôt des bases de la programmation dans des groupes de programmeurs amateurs ou débutants.
  • Les projets établis et très réussis peuvent avoir des politiques écrites ou non écrites de ne jamais rembourser votre travail (pas d'argent, pas de capacité à vous promouvoir, pas de statut élevé quelle que soit votre contribution, etc. - voir: Do_not_expect_reward Wikipedia). Si vous ne pouvez pas être d'accord avec cela, tenez-vous-en à des projets plus courants qui ne peuvent pas se permettre une telle attitude.
  • Ne démarrez pas votre propre projet à moins que vous ne vouliez toujours passer dans une solitude fière. Pour la même raison, il vaut mieux ne pas se lancer dans une tentative de relancer un projet déjà abandonné que son équipe précédente a déjà perdu.
  • Dans le cas d'une réunion informelle sur le projet à laquelle vous n'avez jamais contribué au code, vous aurez le sentiment désagréable d'être complètement ignoré. Ne vous inquiétez pas, certains hackers peuvent devenir de bons amis plus tard après avoir gagné leur respect avec votre propre code.
  • Les grands projets de logiciels ouverts, en particulier ceux qui concernent le domaine GNU, ne traitent pas votre travail comme votre entreprise personnelle. Une fois que vous avez obtenu le poste au sein d'une entreprise de logiciels, ils demandent à votre employeur de signer certains accords [1], que l'entreprise signera ou non. Cela peut vous obliger à sélectionner un projet avec des exigences moins strictes.

Nécessités

  • Linux. De nombreux projets de logiciels ouverts sont plus compliqués à construire sur Windows, ou ne sont pas du tout construits correctement. Cela est particulièrement vrai pour les projets avancés dédiés à la programmation de téléphones portables, clés USB et autres appareils.
  • Un ordinateur avec une connexion Internet relativement bonne. Si vous souhaitez conserver le double démarrage avec Windows, un deuxième disque dur ou une partition pour Linux pourrait être une bonne solution.
  • Connaissance de base d'au moins un langage de programmation et forte intention d'en savoir plus. Les langages les plus populaires semblent actuellement être C et Java.
  • Une quantité importante de temps, au moins cinq heures par semaine (un programmeur hardcore typique contribue 14 heures).
  • Alors que la formation informatique formelle vous facilitera beaucoup la tâche, c'est tout ne pas une exigence obligatoire et aucune véritable communauté de hackers ne vous posera la question. Les programmeurs / hackers se jugent en fonction de la programmation de quelqu'un, et non de faux critères tels que les notes, l'âge, la race ou la position. Attention, au moins 60% des pirates open source qui évaluent vos correctifs ont le diplôme universitaire "correct" et ne vous permettront pas de contribuer à des bêtises au projet.
  • Lors des étapes finales (conférence et «install party»), vous pouvez bénéficier de votre propre ordinateur portable. Mais ce n'est pas acceptable de travailler dessus à la maison, alors n'achetez qu'un seul si vous pouvez vous permettre la deuxième machine.
  • Le chemin décrit pour devenir un «hacker» de logiciel open source prend au moins deux ans.