¿Pasas tus horas de trabajo aprendiendo? [cerrado]


79

¿Pasas tus horas de trabajo aprendiendo cosas nuevas, leyendo blogs de tecnología, libros sobre programación, etc.? ¿Cuál es tu opinión al respecto? ¿Puede un empleador tener beneficios que permitan a los desarrolladores dedicar de 1 a 1,5 horas al día a aprender? ¿Se pagará en el futuro (con una mejor productividad, etc.)?


55
Personalmente, paso alrededor de una hora al día leyendo cosas nuevas, artículos, etc., si no tengo tareas urgentes y creo que es útil. Puede decir que es mejor hacerlo en su tiempo libre, pero a menudo es bastante difícil asignarle tiempo, aunque todo depende de sus prioridades.
make_sense

44
Me di cuenta de que Programmers.SE se vuelve mucho menos activo por la noche (sujeto a la variación de la zona horaria), por lo que supongo que la mayoría de nosotros lo hacemos.
Craige

3
Paso mucho tiempo en SE ... la mitad del tiempo, me está salvando la vida, y la otra mitad la paso tratando de participar en la comunidad. De cualquier manera, es una inversión en los objetivos a largo plazo de mi empresa, porque aprendo cosas nuevas y vitales aquí todos los días.
eckza

3
Si usted es un consultor o un contratista, entonces no tiene muchas opciones en el asunto, debe gastar el 100% de su tiempo facturable en un proyecto.
aceinthehole

1
Creo que esta pregunta podría haber sido mejor si hubiera aclarado si se refería al aprendizaje en un área que está íntimamente relacionada con el trabajo o al aprendizaje en un área que solo está relacionada con la programación en general. ¿Es "Necesito aprender esta sintaxis SQL para resolver los problemas de nuestra base de datos" o es más como el 20% del tiempo de Google? Creo que si el OP preguntaba aproximadamente un 20% de tiempo, mucha gente cambiaría su respuesta.
Neil Traft

Respuestas:


127

Tengo la mentalidad de que es esencial para un buen entorno de desarrollo permitir una o dos horas como máximo para la exploración y el aprendizaje, salvo cuando es el "momento crítico" en una aplicación, por supuesto.

Un entorno que no hace esto es una bandera roja en mi libro porque me dice que no valoran la mejora.

EDITAR

Lo peor de todo es el lugar que reprende a sus desarrolladores por leer blogs / sitios técnicos en lugar de "escribir código". Para mí, eso indica un entorno que no se preocupa por sus desarrolladores más allá de lo que pueden exprimirlos.


99
La parte triste es que he conocido a muchas, muchas, muchas compañías que caen dentro de eso y no permiten ningún "tiempo de inactividad" para los desarrolladores. Escuchar "siempre hay algo en lo que trabajar" es lo peor para mí.
Wayne Molina

Esencial, pero muy difícil.
Brian Knoblauch

55
Muy difícil lograr que una empresa se dé cuenta de que es esencial;)
Wayne Molina

99
Explique que es como los laywers, necesitan conocer todas las leyes nuevas. O mejor, los médicos, necesitan conocer todas las nuevas técnicas y estudios para ser un gran médico. Las referencias evolucionan constantemente, al igual que en la programación.

1
@jwenting Ese es mi punto; una buena compañía sabe que "aprender durante las horas de oficina" es algo bueno; uno malo no sabe o espera que sea compensado. Lamentablemente, muchas más compañías caen dentro de la categoría "mala" que "buena" en ese sentido.
Wayne Molina

44

Creo que casi todos los empleadores terminan pagando a las personas por aproximadamente 1 a 2 horas de aprendizaje al menos unos días de cada semana. Incluso si solo está buscando documentación, todavía está aprendiendo algo que no sabía antes.

Personalmente, no me gusta configurar 'segmentos' de tiempo para otros, se siente demasiado como administrar el tiempo de otra persona. Si te contraté, lo hice porque tengo el presentimiento de que sabes cómo administrar tu tiempo mejor que yo. Establece objetivos de productividad y la fecha límite ocasional, pero aparte de eso, deja que el empleado haga lo que lo hace más productivo.

