Fui desarrollador web independiente hasta alrededor de 2004 cuando comencé a seguir la ruta de administración, pero he decidido intentar volver al desarrollo nuevamente (específicamente aplicaciones web JavaScript / HTML5 web / mobile) y realmente tengo la impresión de ser realmente bueno en Estas y otras tecnologías similares de rápido movimiento requieren una cantidad constante de tiempo para invertir en mejorar las habilidades existentes además de aprender nuevas habilidades.
Ahora entiendo que desde que estoy volviendo a las cosas hay una curva de aprendizaje bastante empinada, pero viendo lo buenos que son muchos tipos, la única forma en que veo que hay que subir es dedicando mucho tiempo.
Para aquellos que trabajan como desarrolladores a tiempo completo, lo que estoy tratando de entender es esto: en la mayoría de los días, cuánto tiempo en la oficina se gasta en la elaboración de código en comparación con el aprendizaje / investigación. Podría pasar fácilmente de 2 a 4 horas diarias para conocer las mejores formas de hacer las cosas.
¿La mayoría de los buenos desarrolladores que trabajan a tiempo completo invierten horas significativas fuera del trabajo para mejorar sus habilidades?
¿O tal vez estoy viendo todo esto completamente mal?
fuente
Respuestas:
Para ser sincero, uso el lector de noticias. Me suscribo a varios blogs y sitios relacionados con la tecnología. Leeré mi alimentación durante el almuerzo, antes del trabajo y, a veces, después del trabajo. Sin embargo, uso mi tableta para eso y reviso constantemente las fuentes de noticias para saber si ofrecen una buena relación tiempo / valor. Probablemente recibo 1-2 horas al día leyendo sobre cosas nuevas.
En general, no perderé tiempo en leer comentarios o comentarios a menos que sea una transferencia de conocimiento real.
fuente
Generally I will not waste time on reading comments or commenting unless its a real knowledge transfer.
Este es realmente un buen consejo. También me mantengo al día a través de blogs y sitios relacionados con la tecnología, pero solo recientemente descubrí cuánto tiempo pierdo leyendo comentarios, que rara vez proporcionan algún valor (esto depende del tema y el tipo de fuente).De Verdad? ¿Esta no es una de las respuestas todavía?
Sugiérale al jefe que ha oído hablar
newThing
y que podría ayudar a la empresa, especialmente conhideousProblemWeJustHad
. Así es como hice mi incursión en las pruebas unitarias. Eso no es muy innovador, pero mi escuela hizo un trabajo horrible al enseñar de qué se trataba y era nuevo para mí. Parte del tiempo de hacerlo definitivamente fue investigar cómo hacerlo bien.Y aunque esto está más o menos fuera de tu control, a menudo me encuentro aprendiendo cosas nuevas solo para hacer mi trabajo. Aprendí DO-178 y SQL porque eran obligatorios para la tarea en cuestión. Si REALMENTE quieres sumergirte en cosas nuevas, consigue un nuevo trabajo.
En breve. Gana dinero por aprender.Porque hay una verdadera razón honesta para usar (algunas) de estas cosas nuevas. Porque están mejor Si son mejores, el jefe querrá que los uses porque ayudará a su resultado final. Hay algo de gastos generales, claro. El proceso de aprendizaje no es instantáneo y el tiempo es dinero, pero si no vale la pena, oye, tal vez lo nuevo no sea mucho mejor. En ese caso, mierda.
fuente
ember.js
y logré cerrar el proyecto, sin mencionar las horas extras prometidas y las bonificacionesnewthing
y debería ser el que sugiera su uso en lugar de los peones que dirigen la empresa. Pero hay tantos jefes no técnicos y el campo es tan grande que esperar que los jefes sepan qué es lo mejor es un poco tonto. No está manejando a tu jefe, solo está lanzando una idea.Pongo la información más útil que encuentro en un mazo Anki . Todas las mañanas paso 5-10 minutos revisando el material. Solo esta semana, por ejemplo, Anki me hizo esta pregunta que no había abordado durante algún tiempo:
No recordaba si la respuesta era
unset($value)
oreset($value)
, así que eso me mantuvo alerta. Efectivamente, esta misma mañana tuve que usar eso en el código.Guardo algunos fragmentos de información sobre AWS, PHP, Bash y otras tecnologías que uso allí. Por lo menos, Anki mantiene la información fresca en mi mente o fácil de encontrar si la olvido.
EDITAR: También debo mencionar que para mí la programación era un pasatiempo que se convirtió en una carrera de desarrollo de software. Encuentro que las personas cuyas carreras también son sus pasatiempos tienden a mantenerse naturalmente al día, ya que es su interés personal, no solo el interés profesional. Esto se aplica a artistas, médicos, jardineros y la mayoría de las profesiones calificadas, no solo a programadores.
fuente
Cuando el tiempo es limitado, es mejor concentrarse en el material de la más alta calidad.
Los libros (los buenos) tienen más probabilidades de tener material de mayor calidad que los blogs. Los libros con puntajes promedio altos de revisión de clientes en Amazon generalmente tienen el material de más alta calidad. Obtenga un Kindle y descargue algunos libros altamente calificados sobre el tema: llévelo consigo donde quiera que vaya. Tal vez una hora al día de lectura? - Eso es lo que hago de todos modos, no estoy seguro de cuál es una buena guía de tiempo.
Si está volviendo a la silla de montar y tiene el presupuesto, mejor nuevamente es asistir a un curso de capacitación (o conferencia) decente para un arranque rápido. Unos días de entrenamiento intenso = meses de lectura.
fuente
Afilar la sierra es una necesidad para todos los involucrados en cualquier trabajo basado en el conocimiento. Cómo hacer eso se deja al individuo. Aquí hay algo que hago
fuente
Para ser franco, sí. Los buenos desarrolladores hacen pasar cierta cantidad de programación de horas de trabajo. Muchas veces ese es un proyecto favorito, donde pueden jugar con cosas nuevas e interesantes. A menudo, las cosas que no son aplicables para el trabajo utilizan para ampliar la mente y mantenerse al día con la (relativamente) vanguardia.
fuente
Como diría AC / DC: "Es un largo camino a la cima si quieres Rock and Roll".
No va a ser fácil si estás apuntando a la cima. El principal problema de tratar de volver al caballo es sentirse anticuado, por no mencionar estúpido.
Intenta comprender TDD, luego tropieza con la inyección de dependencia y luego con los contenedores de inversión de control. Lo último que apareció bajo mi radar fue CQRS. Intentar comprender todo eso de una vez es realmente difícil. Pasos pequeños.
Y no ayuda el hecho de que parte de esto puede considerarse solo una moda pasajera. Chico, ¿nos gusta presumir de esta nueva cosa brillante que resolverá todos nuestros problemas?
Un par de cosas para probar:
http://www.safaribooksonline.com/ tienen (está un poco oculto) una suscripción de 5 ranuras por $ 9.99 por mes. Tienen una aplicación móvil. Puedes estudiar donde sea que estés.
Suscríbase a algunas clases de video. Me suscribí a http://tekpub.com/ una vez y me encantó. También sé de https://peepcode.com y http://pluralsight.com . Puedes mirar sobre la marcha.
Elija un buen suministro de noticias y sígalo. Elija calidad sobre cantidad. De lo contrario, te sentirás aplastado por demasiada información.
Use https://getpocket.com para almacenar esas páginas interesantes que tal vez desee ver más adelante. Deja de abrir pestañas nuevas para verlas más tarde y olvidarte de ellas. Tienen aplicaciones móviles que permiten ver sus páginas almacenadas sobre la marcha.
Use https://ifttt.com para hacer su vida más fácil. Por mi parte, lo hago para que cuando destaque un elemento en Google Reader, se guarde automáticamente para mí en Pocket.
http://www.class-central.com/ Lista de MOOC ofrecidos por instituciones como Stanford y MIT. Algo de esto puede ser realmente interesante.
De todos modos, los mejores programadores probablemente pasen mucho tiempo fuera del horario laboral aprendiendo cosas nuevas. Pero lo hacen porque les encanta la codificación. Es fácil encontrar tiempo para mejorar sus habilidades de codificación cuando ama la codificación. :)
fuente
La "herramienta de aprendizaje" es la mejor herramienta de aprendizaje. Cuando se me da algo que puede usar un nuevo método, lo golpeo hasta que funciona. Si un cliente solicitó algo que requirió la nueva tecnología, se lo facturaré, pero si es algo que simplemente no había aprendido, no se lo cobro.
El material web se está moviendo a buen ritmo. En mi pequeña empresa utilizo freelancers para cosas que no sé o para las que no tengo tiempo. Por lo general, me enseñan, pero se ha vuelto más difícil mantenerse al día con lo que funciona hoy, pero no se podía usar ayer o funcionará mañana, por lo que debe aprenderlo hoy y así sucesivamente.
Para cosas que no son web, las cosas fueron más estables. Escribiste código en un idioma en una plataforma. Ahora necesita saber HTML / CSS / Javascript / Java / SQL / PHP / * nix / todas esas API ... y luego está Internet Explorer ... suspiro.
Es una lucha para un desarrollador.
fuente
Conceptualiza y construye tus propios proyectos.
Seriamente. Todo lo que he aprendido proviene de mí, con una idea descabellada y luego sentándome para tratar de resolverlo. Si hace esto el tiempo suficiente, se encontrará en un camino de mejora continua.
fuente
Solo trata de aprovechar al máximo tu tiempo libre. Podrías pasar 3 horas al día aprendiendo sobre nuevas tecnologías, pero aún así probablemente quieras tener algo de vida social. Por lo tanto, podría no ser el mejor enfoque.
Lo que suelo hacer es aprender durante esos momentos en que (en condiciones normales) sería 'flojo' ... Leer libros de tecnología en el tren, ver podcasts antes de irme a la cama (en lugar de mirar televisión), leer StackOverflow, blogs de tecnología u otros fuentes cuando necesito descansar en el trabajo (en lugar de estar en Facebook), hablando sobre tecnología con mis compañeros de trabajo durante el almuerzo.
fuente
Un truco que uso cuando aprendo algo nuevo es ir a StackOverflow (o los foros dedicados de la tecnología), encontrar una pregunta para la que no sé la respuesta y resolverla. Además, trato de implementar algo usando la nueva habilidad / tecnología. Por ejemplo, para aprender a programar para Windows Phone, le pregunté a mi esposa qué tipo de aplicación desea. El proceso de escribir esa aplicación me obligó a aprender más sobre la plataforma y cómo hacer las cosas.
Puedes leer todo lo que quieras, pero no obtienes experiencia al leer.
fuente
Solo pregúntate qué te impulsa, no qué impulsan los demás.
Por ejemplo: ¿deseo crear aplicaciones móviles o seguir trabajando en aplicaciones web ya que tengo experiencia en el tema o quiero hacer alguna consultoría técnica? Creo que una vez que sepa lo que quiere hacer durante los próximos meses o años, sabrá exactamente dónde comenzar y qué necesita aprender.
Esta no es una pregunta que solo hacen las personas de TI.
fuente
Nunca he encontrado una mejor explicación de "cómo" o "por qué" dedicar tiempo a esto que "Enseñar a programar en 10 años" de Peter Norvig . Cuando pierdo la motivación para "hacer el tiempo", como usted señaló, ¿quién no? - Acabo de volver a leer su artículo y volver a comprometerme. :)
fuente
Mi empresa tiene una visión muy avanzada y quiere asegurarse de que estamos desarrollando las últimas tecnologías. Aprecian que, como parte de esto, deben darles a sus desarrolladores tiempo para entender nuevas características / API, etc. Por ejemplo, recientemente cambiamos a Richfaces 4 de Richfaces 3. Una migración masiva en la que fácilmente pasamos la mitad de nuestro tiempo intentando Entiende el nuevo paisaje. Si una empresa no puede comprometerse a darle algo de tiempo para mantenerse al tanto de los últimos desarrollos, entonces podría estar en el lugar equivocado.
Intenta conseguir que tu empresa obtenga una licencia de Safari Books. Es un recurso integral de los mejores libros técnicos que existen. Incluyendo una serie de recortes y trabajos en progreso. La web en general también es un gran recurso, pero los niveles de ruido ambiental y de información errónea son altos.
También invierto una hora más o menos cada noche fuera del trabajo para mantenerme al día. De vez en cuando actualizaré mis certificaciones profesionales, lo que requiere un compromiso adicional durante los fines de semana para lograrlo.
Una vez más, informe a su empresa que está haciendo esto en su propio tiempo y vea si pagarán los honorarios del examen o la capacitación. O quizás le permita rendir el examen en horario de trabajo.
fuente
La respuesta es simple: intente utilizar las últimas tecnologías en el trabajo y, si no puede, realice proyectos paralelos.
Pero para ahorrar tiempo, primero debe saber qué aprender para que su tiempo se aproveche bien.
Esto es lo que funcionó para mí.
La segunda parte es cómo aprenderlo de manera efectiva para que use su tiempo de manera efectiva
Encontré que udacity, coursera, codeschool, codecademy, teamtreehouse, edx.org, udemy, net tuts + y otros son excelentes recursos ya que sus cursos tienden a mantenerse al día con la última tecnología
Por otro lado, puede terminar en una explosión de información y despotricar sobre eso como lo hice antes: http://tilomitra.com/the-crazy-world-of-code/
fuente
Los recursos y herramientas que uso para mantenerme al día se enumeran a continuación. Probablemente paso 1-2 horas por día leyendo sobre temas tecnológicos, aunque no siempre son los temas tecnológicos a los que debería dirigir mi atención.
En cuanto a la relación entre el tiempo dedicado a leer en el trabajo y el tiempo dedicado a la codificación, pasaré el tiempo leyendo sobre un tema si está directamente relacionado con el trabajo en cuestión (por ejemplo, cómo usar ese nuevo marco correctamente).
Me parece que hago dos tipos de lectura. Lectura profunda sobre un tema específico que estoy usando o usaré en el futuro, o Lectura amplia donde examinaré otras áreas tecnológicas que no estoy usando pero que aún encuentro interesantes.
Podcasts
Lectores RSS
Safari Books Online
Libros (formato de árbol muerto)
Scott Hanselman tiene un buen video sobre cómo tratar con su "flujo de datos personales" - http://www.hanselman.com/blog/ItsNotWhatYouReadItsWhatYouIgnoreVideoOfScottHanselmansPersonalProductivityTips.aspx
fuente
Además de lo que se ha dicho, agregaría: "Tenga un plan". Intento elegir una o dos tecnologías cada 6 a 12 meses, y me propongo una comprensión profunda de estas. Luego trato de definir tareas reales para llevarme allí, por ejemplo, leer algunos tutoriales en línea, elegir un proyecto paralelo con esa tecnología, comenzar a seguir nuevos sitios de discusión (o suscribirse a las nuevas etiquetas en StackOverflow), etc. Esto no funciona No requiere mucho tiempo, pero la coherencia para avanzar un poco cada semana. (Si utiliza un sistema de productividad, como GTD, sus objetivos de aprendizaje pueden incluirse en su proyecto normal y planificación de objetivos, y revisarse regularmente).
fuente
Boletines!
Actualmente escribo un boletín llamado Pycoder's Weekly, un boletín semanal para desarrolladores de python que cubre lo que sucede semanalmente en varios temas dentro de python, que es muy actual en un área determinada con la que quizás desee mantenerse al día.
Eso realmente no pretendía ser un enchufe.
Creo que este medio sirve muy bien para mantenerse al día y es un excelente recurso para muchos desarrolladores.
Hay muchos para varios idiomas y herramientas, hay que buscar toneladas de noticias y encontrar cosas interesantes que pueden llevar mucho tiempo y ser extremadamente molestas.
fuente
Hay algunas cosas que hago para tratar de estar al tanto de las nuevas tecnologías:
Estas son solo algunas de las cosas que hago, pero lo que está claro es que si quieres aprender y mantenerte actualizado sobre algo nuevo, solo tendrás que estar dispuesto a invertir el tiempo. Es como cualquier otra habilidad que quieras perfeccionar.
fuente
Algunas compañías tienen políticas de que el empleado puede dedicar el 20% del tiempo a otras actividades, que no sean el trabajo diario. Uno puede usar este tiempo para afilar la sierra o mantenerse al día con la tecnología.
fuente
Lo que hago es organizar reuniones de almuerzo en el trabajo de vez en cuando.
Encuentro un video (por ejemplo, del canal 9) y lo programo durante el almuerzo, obtengo un proyector y una habitación e invito a todos los que puedan estar interesados. Una excelente manera de pasar el almuerzo con colegas. También es una excelente manera de mostrar iniciativa.
fuente
Además, la tecnología es pasión, independientemente del tiempo y el esfuerzo que se requiera, se vuelve loco y cuando el adicto se siente vacío. Lo mejor para actualizarse es usar un lector en línea, como se indicó anteriormente. En general, paso entre 1 y 2 horas en diferentes canales de noticias, aunque no tengo acceso físico a la tecnología. Es una tecnología que me costó mucho trabajo, pero gracias a los canales que menos puedo sentir más allá de mi toque. Conocer la tecnología no es solo una forma de conocer las cosas por sí mismo, sino una forma de rendir homenaje a los innovadores
fuente