" Avant de devenir Programmeur tu as bien fait des etudes"
non, c´est plutot dans l´ordre inverse, et par alternance.. je m´explique : pour ma part, comme pour beaucoup de mes amis qui sont de bons programmeurs ( et ça se généralise à tous les pasionnés), c´est avant tout une passion. Ca sous-entend qu´on a commencé vers 13-14 ans, en codant des petits trucs, puis de plus en plus gros... Là, tu découvres un peu les langages, les technologies, ce qui t´interesse, quels domaines te motivent, etc. Tu réalises tes premieres petites applis, c´est pas grand chose mais t´en es content
Ensuite vient un stade où les études, en plus de prendre beaucoup de temps, deviennent indispensable pour aborder des choses qu´on n´aurait pas vu seul ( comme des choses tres théoriques poussées qui nécessitent d´etre encadré dans son apprentissage pour bien cerner tout les éléments). Mais pour bien profiter des enseignements prodigués en école spécialisée, il faut DEJA savoir programmer. Et oui...
Bon, bien sur, il y a des cours de programmation, et ça te permet de te débrouiller si tu es novice, mais sans plus. La programmation ne s´apprend pas à l´école, à l´école on te donne des bases, des outils conceptuels, et des méthodologies. La coté vraiment technique pur, c´est ton investissement personnel qui te l´apporte. Pour exemple, j´ai recemment trouvé du boulot, je fais du C++ et de la 3D à longueur de journée, ça ma plait, c´est mon domaine, mais ce n´est pas avec ce que j´ai fait à l´école ( ingé, master, major de promo, tout le merdier quoi) que je me sentirais à l´aise. Le temps de formation est trop court ( meme pour un bac+5) pour pouvoir aborder tous les themes dont il faut avoir au moins connaissance et en plus faire des choses pointues qui apportent la réelle maitrise.
Un diplome, ça te donne un titre officiel, un minimum de compétences et de savoir faire ( en gros le minimum qu´un employeur peut exiger de toi) et un statut. L´enseignement que tu suis durant ta formation doit etre vue comme un complément de ce que tu fais de ta propre initiative. Si tu te contentes de suivre les cours, faire les projets qu´on te demande de faire, c´est mort, tu seras noyé dans la masse des personnes qui " se laissent porter", et tu ne seras pas comptétent ( au moins au début), tu ne te distingueras pas des autres et n´auras pas la maitrise de ton domaine de spécialisation. Par ex, si tu " apprends" le C++ uniquement à l´école ( si on te l´enseigne.. vu que maintenant c´est surtout du Java), tu ne veras toutes les finesses techniques que seul qqun qui s´interesse de lui-meme peut maitriser, et quand tu seras sur un projet conséquent, tu seras invétiblement confronté à des problemes. Ca ne pas dire que tu seras paumé complétement, mais que tu as auras besoin d´effectuer des recherches, expérimenter, découvrir ce que tu n´as pas découvert, autrement dit, perdre du temps... Et le temps, sur un projet financé, c´est précieux, et ça se sent au niveau des deadlines ; alors que pendant que tu es encore en formation ( lycée, supérieur, au dela, etc.), c´est le moment idéal pour devenir un spécialiste des technologies dont tu as envie.
Pour résumer, je dirais que dans un premier temps, une démarche personnelle est indispensable, ne serait-ce que pour voir si la programmation plait ( y´a que deux possibilités... soit ça devient vite une passion, soit c´est pas ton truc). Ensuite, des études supérieures t´apportent les compléments théorique et méthodologique, ainsi qu´un point de vue plus englobant. Et finalement, tu es opérationnel, et c´est à nouveau ton initiative personnelle qui te permet de te tenir dans le coup, en t´interessant naturellement aux nouvelles technologies.
Comme quoi, c´est un mix tout ça... Enfin, ça reste mon point de vue, mais je pense que bcp pourront confirmer que ça colle à peu pres au leur.