Comment créer un logiciel


Partie1

Apprendre les ficelles

  1. Déterminer quel type de base de développement logiciel vous intéresse. Il existe deux camps de base du développement de logiciels : Le développement d'applications et le développement de systèmes. Le développement d'applications est axé sur la création de programmes qui répondent aux besoins des utilisateurs. Il peut s'agir d'applications pour téléphones portables, de jeux vidéo de grande production ou de logiciels de comptabilité d'entreprise. Le développement de systèmes se concentre sur la création et la maintenance de systèmes d'exploitation en utilisant le développement du cycle de vie. Le développement de systèmes implique souvent l'opérabilité des réseaux et la sécurité des données.

2. Apprenez vous-même un langage de programmation. Tout le monde peut avoir des idées, mais un développeur sera capable de transformer ces idées en quelque chose de tangible. Même si vous ne voulez travailler que sur les aspects de conception des logiciels, vous devriez avoir une certaine familiarité avec le codage et être capable de créer des prototypes de base. Il existe une grande variété de langages de programmation que vous pouvez apprendre par vous-même. Parmi les plus utiles et les plus importants, citons :

  • C - C est l'un des langages les plus anciens encore utilisés, et constitue la base de la plupart des autres langages de cette liste. C est utilisé pour développer des programmes de bas niveau, et travaille très étroitement avec le matériel de l'ordinateur.
  • C++ - C'est la version orientée objet de C, et c'est le langage de programmation le plus populaire au monde. Des programmes tels que Chrome, Firefox, Photoshop, et bien d'autres sont tous construits avec C++. C'est également un langage très populaire pour la création de jeux vidéo. Les développeurs C++ sont presque toujours très demandés.
  • Java - C'est une évolution du langage C++, et est utilisé en raison de sa facilité de portabilité. Presque tout système peut exécuter une machine virtuelle Java, ce qui lui permet d'exécuter des logiciels Java. Il est largement utilisé dans les jeux vidéo et les logiciels d'entreprise, et de nombreuses personnes le recommandent comme un langage essentiel.
  • C# - C# est un langage basé sur Windows qui fait partie du cadre .NET de Microsoft. Il est étroitement lié à Java et C++, et si vous apprenez Java, vous pouvez rapidement passer à C#. Ce langage est particulièrement utile pour les développeurs travaillant avec des logiciels Windows ou Windows Phone.
  • Objective-C - C'est un autre cousin du langage C qui est spécifiquement conçu pour les systèmes Apple. Il voit une immense popularité dans les applications iPhone et iPad. C'est un excellent langage à apprendre en tant que freelance.
  • Python - C'est un langage incroyablement facile à apprendre, l'un des plus faciles. Python se spécialise dans le développement web.
  • PHP - Ce n'est pas exactement le développement de logiciels, mais PHP est essentiel si vous êtes intéressé à entrer dans le développement web. Il y a toujours beaucoup de travail pour les développeurs PHP, même si ce n'est pas aussi lucratif que le développement de logiciels.

3. Trouvez des ressources pour vous aider à apprendre. La plupart des librairies ont des sections entières dédiées aux livres de programmation, et il y en a des tonnes disponibles sur Amazon et d'autres e-tailers. Un livre de programmation bien écrit sera probablement la meilleure ressource que vous puissiez avoir, et vous permettra de vous y référer rapidement tout en travaillant sur des projets.

  • Au delà des livres, Internet est un trésor infini de guides et de tutoriels. Recherchez des guides sur le langage de votre choix sur des sites tels que CodeAcademy, Code.org : What will you create ?, Bento, Udacity, Udemy, Khan Academy, W3Schools, et bien d'autres encore.

4. Suivez quelques cours. Bien que vous n'ayez pas besoin d'un diplôme complet pour vous lancer dans le développement de logiciels, cela ne peut pas faire de mal de prendre quelques cours dans votre collège communautaire local ou votre centre d'apprentissage. Cela vous donnera l'avantage d'une instruction individuelle, et vous serez mis au défi de résoudre des problèmes que vous n'auriez probablement pas si vous appreniez par vous-même.

  • Les cours coûtent de l'argent, alors assurez-vous que vous vous inscrivez à des cours qui vous aideront à apprendre ce que vous voulez savoir.
  • Bien que de nombreux développeurs soient en mesure d'entrer dans l'industrie en se basant uniquement sur les mérites de leurs compétences, vous'aiderez à vous démarquer du peloton si vous avez un baccalauréat'en informatique d'une université de quatre ans. Un diplôme vous donnera un plus grand bagage de connaissances et vous donnera accès à des cours supplémentaires utiles comme les mathématiques et la logique.