Si necesita pasar seis horas descubriendo la mejor manera de abordar un problema mediante el estudio de varios algoritmos diferentes, está bien. Si necesita pasar 20 minutos revisando una implementación de lenguaje, está bien.

En resumen, solo aliente a las personas a aprender y mejorar a medida que vean la necesidad y la oportunidad de hacerlo. Pague por la capacitación cuando tenga sentido y no se quede sin libros. Eso generalmente termina en una gran productividad y mantener excelentes empleados.


44
+1 solo para el último párrafo. ¡Deseo que más compañías piensen así!
Wayne Molina

3
+1 porque estoy de acuerdo en que no debería tener que configurar "segmentos" de tiempo para aprender. Aprenda como lo necesita, y si ha aprendido lo que necesita saber y debería estar trabajando para implementarlo, entonces empiece a hacerlo.
Rachel

una compañía definitivamente puede aumentar la lealtad de sus desarrolladores si sigue los consejos del último párrafo.
make_sense

Realmente no creo que esto sea lo que estaba preguntando el OP. Por supuesto, todos los programadores aprenden en el curso del trabajo, eso ni siquiera es una pregunta. La pregunta que haría es: "¿Pasas tus horas de trabajo aprendiendo algo que no te ayudará a resolver ningún problema inmediato (pero que puede hacerte un mejor programador)?"
Neil Traft el

Libros - sí, entrenamiento - no
Arnis Lapsa

13

Paso algunas horas cada mañana enfocándome en aprender algo nuevo. Esto puede ser algo relacionado con mi pila de tecnología principal (.NET, WPF, ASP.NET MVC, Linq, etc.) o jugaré con nuevos lenguajes, marcos web, o incluso haré algunos cálculos y otras matemáticas difíciles de mantener La mente flexible. Por supuesto, me pongo a trabajar a las 6:30 a.m. y hago esto hasta las 9:00 cuando comienza el día de trabajo. Cuando tienes niños pequeños en casa como yo, tienes que hacer tu trabajo temprano en la mañana lejos de la casa para que puedas concentrarte totalmente. Esto también deja mis tardes abiertas para ser papá. Entonces, sí, creo que es importante que un empleador dé tiempo a sus trabajadores del conocimientopara obtener nuevos conocimientos. Siempre les digo a mis desarrolladores que se tomen un tiempo para aprender cosas nuevas e incluso los aliento a asistir a conferencias y seminarios para mantener su mente ágil. Incluso si no escriben nada en Erlang, posiblemente se manifieste en algún lugar conceptual más adelante y resulte realmente útil en otro proyecto.


2
Entonces, ¿aprende de 6: 30-9: 00 y luego trabaja de 9: 00-5: 00, y por lo tanto no aprende durante las horas de trabajo? Me alegra que tengas la actitud correcta, y creo que eres la primera persona que realmente ha respondido la pregunta del OP, pero no puedo evitar jugar un poco al abogado del diablo. :-)
Neil Traft

@NeilTraft - Ja, entiendo tu punto. Creo que me refería al aprendizaje académico puro y a la exploración de nuevos conceptos. Por supuesto, seguimos aprendiendo mientras trabajamos también, pero es más un conocimiento aplicado, al menos para mí. Podría aprender a usar algo nuevo con ASP.NET MVC o escribir algunas consultas Linq asesinas o algo así, pero no hay demasiado tiempo para ver Rust or Go o alguna nueva tecnología.
Nodey The Node Guy

8

Es por eso que se llama la "Sala de lectura" :) Configure un lector de RSS o lo que quiera que pueda agregar publicaciones de varios lugares que considere valiosos y luego imprimir algunos artículos por día y llevarlos con usted.

Pero más allá de eso, si está haciendo algo de lo que ya sabe las respuestas y no pasa al menos parte de su día buscando la respuesta a algo (que también es aprender), entonces necesita cambiar de trabajo. La complacencia es un asesino en esta profesión.


11
También muy cierto. La complacencia conduce al estancamiento. El estancamiento conduce a la pereza. La pereza lleva a la obsolescencia. Camino al lado oscuro, lo son. Una vez que comience por el camino oscuro, siempre dominará su destino.
Wayne Molina

7

Comúnmente no me metía en escribir código hasta después del almuerzo. Comúnmente mis días serían algo así:

9 a.

