web-dev-qa-db-fra.com

Comment les développeurs trouvent-ils le temps de rester au fait des dernières technologies?

J'ai été développeur Web indépendant jusqu'en 2004 environ, lorsque j'ai commencé à suivre la voie de la gestion, mais j'ai décidé d'essayer de reprendre le développement (en particulier les applications Web Web/mobiles JavaScript et HTML5) et j'ai vraiment l'impression d'être vraiment bon dans ces technologies et des technologies similaires évoluant rapidement, un temps constant doit être mis de côté pour investir dans l'amélioration des compétences existantes en plus de l'acquisition de nouvelles compétences.

Je comprends en ce moment depuis que je reviens dans les choses, il y a une courbe d'apprentissage assez abrupte, mais voir combien de gars sont bons là-bas - la seule façon que je vois de monter là-bas est de mettre beaucoup de temps.

Pour ceux qui travaillent en tant que développeurs à temps plein, ce que j'essaie de comprendre est le suivant: la plupart du temps, combien de temps au bureau est consacré à broyer du code par rapport à l'apprentissage/la recherche. Je pourrais facilement passer 2 à 4 heures par jour à me familiariser avec les meilleures façons de faire les choses.

La plupart des bons développeurs qui travaillent à temps plein investissent-ils des heures importantes en dehors du travail pour affiner leurs compétences?

Ou peut-être que je regarde tout cela complètement faux?

83
u2sonderzug

Pour être honnête, j'utilise un lecteur de fil d'actualité. Je m'abonne à un certain nombre de blogs et de sites liés à la technologie. Je vais lire mon flux pendant le déjeuner, avant le travail et parfois après le travail. Cependant, j'utilise ma tablette pour cela et j'examinerai constamment les sources d'actualités pour savoir si elles fournissent un bon rapport temps/valeur. J'ai probablement 1-2 heures par jour pour lire de nouvelles choses.

En général, je ne perdrai pas de temps à lire des commentaires ou à commenter, à moins que ce ne soit un véritable transfert de connaissances.

61
Phil Hannent

Vraiment? Ce n'est pas encore une des réponses?

Suggérez au patron que vous avez entendu parler de newThing et que cela pourrait aider l'entreprise, en particulier avec hideousProblemWeJustHad. C'est ainsi que j'ai fait mon incursion dans les tests unitaires. Ce n'est pas super-tranchant, mais mon école a fait un travail horrible pour enseigner de quoi il s'agissait et c'était nouveau pour moi. Une partie du temps consacré à cette tâche consistait définitivement à rechercher comment le faire correctement.

Et bien que cela soit plus ou moins hors de votre contrôle, je me retrouve souvent à apprendre de nouvelles choses juste pour faire mon travail. J'ai appris DO-178 et SQL parce qu'ils étaient en quelque sorte obligatoires pour la tâche à accomplir. Si vous voulez VRAIMENT plonger dans de nouvelles choses, trouvez un nouvel emploi.

En bref. Soyez payé pour apprendre. Parce qu'il y a une vraie raison honnête à Dieu d'utiliser (certaines) de ces nouvelles choses. Parce qu'ils sont meilleurs. S'ils sont meilleurs, le patron voudra que vous les utilisiez car cela aidera ses résultats. Il y a des frais généraux, bien sûr. Le processus d'apprentissage n'est pas instantané et le temps c'est de l'argent, mais s'il n'en vaut pas la peine, hé, peut-être que la nouvelle chose n'est pas beaucoup mieux. Dans ce cas, merde.

31
Philip

Je mets les informations les plus utiles que je rencontre dans un Anki deck. Chaque matin, je passe 5 à 10 minutes à parcourir le matériel. Cette semaine, par exemple, Anki m'a posé cette question que je n'avais pas traitée depuis un certain temps:

PHP: Que faut-il faire après un foreach sur un tableau référencé?

Je ne me souvenais pas si la réponse était unset($value) ou reset($value), ce qui m'a permis de rester précis. Effectivement, ce matin même, j'ai dû utiliser cela dans le code.

Je garde quelques extraits d'informations concernant AWS, PHP, Bash et d'autres technologies que j'utilise là-bas. À tout le moins, Anki garde les informations fraîches dans mon esprit ou faciles à trouver si j'oublie.