5. Travaillez sur des projets favoris. Avant de commencer à essayer d'appliquer vos nouvelles compétences en programmation à des emplois dans le monde réel, travaillez sur quelques projets pour vous-même. Mettez-vous au défi de résoudre des problèmes en utilisant votre langage de programmation. Non seulement cela vous aidera à développer vos compétences, mais aussi à étoffer votre CV.

  • Par exemple, au lieu d'utiliser le programme de calendrier de votre ordinateur'pour rester organisé, essayez de concevoir le vôtre !
  • Si vous'êtes intéressé par le développement de jeux vidéo, travaillez sur des jeux simples qui ne'se concentrent pas sur les graphiques ou les mécanismes complexes. Au lieu de cela, concentrez-vous sur le fait de les rendre amusants et uniques. Une collection de petits jeux que vous avez créés vous-même aura fière allure dans votre portfolio.

6. Posez des questions. L'internet est un moyen fantastique de se connecter avec d'autres développeurs. Si vous vous retrouvez bloqué sur l'un de vos projets, demandez de l'aide sur des sites tels que Stack Overflow. assurez-vous de demander de manière intelligente et de pouvoir prouver que vous avez déjà essayé plusieurs solutions possibles.

7. Entraînez-vous tous les jours. Travaillez sur vos projets favoris tous les jours, ne serait-ce que pendant une heure. Cela vous aidera à rester frais et à apprendre constamment de nouvelles techniques. De nombreux développeurs ont réussi à apprendre un langage en veillant à y être exposés quotidiennement.

  • Définissez chaque jour un moment que vous pouvez consacrer au codage, ou fixez une date limite à laquelle vous devez avoir terminé. Essayez de travailler sur vos projets tous les jours de la semaine pour pouvoir vous détendre le week-end.

Partie2 : Développer un programme

  1. Brainstorming d'idées. Un bon programme effectuera une tâche qui facilitera la vie de l'utilisateur. Examinez les logiciels actuellement disponibles pour la tâche que vous voulez accomplir et voyez s'il n'y a pas moyen de rendre le processus plus facile ou plus fluide. Un programme réussi est un programme dans lequel les utilisateurs trouveront beaucoup d'utilité.Examinez vos tâches quotidiennes sur votre ordinateur. Examinez vos tâches quotidiennes sur votre ordinateur et demandez-vous si vous ne pourriez pas automatiser une partie de ces tâches à l'aide d'un programme. Même si elle semble stupide ou farfelue sur le moment, elle pourrait se transformer en quelque chose d'utile, voire de brillant.Examinez d'autres programmes. Que font-ils ? Comment pourraient-ils le faire mieux ? Que leur manque-t-il ? Répondre à ces questions peut vous aider à trouver des idées pour votre propre version.

2, Rédigez un document de conception. Ce document décrira les caractéristiques et ce que vous avez l'intention de réaliser avec le projet. Se référer au document de conception pendant le processus de développement aidera à garder votre projet sur la bonne voie et concentré. Consultez ce guide pour obtenir des détails sur la rédaction du document.

3. Créez un prototype. Il s'agit d'un programme de base qui montre la fonctionnalité que vous'visez. Un prototype est un programme rapide, et doit être itéré jusqu'à ce que vous trouviez une conception qui fonctionne. Par exemple, si vous créez un programme de calendrier, votre prototype serait un calendrier de base (avec des dates correctes !) et un moyen d'y ajouter des événements.

  • Votre prototype changera souvent pendant le cycle de développement, car vous trouverez de nouvelles façons d'aborder les problèmes ou penserez à une idée plus tard que vous voulez incorporer.
  • Le prototype ne doit pas nécessairement être joli. En fait, l'art et le design devraient être l'une des dernières choses sur lesquelles vous vous concentrez. En utilisant à nouveau l'exemple du calendrier, votre prototype devrait très probablement être juste du texte.

4. Testez-le encore et encore. Les bugs sont le fléau de tout développeur. Les erreurs dans le code et l'utilisation inattendue peuvent causer toutes sortes de problèmes dans un produit fini. Tout en continuant à travailler sur votre projet, testez-le autant que possible. Faites tout ce que vous pouvez pour le casser, puis essayez de l'empêcher de se casser à l'avenir. Demandez à vos amis et à votre famille de tester votre programme et de vous communiquer les résultats. Toute façon d'obtenir un retour d'information aidera votre processus de développement.

  • Essayez de saisir des dates impaires si votre programme traite des dates. Des dates vraiment anciennes ou des dates futures lointaines peuvent provoquer des réactions bizarres avec le programme.
  • Entrez le mauvais type de variables. Par exemple, si vous avez un formulaire qui demande l'âge de l'utilisateur's, entrez plutôt un mot et voyez ce qui arrive au programme.
  • Si votre programme a une interface graphique, cliquez sur tout. Que se passe-t-il lorsque vous revenez à un écran précédent, ou que vous cliquez sur des boutons dans le mauvais ordre ?