10 a.m.-12 p.m. Refactorización, pequeñas correcciones de errores y diseño de cómo funcionará la implementación de lo que sea, a veces con un diseño de nivel superior cuando sea necesario

1 pm-3pm: generalmente codificación pesada. La codificación tediosa encaja aquí.

3 pm-3:30/4pm: Un poco más de aprendizaje como un "descanso".

4 pm- ?: Si realmente estuviese en la zona, sería sabido que me quedaría una hora más tarde. Este es probablemente el momento más productivo para mí. Es decir, porque generalmente me quedo solo después de las 4 p.m., y soy una persona de noche natural, así que cualquier cosa antes de las 12 p.m. me parece "temprano".

Ahora, digo que es injusto que la compañía te pague por escribir publicaciones de blog y demás. Esto incluye respuestas de desbordamiento de pila a veces .


3
Es importante saber el mejor momento para trabajar en la codificación "difícil" o trabajar en problemas "difíciles". Encuentro que cuando mi mente está más agitada (en la mañana), puedo resolver algo en 10 minutos que puede llevar horas en otros momentos.
B Seven

1
Saco mucho de StackExchange. Los sitios de la comunidad como este solo funcionan si las personas vuelven a poner algo. Si un gerente se quejara de mis contribuciones, respondería que este es el costo de hacer negocios: obtienes lo que das.
Underverse

5

Aprendiendo, ¿eh? Yo diría que hago eso la mayor parte del tiempo en el trabajo. Para mí, el aprendizaje es la esencia central de la programación y un corolario natural del hecho de que siempre está resolviendo problemas nuevos (es decir, no haciendo lo mismo dos veces). 

Si está no aprendiendo durante sus horas de trabajo, ya sea que estés haciendo mal o que usted debe buscar un ambiente de trabajo mejor manera.

(Dicho esto, para los blogs y libros, suelo usar mi tiempo libre, excepto cuando está estrechamente relacionado con el trabajo en cuestión).


4

Desde el punto de vista de la gerencia, los empleadores generalmente quieren que sus empleados estén aprendiendo constantemente. Esto podría ser capacitación formal en el aula o aprendizaje en línea, ponerse al día con sus fuentes RSS, leer revistas técnicas, ver videos, tener un mentor, mentorear a otros, etc.

El problema viene cuando

  1. su gerente cree que ya debería saber esto
  2. tienes una fecha límite para un proyecto
  3. comienzas a forzar tu nuevo aprendizaje en los negocios sin que pase por los canales adecuados (por ejemplo , acabo de aprender todo sobre ObservableCollections y creo que es genial, así que comenzaré a hacerlo en mi parte de la base de código ).

Dicho todo esto, la expectativa general es que necesita conducir su propio aprendizaje contra el modelo 70-20-10

  • El 70% debería estar aprendiendo en el trabajo, como arreglar su código con algo más eficiente
  • El 20% debe ser un aprendizaje informal, como ser asesorado y leer blogs o asistir a una conferencia
  • El 10% debe ser capacitación formal, como un evento de aula de 2 días o módulos de aprendizaje electrónico con seguimiento SCORM

Si su empresa no tiene la porción de capacitación formal del 10%, solicítela.


3

Para mí, programar es aprender . Cada vez que escribo un método puedo aprender algo:

  • ¿Es ésta la mejor manera de hacer ésto?
  • ¿Cuál es el uso de memoria / CPU?
  • ¿Cuáles son las compensaciones?
  • ¿Cuáles son los posibles problemas que podrían hacer que este método falle? (punto muerto, conexión caída, etc.)
  • ¿Este método debe ser parte de una biblioteca para poder reutilizarlo más tarde?
  • ¿Cómo puedo explicar este sistema en términos no técnicos para que cualquiera pueda entenderlo?
  • ¿Cómo recordaré y organizaré todo lo que acabo de aprender?

Cada vez que voy a Programmers.SE o Stack Overflow aprendo algo.

Creo que ser programador se trata de aprender. Y todo lo que aprendemos puede usarse para hacernos mejores programadores y ayudar a que los proyectos en los que trabajamos tengan éxito.


2