EDIT: Je devrais également mentionner, pour moi, la programmation était un passe-temps qui s'est transformé en carrière de développement de logiciels. Je trouve que les personnes dont la carrière est aussi leur passe-temps ont tendance à rester naturellement au courant de leur intérêt personnel, et pas seulement professionnel. Cela vaut pour les artistes, les médecins, les jardiniers et la plupart des autres professions spécialisées, pas seulement les programmeurs.

15
dotancohen

Lorsque le temps est limité, il vaut mieux se concentrer sur le matériel de la plus haute qualité.

Les livres (les bons) sont plus susceptibles d'avoir du matériel de meilleure qualité que les blogs. Les livres avec des notes moyennes élevées sur Amazon ont généralement du matériel de la plus haute qualité. Achetez un Kindle et téléchargez quelques livres très appréciés sur le sujet - gardez-le avec vous partout où vous allez. Peut-être une heure par jour de lecture? - c'est ce que je fais de toute façon, je ne sais pas ce qu'est une bonne directive de temps.

Si vous vous remettez en selle et que vous avez le budget, mieux vaut à nouveau suivre une formation (ou conférence) décente pour un coup de pied. Quelques jours d'entraînement intense = des mois de lecture.

12
GBH

Aiguiser la scie est un must pour tous ceux qui sont impliqués dans tout travail basé sur les connaissances. La façon de procéder est laissée à l'individu. Voici quelque chose [~ # ~] je [~ # ~] fais

  • Écoutez des podcasts, récupérez des liens, découvrez la technologie et sa pertinence dans des domaines spécifiques ( http://www.javaposse.com/ , http: //www.se-radio .net / et bien d'autres)
  • Je lis beaucoup (gestion et technologie)
  • Faites de petits projets pour vous faire une idée de nouvelles choses, qui ne sont pas directement utilisées dans mon travail normal.
  • Google tech pourparlers - C'est beaucoup plus compliqué que les podcasts ordinaires, mais plus utile.
8
Jayan

Pour être franc, oui. Les bons développeurs font passent une certaine quantité de programmation en dehors du temps de travail. Souvent, c'est un projet pour animaux de compagnie, où ils peuvent jouer avec des choses nouvelles et intéressantes. Souvent, des choses qui ne sont pas applicables au travail servent à élargir l'esprit et à suivre le tranchant (relativement).

6
Telastyn

Comme le dirait AC/DC: "C'est un long chemin vers le Top si vous voulez du Rock and Roll".

Ce ne sera pas facile si vous visez le sommet. Le principal problème d'essayer de se remettre sur le cheval est de se sentir dépassé - sans parler de stupide.

Vous essayez de comprendre TDD, puis vous tombez sur l'injection de dépendances puis sur l'inversion des conteneurs de contrôle. La dernière chose à apparaître sous mon radar a été le CQRS. Essayer de saisir tout cela à la fois est vraiment difficile. Petites étapes.

Et cela n'aide pas le fait que certains d'entre eux peuvent être considérés comme une mode. Aimons-nous nous vanter de cette nouvelle chose brillante qui résoudra tous nos problèmes.

Quelques choses à essayer:

  • http://www.safaribooksonline.com/ ils ont (c'est un peu caché) un abonnement de 5 emplacements par 9,99 $ par mois. Ils ont une application mobile. Vous pouvez étudier où que vous soyez.

  • Abonnez-vous à certains cours vidéo. Je me suis abonné à http://tekpub.com/ une fois et j'ai adoré. Je connais également https://peepcode.com et http://pluralsight.com . Vous pouvez regarder en déplacement.

  • Choisissez quelques bons fils de nouvelles et suivez-les. Choisissez la qualité plutôt que la quantité. Sinon, vous vous sentirez simplement écrasé par trop d'informations.

  • Utilisez https://getpocket.com pour stocker ces pages intéressantes que vous voudrez peut-être consulter plus tard. Arrêtez d'ouvrir de nouveaux onglets pour les afficher plus tard et oubliez-les. Ils ont des applications mobiles qui permettent de visualiser vos pages stockées en déplacement.

  • Utilisez https://ifttt.com pour vous faciliter la vie. Pour ma part, je fais en sorte que lorsque je lance un élément sur Google Reader, il enregistre automatiquement pour moi sur Pocket.

  • http://www.class-central.com/ Liste des MOOC proposés par des institutions comme Stanford et MIT. Certains peuvent être vraiment intéressants.

Quoi qu'il en soit, les meilleurs programmeurs passent probablement beaucoup de temps en dehors des heures de travail à apprendre de nouvelles choses. Mais ils le font parce qu'ils aiment le codage. Il est facile de trouver du temps pour améliorer vos compétences en codage lorsque vous aimez le codage. :)