5. Polissez vos projets. Alors que c'est bien de faire un projet brut pour la phase de prototypage et de développement, si vous voulez que d'autres l'utilisent, vous allez devoir passer du temps sur le polissage. Cela signifie qu'il faut s'assurer que les menus s'enchaînent logiquement, que l'interface utilisateur (IU) est propre et facile à utiliser, qu'il n'y a pas de bogues flagrants ou flagrants, et qu'elle'est revêtue d'une belle finition.

  • La conception et la fonctionnalité de l'IU peuvent être très difficiles et complexes. Des gens font des carrières entières dans la conception d'interfaces utilisateur. Assurez-vous simplement que votre projet personnel est facile à utiliser et agréable à regarder. Une IU professionnelle peut ne pas être possible sans un budget et une équipe.
  • Si vous avez le budget, il y a beaucoup de graphistes indépendants qui pourraient potentiellement concevoir une IU sur contrat pour vous. Si vous avez un projet solide que vous'espérez voir devenir la prochaine grande chose, trouvez un bon designer d'interface utilisateur et intégrez-le à votre équipe.

6. Mettez vos projets sur GitHub. GitHub est une communauté open-source qui vous permet de partager votre code avec d'autres personnes. Cela vous permettra d'avoir un aperçu de votre propre code ainsi que de profiter à d'autres personnes qui recherchent des solutions que vous avez peut-être trouvées. GitHub est une excellente ressource d'apprentissage ainsi qu'un bon moyen de constituer votre portfolio.

7. Distribuez votre logiciel. Une fois que vous avez un produit fini, vous pouvez choisir si vous voulez le distribuer ou non. Il existe une variété de façons de le faire de nos jours, selon le type de logiciel que vous avez créé.

  • L'une des façons les plus courantes pour les petites équipes ou les développeurs indépendants de distribuer leur logiciel est de créer un site Web personnel. Assurez-vous que toutes vos fonctionnalités sont bien documentées, et incluez quelques captures d'écran et tutoriels. Si vous vendez votre logiciel, assurez-vous d'avoir un bon système de paiement numérique et un serveur à partir duquel distribuer le logiciel.
  • Si vous développez un logiciel pour un appareil ou un système d'exploitation spécifique, il existe plusieurs magasins numériques que vous pouvez utiliser. Par exemple, si vous créez un logiciel pour les appareils Android, vous pouvez vendre votre application par l'intermédiaire du Google Play Store, de l'Amazon App Store ou de votre propre site Web personnel.

Partie 3 : Obtenir du travail

  1. Prenez des emplois contractuels. Bien qu'ils ne soient pas aussi bien payés et moins fiables qu'un emploi à temps plein, vous pouvez étoffer considérablement votre portefeuille en acceptant une série d'emplois contractuels. Consultez des sites comme Elance et ODesk (également connu sous le nom de "Upwork" maintenant) pour trouver du travail. Bien qu'il puisse être difficile d'être considéré pour un contrat, une fois que vous obtenez votre premier, cela devient beaucoup plus facile.
  • Hacker News est une excellente ressource pour les emplois contractuels et en freelance. Consultez la section " Ask ".
  • Bien qu'il puisse être tentant de faire une offre basse pour obtenir un emploi contractuel, ne'vendez pas vos services à la légère. Non seulement vous finirez par travailler plus pour moins que ce que vous méritez, mais vous fâcherez également les autres dans votre domaine, ce qui entraînera moins de réseautage.
  • Un bon travail sur un emploi contractuel peut parfois conduire à un poste à temps plein. Mettez toujours votre meilleur atout en avant !

2. réseautez autant que possible. Assistez à autant de conventions et de hack-a-thons que vous le pouvez. Non seulement cela vous exposera à plus de code et de problèmes à résoudre, mais cela vous aidera également à rencontrer d'autres personnes dans le secteur. Malgré ce que vous pouvez penser des programmeurs travaillant seuls dans leur sous-sol, la majorité des développeurs à temps plein font partie d'une équipe et le réseautage est tout aussi important que dans n'importe quel autre domaine.

3. Postulez à des postes à temps plein. Une fois que vous avez quelques emplois contractuels à votre actif, vous pouvez commencer à envoyer votre CV et votre portfolio à de plus grandes organisations pour un emploi à temps plein. Outre Monster et Indeed, il existe une variété de sites d'emploi spécifiques aux développeurs que vous devriez consulter, notamment GitHub Jobs, StackOverflow Job Board, AngelList, CrunchBoard, Hirelite et Hacker News.

4. Diversifiez vos compétences. Un bon développeur de logiciels est généralement compétent dans plus d'un langage. Même si une grande partie de ce que vous apprendrez se fera sur le tas, utilisez une partie de votre temps libre pour élargir vos connaissances et apprendre les bases d'un autre langage ou deux. Cela rendra la transition vers de nouveaux projets beaucoup plus facile et fera de vous un candidat à l'emploi beaucoup plus désirable.

5. Ne vous inquiétez pas de la rémunération. Tous les emplois de développement de logiciels de niveau d'entrée ne vont pas payer six chiffres. En fait, aucun d'entre eux ne le fera. La bonne chose à propos du développement de logiciels, cependant, est que le marché du travail est incroyablement fort. Si vous avez l'impression de ne pas gagner assez d'argent là où vous êtes, il est relativement facile de changer de poste dans une nouvelle entreprise (si vous avez les compétences nécessaires). Considérez vos premiers emplois comme une expérience nécessaire au lieu de vous concentrer sur votre plan de retraite.

Source : Comment développer des logiciels