Je suis un lycéen de 16 ans, passionné de programmation informatique. Je suis en 11e année et je l’apprends dans le cadre du programme scolaire depuis environ 8 mois. Je suis allé au-delà de ce qui est enseigné à l'école et j'ai quelques applications (assez bonnes). Le langage dans lequel je programme est C ++, sur la plate-forme Windows. En fin de compte, je souhaiterais me spécialiser en CS dans un bon collège, puis travailler en tant que programmeur.
Les questions spécifiques que j'ai sont les suivantes:
- Quel est le bon endroit pour que mon travail soit remarqué?
- Existe-t-il des revues ou des publications destinées aux jeunes programmeurs?
- S'il n'y a pas de publications, y a-t-il de bons blogs ou est-il préférable de créer le vôtre?
- Y at-il autre chose qui pourrait m'aider à me faire remarquer en tant que programmeur?
J'ai essayé d'être aussi objectif que possible.
Si tout cela était: Quelle est la meilleure façon de se faire remarquer en tant que jeune programmeur?
Edit: Je ne cherche pas à être embauché directement du lycée. L'objectif n'est pas d'impressionner la communauté en tant que programmeur professionnel. C’est dans l’intention des applications universitaires que votre travail sera vu et critiqué par d’autres personnes afin d’améliorer votre candidature. Je ne cherche pas à gagner de l'argent avec ce que j'ai écrit (jusqu'à présent).
Réponses:
Je voudrais vous donner un avertissement et des suggestions.
Avertissements:
Ne surestimez pas vos connaissances: pour le moment, je suppose que vous en savez suffisamment pour écrire une application simple et plus que ce qui est réellement enseigné en classe. Mais cela ne fait pas de vous un "programmeur professionnel"; cela peut faire de vous un "pigiste" au plus.
Ne sous-estimez pas la valeur de ce qui est enseigné à l'école. Même si quelque chose vous semble évident, étudiez-le également: vous verrez de "nouveaux aspects" (je le préciserai plus tard) au fur et à mesure de votre progression.
Suggestions:
Les applications professionnelles ont un cycle de vie typique de 3 à 5 ans et nécessitent des milliers (voire des millions) d’heures de travail. Ils ne peuvent pas être déployés par un développeur seul. Les programmeurs professionnels doivent travailler avec les autres. Ce n’est pas seulement une question de bonne connaissance des outils (comme les langages, les IDE, etc.), mais aussi des techniques, des méthodes et des idiomes.
Bien que les outils puissent être enseignés à l'aide d'échantillons et d'exercices formels, les techniques et les idiomes ne peuvent être que "décrits". Pour les "apprendre", vous devez faire l'expérience et partager l'expérience avec les autres. Ils sont continuellement inventés et améliorés.
Les entreprises qui recrutent à l’école vérifient votre compréhension des outils et votre aptitude à maîtriser les techniques de base, mais surtout, testez votre capacité à apprendre rapidement de nouvelles choses et à «capturer le travail» le cas échéant.
Lorsqu'ils embauchent des personnes expérimentées, ils examinent le nombre de choses qu'ils ont accomplies et l'expérience qu'ils en ont tirée.
Moral:
Si vous voulez être plus "évalué", apprenez à travailler avec les autres, en participant aux problèmes des autres (comme sur stackoverflow ) ou aux projets ouverts (comme sur sourceforge ).
Aussi, ne soyez pas trop rapide pour demander de l'argent; divisez votre "production de code" en "quelque chose à partager" et "quelque chose à vendre". Ce que vous pouvez partager peut être utilisé par d'autres, mais peut également attirer la participation d'autres personnes pour développer le projet initial. Ce que vous pouvez vendre, c'est ce qui rend votre application "unique" par rapport à d'autres projets similaires, la transformant en un véritable produit commercial.
Pour partager du code avec d'autres personnes, vous pouvez vous référer au site codeproject ou à sourceforge . Leur évaluation donne également une idée de l’intérêt que vous avez fait à d’autres personnes.
la source
Avez-vous pensé à créer des projets open source pour les applications que vous avez écrites et à les héberger en ligne? SourceForge.net ou GitHub.com sont de bons hôtes de projets open source. Cela aidera à gagner de la visibilité pour vos applications.
la source
Tout d’abord, soyons clairs: la plupart des programmeurs de 16 ans ne vont pas vraiment impressionner la communauté.
Il y a une raison pour cela à mon avis. Être un bon programmeur ne repose pas uniquement sur des compétences en programmation. Comme vous le voyez avec l'espoir au cours de votre majeure en CS, la programmation n'est qu'un sous - ensemble de l'informatique, et la plupart des gagnants (du moins des prix académiques) l'auront fait parce qu'ils ont prouvé quelque chose de nouveau (un nouveau théorème par exemple) ou découvert. une nouvelle façon de réaliser une tâche (motifs de conception). Pour ce faire, vous devez (au moins):
Si vous sentez que vous avez déjà maîtrisé tout cela, alors oui, vous allez probablement impressionner la communauté.
Vous pouvez toujours essayer de contribuer à un projet open-source, mais vous serez peut-être également surpris de voir à quel point vous devez rattraper votre retard avant de pouvoir réellement contribuer.
Enfin, jetez un coup d’œil sur StackOverflow et voyez à quel point vous pouvez y répondre dans votre langue préférée ... vous aurez un bon proxy de votre niveau.
la source
Essayez d’obtenir une très bonne réputation sur Stack Overflow. Presque le même sujet a été discuté ici:
Est-ce que la grande réputation dans Stack Overflow vous aidera à obtenir un bon travail?
la source
Quelques choses que vous voudrez peut-être essayer:
la source
Je vais suivre la réponse de Bernard et ajouter un peu plus. Il y a tellement de projets OSS qu'il est toujours difficile de se faire remarquer à moins de créer un projet populaire, ce qui ne sera pas facile pour un programmeur débutant.
En supposant que vous essayiez de vous faire remarquer dans la communauté de programmation, je vous suggérerais de publier des modules complémentaires (pour les logiciels libres ou à code source fermé) pour les outils utilisés par les programmeurs. Imaginez-vous passer un entretien d'embauche et être capable de dire que l'entreprise utilise déjà un logiciel que vous avez écrit. De nombreux outils de développement ont des API pour créer des add-ons et plusieurs hébergeurs même «App Stores», où vous pouvez obtenir une certaine visibilité pour votre outil sans trop vous soucier de le commercialiser.
Voici quelques exemples qui me viennent à l’esprit:
Selon l'outil que vous choisissez, vous pouvez cibler l'enclave spécifique de la communauté de programmation par laquelle vous souhaitez vous faire remarquer.
la source
la source
J'ai un point de vue légèrement différent ici.
Si vous voulez que votre logiciel soit remarqué, le meilleur moyen est de le faire utiliser par des personnes. Bien que Bill Gates et Mark Zuckerberg aient été d’excellents jeunes programmeurs, il y avait beaucoup de meilleurs programmeurs. Mais ces deux messieurs ont eu beaucoup de gens pour utiliser leurs produits et sont donc mieux connus pour leur travail.
Pour amener les gens à utiliser votre code, vous pouvez:
À mon avis, un logiciel n’est presque pas pertinent sans procurer d’avantages aux utilisateurs. Et vous vous ferez remarquer pour résoudre des problèmes qui préoccupent les gens, et c'est une compétence très rare.
la source
Une réponse que je n'ai pas encore lue: Google Summer of Code.
Sur le site :
Il faut avoir 18 ans pour participer, mais ce n'est pas loin. Je connais des personnes qui ont participé et qui ont vécu une expérience formidable. Parce que toutes vos contributions vont à des programmes open source, ils sont publics, ils seront donc remarqués.
Depuis que vous avez moins de 18 ans, Google propose également un programme similaire à GSOC pour les étudiants pré-universitaires (13-17 ans) appelé Google Code IN .
la source
De mon point de vue, il y a des types de personnes qui programment.
Définitions:
Remarquez que j'ai utilisé le mot "Moyenne" ci-dessus. Selon les intérêts personnels et l'expérience professionnelle, ces pourcentages peuvent changer radicalement. Ce ne sont que des stéréotypes trop généralisés. Ne jugez pas un livre par sa couverture. Je suis aussi juste BSing pourcentages de mon expérience.
la source
Je suis un programmeur indépendant. La programmation est mon principal revenu depuis la fin de mes études secondaires, il y a neuf ans. J'ai toujours l'intention d'obtenir mon diplôme, mais pour le moment, le moment ne me convient pas encore.
Mon chemin vers la reconnaissance autonome était le suivant. Je ne dis pas que ces étapes vous rendront reconnu par la communauté de la programmation, mais cela vous aidera à augmenter votre crédibilité au moment d'interviewer.
Même après avoir connu assez bien la programmation de l'OMI à l'époque, je suis retourné à l'essentiel, j'ai suivi des tutoriels et construit un portfolio basé sur des travaux inspirés de ceux-ci. J'ai également commencé à me forcer à commenter mon code de manière JavaDoc-esque. Le portefeuille n’est peut-être pas rempli de paillettes ni de glamour pour le moment, mais il vous donne une base de référence sur laquelle vous pouvez vous appuyer pour éventuellement remplacer ce que vous avez là-bas. J'ai ensuite eu un ensemble de démos et d'échantillons de code à montrer aux clients potentiels. Ceci est essentiel pour obtenir votre premier emploi. Personne ne veut engager quelqu'un qui n'a aucune expérience, cependant, il y a un certain nombre de personnes qui donneront une chance à un programmeur prometteur qui n'a pas d'expérience professionnelle.
J'ai ensuite analysé ces programmes et commencé à écrire des bibliothèques basées sur mes tâches les plus courantes. Avec mes nouvelles bibliothèques, j'ai commencé à examiner les problèmes de CompSci sur Internet et à chronométrer moi-même le temps qu'il faudrait pour construire une solution avec mes bibliothèques. Cela me donnerait une base future sur ce que je devrais facturer pour une tâche spécifique.
Ce n'est qu'alors que j'ai découvert l'open source. J'ai parcouru les projets sur sourceforge dans la langue qui m'intéressait et j'ai trouvé des applications que je pouvais utiliser. J'ai installé ces applications et commencé à les utiliser dans le cadre de mon expérience informatique quotidienne. J'ai pu voir les forces et les faiblesses de ces applications dans la mesure de mes interactions quotidiennes et j'ai commencé à les étendre pour répondre à mes besoins. Je soumettrais mes correctifs à la communauté en développement afin qu’ils soient examinés, et après quelques demandes, je demanderais à devenir membre du projet. C’est là que j’ai appris à utiliser les différents outils utilisés dans une équipe qui m’a inspiré de ma "vaste expérience", telle que je l’avais envisagée à l’époque, pour passer au niveau supérieur.
J'ai adapté toutes mes pratiques que j'avais choisies pour travailler sur des projets open source et mettre en œuvre des solutions compilables lorsque je travaillais à titre individuel. J'ai commencé sérieusement à faire carrière en tant que développeur indépendant et j'ai rejoint plusieurs sites de recrutement indépendants. J'ai regardé quels étaient les emplois les plus populaires et j'ai commencé à postuler. Pour chaque travail qui me serait refusé, je le compléterais quand même comme si j'avais obtenu le travail pour approfondir mes connaissances. Cela aiderait à construire mon portefeuille et à me présenter certains défis du monde réel. Lorsque j’ai enfin eu cette première entrevue, j’ai été directe et leur ai dit que je n’avais aucune expérience professionnelle. J'ai ensuite commencé à leur raconter les projets open source sur lesquels j'avais travaillé, ce que j'avais accompli là-bas. Quelques obstacles majeurs que j'avais rencontrés et comment je les ai résolus.
la source
PS: Cela fait longtemps que je n'ai pas fait de demande d'admission à l'université. Ils vous permettent toujours de répertorier de telles choses, n'est-ce pas? (Par exemple, une section sur les loisirs ou une question à propos de vos intérêts).
la source
Je pense que JohnFX a donné une excellente réponse à cette question.
Quelques réflexions:
Je pense que jQueryUI pourrait être le meilleur endroit pour commencer. C'est amusant et visuel. Vous pouvez donc vous rendre sur le forum des développeurs jQueryUI sur le site jQuery et demander à être un contributeur.
Je pense que vous ferez plus preuve d'une grande passion et d'un grand dévouement pour la programmation que d'une grande habileté. Mais ne laissez pas cela vous arrêter! Je vous encourage fortement à être impliqué.
À ce stade, vous devrez peut-être vous contenter de l'AQ. L'assurance qualité est ennuyeuse mais vous pouvez l'accepter et faire preuve de dévouement. Mais à partir de là, vous pouvez contribuer un peu de code et peut-être créer des plugins.
Si vous demandez à être impliqué dans quelque chose et que cela rend les choses difficiles, c'est parce qu'ils sont des connards. Il suffit de chercher un projet où les gens sont encourageants et gentils.
Une fois que vous avez trouvé un projet avec des personnes encourageantes et agréables et que vous avez contribué, vous pouvez demander à l’un des contributeurs adultes ou, espérons-le, à l’un des responsables du projet de vous écrire une courte lettre de recommandation.
la source
Je suis respectueusement en désaccord avec ceux qui ont répondu "ne vous surestimez pas vous-même"!
Si vous aimez la programmation à votre âge, allez-y, vous êtes probablement meilleur et plus grand que les autres enfants de votre âge, et si vous êtes un ancien combattant, vous pourriez être le prochain Brian Kernighan, Edsger Dijkstra ou Doug Lea!
Je suggérerais d'apprendre le développement sur iPhone ou Android et de créer de véritables applications.
Devenez bon à quelque chose et pendant que vous y arrivez, parlez lors de conférences et écrivez des articles, qui vous feront remarquer et perfectionneront vos compétences.
Je programme depuis la fin des années 70 et en Java depuis 1996. Je peux vous dire que le livre Java le plus important que j'ai jamais lu est Gang of Four Design Patterns, qui a été écrit une décennie avant l'invention de Java. Lisez-le et soyez génial!
L’industrie financière la mieux payée aujourd’hui est financière, mais elle évolue rapidement. Je crois que ça va revenir, mais on ne sait jamais!
Soyez programmeur et profitez d'un emploi et d'une satisfaction professionnelle élevés!
Bonne chance, vous avez une belle carrière devant vous!
la source
Créez une application Web qui fonctionne bien sur iPhone et Android (ignorez les navigateurs standard pour le moment) et tirez parti des fonctionnalités étendues de HTML5 (https://developer.mozilla.org/en/HTML/HTML5) pour surmonter les problèmes de latence et de réseau instables. et la limitation des navigateurs téléphoniques. Cela signifie très probablement fournir une application de navigateur javascript + html5 qui se connecte à une API basée sur un serveur. (choisissez xmlrpc / json / yaml, pas SOAP). fais-le crier vite. Sur le serveur, je recommande d’utiliser cherrypy sous linux (debian) sur des VPS bon marché. Vous pouvez en obtenir chez 123systems.com, buyvm.net (préféré mais souvent pas disponible) pour moins de 4 $ par mois. Apprenez à utiliser Python et utilisez Fabric pour déployer vos données sur vos serveurs. Obtenez un domaine .info à namecheap.com pour 2,99 $ par an et utilisez dnsmadeasy.com pour le DNS (plus cher, mais ça vaut le coup, je l'utilise depuis des années, jamais eu un seul problème) où vous pouvez équilibrer la charge via DNS. Aussi, ne soyez pas rebutés par les bases de données. Utilisez sqlite et apprenez à concevoir vos tables manuellement avec des instructions SQL. Enfin, avec une seule machine, vous pouvez probablement gérer 30 000 utilisateurs. (2000 simultanément à un coup au serveur toutes les 3 secondes). N'oubliez pas de mettre autant que possible en cache dans le stockage HTML5.
Si vous faites cela, et que vous bloguez à propos de cela et que vous twittez sur les entrées de blog et vos progrès, vous serez certainement remarqués. Certes, il y a beaucoup à apprendre, mais vous pouvez le faire!
la source
À peu près n'importe où sur Internet - si vous écrivez quelque chose qui mérite d'être mentionné, tel qu'un utilitaire qui fait quelque chose de bien ou d'unique, qu'un grand nombre de personnes va utiliser / télécharger - alors vous avez déjà accompli la plus grande partie de cette tâche. Applications cool, utiles et disponibles, s'annoncent.
Vous êtes déjà là (c’est l’une des nombreuses communautés qui craint de partager et d’être connu pour le savoir), d’autres sont plus que ravis de lier les sujets de mérite à la discussion en cours.
Programmez uniquement pour le plaisir de la programmation - tant qu'elle est productive, créative et utile - vous en serez averti.
Un point que je vois mentionné dans d’autres réponses, et qui me tient également à cœur, concerne les contributions apportées aux projets à source ouverte. Le seul moyen d’améliorer le codage est de coder - et quel meilleur moyen de le faire que de résoudre les problèmes actuels. Parce que, sans problème à résoudre, vous codez en vain ... oh, encore une chose, ne faites pas attention aux vieux grincheux, avec leurs commentaires gonflés et décourageants, "jeune fouisseur", vous êtes jeune et enthousiaste, c'est tout ce dont vous avez besoin.
la source
Si je vous étais, je ferais connaître mon travail, vous dites que vous programmez
c
afin de commencer à créer des programmes adaptés à l’expérience des utilisateurs quotidiens, créer des choses commeyoutube downloader
et commencer votre propredev team
hey man à seulement 19 ans et j’ai commencé à programmer 4 ans Il y a un peu, je suis un jeune homme noir de la classe dirigeante ... afin que je puisse comprendre votre passion pour la programmation, mais en même temps, la programmation pourrait prendre beaucoup de votre temps et de vos efforts et vous donner le temps de vivre .. Cela signifie que tout ce temps passé devant un ordinateur peut être stressant pour un jeune garçon.la source
Il y a des tonnes d'endroits où travailler pour être reconnu, mais même si vous considérez que votre travail est excellent, ce n'est peut-être qu'une simple journée de travail. Quand j'avais 16 ans, je trouvais que mon travail était génial, je faisais des trucs sympas, mais je travaille actuellement dans ces domaines, et où j'étais alors, ce n'est rien comparé à ce que je suis maintenant, et je suis encore un long chemin hors d'où je veux être.
la source
Si vous aimez les jeux, essayez de participer à Ludum Dare. Un bon jeu aura une certaine renommée.
la source
Si vous voulez vous faire remarquer et gagner de l'argent, je recommanderais le développement mobile sur iPhone ou Android. Vous connaissez déjà le C ++, ce qui est un bon début. Pour le développement natif sur iPhone, vous aurez besoin d'Objective C et pour Android, de Java. Les deux sont similaires au C ++ (Java est plus facile car il n’ya pas de gestion de mémoire) et ne sera pas trop difficile à apprendre. Ainsi, non seulement vous écrirez des applications qui vous feront remarquer et vous rapporterez de l'argent, mais vous apprendrez de nouvelles langues et de nouvelles plateformes en même temps.
la source