6
Luiz Angelo

"Broyage du code" IS le meilleur outil d'apprentissage. Lorsqu'on me donne quelque chose qui peut utiliser une nouvelle méthode, je le martèle jusqu'à ce que cela fonctionne. Si un client demande quelque chose qui nécessite la nouvelle technologie, Je vais les facturer, mais si c'est quelque chose que je n'avais tout simplement pas appris, je ne les facture pas.

Le Web évolue à un bon rythme. Dans ma petite entreprise, j'utilise des pigistes pour des choses que je ne connais pas ou pour lesquelles je n'ai pas le temps. Habituellement, ils m'apprennent, mais il est devenu plus difficile de suivre ce qui fonctionne aujourd'hui, mais vous ne pouviez pas l'utiliser hier ou cela fonctionnera demain, vous devriez donc l'apprendre aujourd'hui et ainsi de suite.

Pour les choses non Web, les choses étaient plus stables. Vous avez écrit du code dans une langue sur une plate-forme. Maintenant, vous devez connaître HTML/CSS/Javascript/Java/SQL/PHP/* nix/toutes ces API .... et puis il y a Internet Explorer .... soupir.

C'est une lutte pour un développeur.

4
Rob

Conceptualisez et construisez vos propres projets.

Sérieusement. Tout ce que j'ai appris est venu de moi qui a proposé une idée farfelue, puis s'est assis pour essayer de le comprendre. Si vous faites cela assez longtemps, vous vous mettrez sur une voie d'amélioration continue.

3
Chris Cagle

Une astuce que j'utilise lorsque j'apprends quelque chose de nouveau est d'aller sur StackOverflow (ou sur les forums dédiés à la technologie), de trouver une question dont je ne connais pas la réponse et de trouver la réponse. De plus, j'essaie d'implémenter quelque chose en utilisant la nouvelle compétence/technologie. Par exemple, afin d'apprendre à programmer pour Windows Phone, j'ai demandé à ma femme quel type d'application elle voulait. Le processus d'écriture de cette application m'a obligé à en savoir plus sur la plate-forme et comment faire les choses.

Vous pouvez lire tout ce que vous voulez, mais vous n'avez pas d'expérience en lisant.

2
Michael Brown

Demandez-vous simplement ce qui vous motive et non ce qui motive les autres.

Par exemple - Est-ce que je veux créer des applications mobiles ou continuer à travailler sur des applications Web depuis que j'ai une expérience antérieure ou est-ce que je veux faire du conseil technique? Je pense qu'une fois que vous saurez ce que vous voulez faire au cours des prochains mois ou des prochaines années, vous saurez exactement par où commencer et ce que vous devez apprendre.

Il ne s'agit pas de savoir ce que demandent uniquement les informaticiens.

2
Tejaswi Rana

Essayez simplement de profiter au maximum de votre temps libre. Vous pourriez passer 3 heures par jour à apprendre les nouvelles technologies, mais vous voulez quand même avoir une vie sociale. Ce n'est peut-être pas la meilleure approche.

Ce que je fais habituellement, c'est d'apprendre pendant ces moments où (dans des conditions normales) je serais "paresseux". Lire des livres sur la technologie dans le train, regarder des podcasts avant d'aller au lit (au lieu de regarder la télévision), lire StackOverflow, des blogs technologiques ou autres sources quand j'ai besoin de repos au travail (au lieu d'être sur Facebook), parler de technologie avec mes collègues pendant l'heure du déjeuner.

2
margabit

Je n'ai jamais trouvé une meilleure explication de "comment" ou "pourquoi" pour prendre le temps pour cela que "Teach Yourself Programming in 10 Years" de Peter Norvig . Quand je perds la motivation pour "prendre le temps" - comme vous l'avez souligné, qui ne le fait pas?!? - Je viens de relire son article et de réengager. :)

1
egbutter

Pour ceux qui travaillent en tant que développeurs à temps plein, ce que j'essaie de comprendre est le suivant: la plupart du temps, combien de temps au bureau est consacré à broyer du code par rapport à l'apprentissage/la recherche. Je pourrais facilement passer 2 à 4 heures par jour à me familiariser avec les meilleures façons de faire les choses.

Mon entreprise est très avant-gardiste et aime s'assurer que nous évoluons avec les dernières technologies. Ils apprécient le fait qu'ils doivent donner à leurs développeurs le temps de se familiariser avec les nouvelles fonctionnalités/API, etc. Par exemple, nous sommes récemment passés à Richfaces 4 à partir de Richfaces 3. Une migration massive où nous avons facilement passé la moitié de notre temps à essayer de comprendre le nouveau paysage. Si une entreprise ne peut pas s'engager à vous donner du temps pour rester au courant des derniers développements, alors vous pourriez être au mauvais endroit.

Essayez d'obtenir de votre entreprise une licence Safari Books. C'est une ressource complète des meilleurs livres techniques là-bas. Y compris une série de coupes brutes et de travaux en cours. Le Web en général est également une excellente ressource, mais les niveaux de bruit ambiant et de mauvaise information sont élevés.

La plupart des bons développeurs qui travaillent à temps plein investissent-ils des heures importantes en dehors du travail pour affiner leurs compétences?

J'investis également une heure environ chaque soir en dehors du travail pour me tenir au courant. De temps en temps, je mettrai également à jour mes certifications professionnelles, ce qui nécessite un engagement supplémentaire au cours des week-ends.

Encore une fois, faites savoir à votre entreprise que vous faites cela à votre rythme et voyez si elle paiera vos frais d'examen ou de formation. Ou peut-être vous permettre de passer l'examen à l'heure de l'entreprise.

1
Tim

La réponse est simple, essayez d'utiliser les dernières technologies au travail, et si vous ne le pouvez pas, faites des projets parallèles

Mais pour gagner du temps, vous devez d'abord savoir quoi apprendre afin que votre temps soit bien utilisé.

C'est ce qui a fonctionné pour moi

  1. Nouvelles du hacker, mais il faut être prudent, la recherche périodique de mots clés fonctionne pour moi
  2. GitHub - voir la liste des projets les plus suivis et bifurqués, c'est presque toujours en phase avec la réalité
  3. Stackoverflow - voir les balises et les questions les plus tendances
  4. Tendances Google (mais vous devez d'abord savoir quoi rechercher)
  5. En effet les tendances de l'emploi (c'est ainsi que j'ai découvert MongoDB par exemple)
  6. Meetups (très bonne source)
  7. Twitter - suivez les autres pirates que vous respectez, j'ai souvent appris de nouvelles choses de cette façon
  8. Coderwall, Geeklist et d'autres réseaux sociaux dédiés aux pirates aident parfois aussi
  9. Conférences - la plupart d'entre elles sont désormais enregistrées en ligne après coup ou en direct
  10. Ou, vous pouvez simplement créer vous-même une nouvelle technologie :)

La deuxième partie est de savoir comment l'apprendre efficacement afin d'utiliser votre temps efficacement

J'ai trouvé que udacity, coursera, codeschool, codecademy, teamtreehouse, edx.org, udemy, net tuts + et d'autres sont d'excellentes ressources car leurs cours ont tendance à suivre les dernières technologies

D'un autre côté, vous pouvez vous retrouver dans une explosion d'informations et vous en plaindre comme je l'ai fait auparavant: http://tilomitra.com/the-crazy-world-of-code/

1
Eran Medan

Les ressources et les outils que j'utilise pour suivre sont énumérés ci-dessous. Je passe probablement 1 à 2 heures par jour à lire sur des sujets techniques, mais pas toujours sur les sujets technologiques vers lesquels je devrais porter mon attention.

En ce qui concerne le rapport entre le temps passé à lire au travail et le temps passé à coder, je passerai du temps à lire sur un sujet s'il est directement lié au travail à accomplir (par exemple, comment utiliser correctement ce nouveau cadre).

Je trouve que je fais deux types de lecture. Lecture approfondie sur un sujet spécifique que j'utilise ou utilisera à l'avenir, ou lecture large où je vais parcourir d'autres domaines technologiques que je n'utilise pas mais qui me semblent toujours intéressants.

  • Podcasts

    • Utile en raison de leur portabilité. Vous pouvez écouter lorsque vous ne pouvez généralement pas lire (par exemple, au gymnase, au ménage, à la cuisine)
  • Lecteurs RSS

    • Utile car il regroupe les flux de votre blog. Utilisez-les pour regrouper du contenu de grande valeur.
    • J'ai trouvé utile de configurer des dossiers de "recherche" pour des technologies particulières car ces dossiers couvriront tous les blogs auxquels vous êtes abonné.
  • Safari Books Online

    • Je fais des allers-retours sur celui-ci à cause du coût. Lorsque je l'utilise, c'est un excellent rapport qualité-prix, mais il faut des efforts pour lire tous les livres que vous ajoutez à votre étagère.
  • Livres (format Dead Tree)

    • Utile pour des plongées profondes sur une technologie particulière ou pour référence.

Scott Hanselman a une bonne vidéo sur la gestion de votre "flux de données personnelles" - http://www.hanselman.com/blog/ItsNotWhatYouReadItsWhatYouIgnoreVideoOfScottHanselmansPersonalProductivityTips.aspx

0
Rich Rousseau

En plus de ce qui a été dit, j'ajouterais - "Ayez un plan". J'essaie de choisir une ou deux technologies tous les 6 à 12 mois et je me fixe pour objectif de les comprendre en profondeur. Ensuite, j'essaie de définir les tâches réelles pour y arriver - disons, lisez quelques tutoriels en ligne, choisissez un projet parallèle utilisant cette technologie, commencez à suivre de nouveaux sites de discussion (ou abonnez-vous aux nouvelles balises dans StackOverflow), etc. pas besoin d'une tonne de temps, mais de la cohérence pour avancer un peu chaque semaine. (Si vous utilisez un système de productivité, tel que GTD, vos objectifs d'apprentissage peuvent être inclus dans votre projet normal et planification d'objectifs, et révisés régulièrement).

0
Ed Schembor

Newsletters!

J'écris actuellement une newsletter appelée Pycoder Weekly une newsletter hebdomadaire pour les développeurs python qui couvre l'hebdomadaire se produit dans divers sujets au sein de python qui est très d'actualité dans un certain domaine que vous voudrez peut-être suivre.

Ce n'était vraiment pas destiné à être un plug.

Je pense que ce média se sert très bien pour suivre les choses et est une excellente ressource pour de nombreux développeurs.

Il y en a beaucoup pour différents langages et outils, devez parcourir des tonnes de nouvelles et trouver des choses intéressantes peuvent prendre du temps et être extrêmement distrayantes.

0
dustyprogrammer

Il y a quelques choses que je fais pour essayer de rester au top des nouvelles technologies:

  • Je passe probablement en moyenne 8 à 16 heures par semaine à apprendre quelque chose de nouveau, à perfectionner une idée ou simplement à essayer une nouvelle technologie. Par exemple, je voulais en savoir plus sur ASP.Net MVC 4, j'ai donc mis en place une application rapide pour travailler pour me permettre de gérer certaines métadonnées dans une ancienne base de données. L'application n'est presque jamais utilisée, et ce n'était pas un projet sanctionné, mais c'est autour si j'ai besoin d'ajouter de nouveaux champs, etc., et je peux le bidouiller au besoin.
  • Je reviendrai sur quelque chose que j'ai écrit ou sur lequel j'ai travaillé dans le passé, et j'essaierai de le refaire dans ladite nouvelle technologie. J'avais écrit un script simple en Perl il y a un certain temps pour me permettre de gratter une page Web publique toutes les 15 minutes en regardant les changements, et j'ai décidé de voir à quoi cela ressemblerait en Python, puis j'ai également reconstruit dans Clojure.
  • Je paie et utilise un compte Safari d'O'Reilly et j'échange constamment de nouveaux livres sur quelque chose qui m'intéresse.
  • Je lis à travers les différents tableaux StackExchange pour voir ce qui est populaire, ce qui est tendance, etc. Même si je ne connais pas la réponse à une question, je vais parfois essayer de trouver la réponse par moi-même.

Ce ne sont que quelques-unes des choses que je fais, mais ce qui est clair, c'est que si vous voulez apprendre et rester à jour sur quelque chose de nouveau, vous devrez simplement être prêt à investir du temps. C'est comme toute autre compétence que vous souhaitez perfectionner.

0
Maurice Reeves