Estoy gastando alrededor (de horas de trabajo):

  • ~ 5% del tiempo para escribir código
  • ~ 10% del tiempo para ver videos de Starcraft2 en YouTube y tomar café
  • ~ 20% del tiempo para pensar en los problemas actuales que enfrenta el proyecto
  • ~ 65% del tiempo para aprender cosas nuevas y emocionantes

3
publicar cosas como esas ... algunos empleadores pueden no tomar a la ligera que pases la mitad de un día pagado por semana mirando cosas de Starcraft en YouTube. ¡A menos que realmente trabajes en eso!
Newtopian

1
Los resultados de @Newtopian son importantes
Arnis Lapsa

@Arnis: no me malinterpreten aquí, si yo fuera su jefe y usted entregara los bienes, no podría molestarme si pasara algún tiempo en su tubo. Podría verlo como una señal de que no te desafío lo suficiente, pero eso es todo. Para muchos otros jefes de cabello puntiagudo, efectivamente les estás robando y no les gustará ni un poco. Dicho esto, mi comentario fue más porque la gente fue despedida por mucho menos simplemente publicando cosas tontas en su página de Facebook, por ejemplo. Solo esperaba por tu bien que tu jefe no fuera del tipo de cabello puntiagudo :-) aplausos
Newtopian

2
@Newtopian tal como lo veo: la programación es un arte. No puedes forzarlo. si lo haces, terminas con pésima música pop. No es que no quiera trabajar, es que a veces simplemente no puedo. y soy completamente desvergonzado y honesto al respecto. :)
Arnis Lapsa

1
@nikie o_0 ¿por qué los programadores deberían trabajar junto al fregadero de tu cocina? lo siento, no puedo responder eso. Creo que es una analogía sesgada y mala.
Arnis Lapsa

2

Leer artículos técnicos en la web ha sido un hábito para mí durante los últimos 2 años. Todos los días, paso al menos una hora o más leyendo artículos. Al principio, solía subirme a cada artículo e intentar aprender. Ese era mi interés y parecía improductivo debido a la gran cantidad de artículos y temas por los que uno podía pasar. Probablemente, "Jack de todos los oficios, pero maestro de ninguno" se ajusta a esta situación. Con el tiempo, he encontrado muchos buenos recursos e identificado mis intereses. Después de eso, reduje uno de los temas y comencé a ser selectivo.

Lo que obtuve de toda la lectura es encontrar buenos recursos como desbordamiento de pila, Y Combinator, revista sensacional, etc. Lo que ganaré es experiencia en los temas que estoy leyendo. Entonces, mi punto es que uno también debe ser selectivo sobre la lectura. Leer siempre es un buen hábito. La lectura selectiva es excelente.

Además, otra observación es que casi todas las personas a mi alrededor que siento que son buenos programadores, siguen leyendo y me señalan cosas geniales. Es como nuestra lectura ayudando a otros a mejorar: la parte social.


1

Prefiero el tiempo de aprendizaje en la mañana. Comienzo el día aprendiendo cosas nuevas que he estado en mi mente y / o leo noticias de tecnología que sigo en Google Reader. A veces también paso algún tiempo después del almuerzo. Si siento que aprendo algo nuevo que no bloquea mi tarea actual, lo presento para la mañana siguiente.

Bueno, también evito escribir un blog durante la hora laboral, ya que puede llevar más tiempo del estimado. El mejor momento para escribir un blog o participar en la comunidad (para mí) es después del horario de oficina.


1

Uno puede encontrar los problemas en torno a los proyectos en los que está trabajando. Simplemente cree o cree algunos problemas para su resistencia kármica. Mira lo más profundo que puedas. Uno encontrará su camino hacia los caminos glorificados de la vida laboral autodidacta. Cuando uno se vuelve más productivo, encontrará tiempo para aprender a ser más productivo que él. La nutrición intelectual evolutiva de uno mismo, digo, es siempre hacer el bien, incluso si no eres un programador. Simplemente mejora el proceso de pensamiento. Hay diferentes formas de abordar el problema. Ve por la opción de cavar más. Nunca se conforme con la solución. Incluso después de la entrega comprometida, uno puede revisar la salida nuevamente. Hay que afilar sus herramientas. ¡El mejor lugar para desarrollar su propio platillo volador es definitivamente su propio cuarto oscuro personal!

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.