Actuellement, notre société développe des applications composées la plupart du temps de serveurs Web Ruby on Rails et de nombreux clients REST, des systèmes de kiosque Java aux périphériques intégrés en C / C ++ (en plus des interfaces pour les navigateurs Web standard). Nous devons élargir notre équipe et, n'ayant pas réussi à trouver de bons programmeurs expérimentés, nous avons décidé de déployer des efforts pour former des programmeurs débutants qui évolueraient avec la société.
Nous leur avons déjà donné des livres Ruby and Rails et leur avons demandé de créer des programmes de jouets, mais je réalise maintenant à quel point la courbe d'apprentissage de l'état actuel de la programmation Web est abrupte.
Lorsque j'ai commencé à programmer il y a 15 ans, je n'utilisais que Delphi et Source Safe et j'étais capable de produire des logiciels utilisables dès le début. C'étaient deux outils simples et il était facile de se plonger dans les rouages de l'environnement. Lentement, j'ai commencé à utiliser des frameworks tiers, suis passé à CVS, SVN et enfin Git, j'ai appris les bases du Web d'aujourd'hui, comme HTTP, JavaScript, CSS, REST, etc. Aujourd'hui, même après des années d'expérience, je ne sais pas autant sur la manière dont Ruby on Rails fonctionne à l'intérieur que sur Delphi par le passé, et pour moi, c'était important pour pouvoir connecter les blocs d'apprentissage de base aux outils que j'utilisais.
Il me semble que les programmeurs que je recrute prendront beaucoup de temps à s’intégrer à l’équipe et à produire quelque chose d’utilisable, car il ya tellement de choses à apprendre pour utiliser un seul framework (Rails): Ruby, HTML, CSS, JavaScript, etc. REST, cas de test, accès à la base de données (avec SQL construit magiquement dans le framework!), MVC, trois gestionnaires de paquets différents (apt pour Ubuntu, gem et bundler pour Ruby), ssh, git, Apache et Phusion Passenger pour le déploiement, etc.
Je me sens perdu depuis que c'est la première fois que je dois traiter directement avec des programmeurs débutants. Quel est le meilleur moyen de former les programmeurs débutants aux meilleures pratiques actuelles en matière de développement Web alors que les choix sont si nombreux?