¿Cómo trato el problema de "30 minutos restantes"?

sh5164

¿Cómo trato el problema de "30 minutos restantes"?

Como desarrollador, a menudo llego a este punto en el que al final del día termino una gran tarea y todavía me quedan aproximadamente 30 minutos.

El problema es que 30 minutos no son tiempo suficiente para codificar nada, y si empiezo a codificar desde el comienzo de una tarea, sé que me costará continuar al día siguiente mientras pierdo el contexto y tendré que volver a leer el código, lo que me hará perder tiempo.

Pero para centrarme en el problema profesional, no quiero holgazanear tanto tiempo en el trabajo y quedarme 30 minutos sin hacer nada me parece absurdo.

¿Cómo trato el problema de "30 minutos restantes"?

EDITAR: Para explicar por qué no es un duplicado, el problema no es "¿qué hacer cuando los sistemas no funcionan? " o " ¿qué hacer cuando no tengo nada que hacer? " sino "¿qué hacer cuando llegue cerca hasta el final del día y no tienes tiempo para comenzar una nueva tarea?"

Lilienthal

Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat . Recuerde para qué son los comentarios: si está tratando de responder la pregunta, hágalo en una respuesta real después de verificar que las respuestas existentes aún no hayan cubierto sus puntos.

usuario

Sal temprano y quédate 30 minutos más al día siguiente.

pavel

A veces reviso todas las pestañas del navegador y decido si marcarlas o simplemente cerrarlas sin marcarlas. Algo así como 'limpiar tu escritorio al final del día'. Esto puede llevar algún tiempo, especialmente después de un día de caza de errores.

Pablo D. Waite

“quedarse allí sin hacer nada durante 30 minutos me parece absurdo” — pensar que 30 minutos de tiempo de inactividad es un problema me parece absurdo, a menos que su trabajo de alguna manera implique salvar la vida de las personas con cada minuto de esfuerzo que dedica.

usuario8036

lo que me hará perder tiempo Sí, pero me cuesta mucho creer que pierdas esa misma cantidad (30 minutos) al día siguiente. Ponte a trabajar ;-)

codificador de barcos

Si volver a leer su código es tan difícil, entonces tal vez debería leer su código con más frecuencia. Escribimos código (con suerte una vez) pero nosotros y otros lo leemos muchas veces. Si el código es tan difícil de seguir, tiene algunos problemas en los que trabajar, a saber, la legibilidad. No digo que seas un mal programador, pero si leer el código en el que trabajaste ayer lleva tanto tiempo, entonces algo anda mal.

usuario207421

Tienes suerte. Mi problema como joven programador era que mi cerebro se ponía a toda velocidad alrededor de las 5 p. No afirmo que sucediera nada productivo en general durante ese tiempo, a menudo todo lo contrario, pero puede haber significado que aprendí mi oficio un poco más rápido. Siempre hay algo de trabajo ocupado que necesita ir en su lugar: su hoja de tiempo, ordenar el espacio de trabajo, responder algunas preguntas pendientes, planificar el trabajo de los próximos días, ...

Emond

Evita perder el contexto escribiendo primero las pruebas unitarias fallidas (!) del siguiente problema. A la mañana siguiente, esas pruebas le mostrarán en qué estaba trabajando. Estas pruebas serán más legibles que cualquier código a medio terminar.

Marte

¿No puedes irte a casa?

marxin

@usr Debería ser así, pero en muchas empresas no es posible.

andrea lazarotto

"Como desarrollador [...] si empiezo a programar desde el principio de una tarea, sé que me costará continuarla al día siguiente" . Bueno, antes de hacer la parte de programación, vas a hacer la parte de desarrollo/estructuración del programa. , ¿Correcto? Un desarrollador es la persona que resuelve el problema y luego (opcionalmente) codifica, al contrario de un programador que simplemente toma instrucciones sobre qué solución debe realizarse y lo hace (que tampoco es una tarea trivial). Así que tome su lápiz, un cuaderno y dibuje toda la estructura de su programa/clase/lo que sea que tenga que implementar.

Tvde1

O te vas 30 minutos antes o te quedas hasta que hayas terminado la tarea.

skymningen

Hay un montón de opciones:

  • Consulte blogs/noticias/revistas (relevantes) y lea lo que sucede en su campo
  • Documenta lo que has hecho durante el día.
  • Planifique lo que necesita hacer el próximo día/semana/mes
  • Vuelve a tu correo y finalmente obtén la información que te perdiste mientras la saltabas antes
  • Comprueba si has hecho todas las "tareas organizativas", y si no, hazlas (Entrega tus horas, envía ese informe en tu escritorio a quien deba leerlo, inicia la copia de seguridad,...)
  • Limpie su pizarra/escritorio/escritorio de cualquier cosa que se haya acumulado allí pero que haya perdido relevancia hace tres semanas
  • ¿Has hecho todo esto? ¿Todavía 30 minutos? ¡Vuelve al paso 1! (Y, usted es un mago.)

usuario44108

Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat .

kate gregorio

Además de planificar su día, ordenar las cosas y simplemente irse temprano (para compensar quedarse tarde otras veces), permítame sugerir algo que probablemente parezca muy contradictorio:

Trate de evitar detenerse en un "punto de parada natural"

Le preocupa que si dedica media hora a una tarea de codificación, le resultará difícil cargar el contexto cuando regrese al día siguiente. Pero mi experiencia es precisamente la contraria. Digamos que vas a escribir una función simple. Sabes que habrá algo de inicialización, un ciclo para procesar todo el X en el Y, y algo de limpieza. Literalmente agregaré el archivo a mi proyecto, declararé la función, agregaré tres comentarios (tal vez escribiendo la construcción for o while alrededor de uno de ellos) y luego, iré a casa.

Por la mañana, cuando llegue, no necesita recordar lo que estaba haciendo ni consultar sus notas: todo está ahí para usted. ¿Por qué ir a casa con un archivo vacío o una hoja de papel en blanco esperándote por la mañana? En su lugar, al menos escribe un título o una línea de asunto. Al menos escribe el nombre de la función. Si se supone que debe escribir un documento, cree la carpeta, cree un documento vacío con el nombre correcto y coloque el título del documento en la parte superior de la primera página. Aplicar una hoja de estilo.

Empezar. Entonces vete. Es posible que te sorprendas MUY gratamente: es mucho más fácil comenzar si no te detuviste en un punto de parada natural. Despegar desde estos puntos es muy fácil.

De hecho, es tan fácil que a veces uso una variante de esto para engañarme a mí mismo y trabajar en algo en lo que no quiero trabajar. Solo hago la parte de "comenzar": hacer el nuevo proyecto o la carpeta vacía o lo que sea. Crear un archivo llamado esquema y pegar el esquema del correo electrónico. Descargar las especificaciones o las notas de la versión. Encontrar el enlace a ese video que necesito ver. Nada de esto realmente cuenta como trabajar en algo en lo que no quiero trabajar, son solo las cosas iniciales que me permitirían trabajar en eso, así que hago estas tareas sin resistencia. Y luego descubro, cuando los he hecho, que mi resistencia desaparece y soy capaz de hacer la tarea en sí.

Intentalo.

usuario44108

Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat .

felipe kendall

Estaría más que feliz de verte ir a casa y recuperar los 30 minutos algún otro día. Como dices, serás mucho más productivo haciendo esto que tratando de hacer 30 minutos de trabajo, perdiendo el contexto de la noche a la mañana e intentando reiniciar por la mañana.

Pero nunca soy un fanático del trabajo de "9 a 5" de todos modos. Su empleador puede ser más regresivo y más estricto en esto.

sh5164

Sí, es más una cosa de "7 horas al día, ni más ni menos".

Carreras de ligereza en órbita

Vote a favor porque siempre hay una forma productiva y divertida de llenar este tiempo (vea la respuesta de sky). Saltarse temprano no es aplicable aquí. Un desarrollador no solo está codificando todo el tiempo; un buen desarrollador mantiene el contexto mental del mundo que lo rodea, el estado del lanzamiento/producto, cualquier problema nuevo que surja en el rastreador... ¡léalos! Una cosa suave y agradable para hacer durante los últimos 30 minutos del día... ¡durante los cuales aún se le paga y se espera que esté disponible para responder preguntas!

Ellesedil

@BoundaryImposition: Esto depende completamente de su entorno de trabajo. Si el horario de trabajo es dinámico (y en casi todos los lugares en los que he estado, esto ha sido cierto), entonces cada desarrollador mantiene su propio horario. Algunos llegan a las 7 y se van antes de las 4, mientras que otros llegan a las 11 y se van alrededor de las 9. Mientras todos se esfuercen a tiempo completo y terminen su trabajo, a la mayoría de los lugares no les importará demasiado cuándo abandonar. Algunas de las otras cosas que mencionas, es probable que los desarrolladores las hagan en su tiempo libre de todos modos. Entonces... no puedo decir que estoy de acuerdo con las críticas aquí.

felipe kendall

@BoundaryImposition El punto no es que pueda encontrar algo productivo que hacer, es hacer lo que agrega más valor a la empresa. El posteador es un interno, probablemente no va a agregar mucho valor preocupándose por el estado del producto o respondiendo preguntas de otras personas.

Carreras de ligereza en órbita

@PhilipKendall: No podría estar más en desacuerdo. Esa es una práctica estándar de "Yo trabajo aquí" y el pasante está ahí para aprender tales oficios.

ElPedro

Estoy 100% de acuerdo con @Philip, pero lo primero que haría es hablar con el jefe. Después de haber sido contratista y permanente durante muchos años, he descubierto que la mayoría de los jefes/gerentes de proyectos competentes entienden esta situación y estarán felices de que usted se vaya temprano y recupere el tiempo cuando sea necesario. Si no es así, pase el rato en uno de los sitios "apilados" durante 30 minutos y regístrelo en su planilla de horas trabajadas como I+D...

chucho

Practique la planificación y la escritura. No puede codificar otra cosa, pero generalmente hay algo de planificación para codificar que continúa y si lo escribe en esos 30 minutos, puede leerlo a primera hora del día siguiente y comenzar a codificar. Si pasa por un plan, solo haga otro para estar preparado para sumergirse en un par de elementos en lugar de solo uno.

El nivel de las notas sobre esto dependerá de usted como persona y de lo que le ayude a recordar mejor, pero el objetivo es planificar y articular de tal manera que refresque la memoria de la planificación y lo devuelva a donde estaba ayer sin demasiada pérdida de pensamiento. He visto esto hecho en comentarios de código de marco de alambre, en papel, notas post-it, editores de texto, imágenes de pizarra, etc. Encuentre lo que funciona mejor para usted.

sh5164

El problema con eso es que en OOP, incluso la planificación puede llevar mucho tiempo.

El administrador de desarrollo errante

Sí, esta iba a ser mi respuesta. Dedique los últimos 30 minutos a tomar notas de lo que piensa hacer al día siguiente para terminarlo. Ayudará a enmarcar el problema en su mente, y es probable que el subconsciente piense en las cosas que se le pasaron por alto más tarde en el "cara del código", además de que le brinda la información que necesita para comenzar al día siguiente (además, si es ágil, puede darle cosas para mencionar en el standup).

DasBeasto

Esto, paso el tiempo libre haciendo una lista de verificación de las cosas que quedan por hacer y las próximas , además de documentar exactamente dónde lo dejé, ya que en la mañana (o durante el fin de semana) es muy fácil olvidar dónde se detuvo.

Pedro Mortensen

¿Qué son los "comentarios de código de marco de alambre"?

chucho

básicamente lo mismo que Kate Gregory articuló en detalle. No se trata de una codificación completa, sino de fragmentos con comentarios en el código para su futura comprensión. Diferentes personas lo llaman cosas diferentes...

Neo

¿Cómo lidiar con el problema de "30 minutos restantes"?

Esto me pasa de vez en cuando, te sugiero que uses el tiempo a tu favor.

Utilizo estos obsequios de tiempo inesperados para investigar nuevas tecnologías, analizar mi próxima tarea o responder/revisar preguntas en Stack Overflow. Aprendo mucho simplemente revisando nuevas preguntas y respuestas.

No se limite a sentarse y pretender estar ocupado. ¡Aprovecha bien el tiempo!

Jonas Schäfer

Si está bien realizar tareas de revisión/respuesta en Stack Exchange durante sus horas de trabajo, puede ser muy específico de la empresa, supongo.

eeee

Por supuesto, esto debería aplicarse primero a los proyectos de desbordamiento de pila altamente relevantes. Solo debe ir a music.stackexchange si escribe una herramienta como Sibelius.

Arkaaito

Mantengo una "lista de barrido" de tareas que se me ocurren mientras trabajo en otra cosa, tareas que son lo suficientemente largas como para no querer desviarme y trabajar en ellas de inmediato (o que no quiero para abordar de inmediato por alguna otra razón, como "Quiero que este compromiso contenga solo un cambio lógico"), pero lo suficientemente corto como para que no merezca todos los gastos generales asociados con los proyectos normales. Cada vez que me encuentro con una tarea como esta, la escribo en la lista con una gran cantidad de detalles: adónde ir, qué hacer, quién podría beneficiarse y cuánto tiempo espero que tome.. La mayoría de las cosas en él son casos de esquina demasiado pequeños para obtener recursos "oficiales", refactorizaciones que deberían hacerse, pruebas unitarias que deberían escribirse, etc., pero las cosas que mis colegas me piden mientras estoy en medio de algo más también va en esta misma lista (de ahí el "quién podría beneficiarse").

Cuando tengo fragmentos de tiempo sobrantes, voy a la lista y empiezo a sacar cosas al azar. Cada elemento es independiente y altamente predecible en términos de la cantidad de tiempo que lleva, lo que los hace perfectos para incluirlos cuando tengo 15 minutos antes de una reunión, 5 minutos después de configurar una llamada de conferencia, etc. Además, cuando alguien llega tarde a una reunión, nada los hace más felices que "Oye, estaba pensando en ti, así que incluí esa característica que me pediste hace seis meses, ¿no es encantador?" (Y nada me hace más feliz que no sentarme allí, pensando, "*&@$ reuniones, nunca empiezan a tiempo...")

Timoteo Truckle

Como desarrollador, nunca terminas.

Incluso si no puede agregar una nueva funcionalidad a su código en el tiempo restante, puede (y debe) refactorizarlo :

  • mejorar los nombres,
  • reducir la duplicación de código,
  • dividir métodos/funciones/procedimientos largos en otros más cortos
  • mover métodos/funciones/procedimientos a nuevos archivos para aplicar SRP y/o el mismo nivel de principio de abstracción .

y otras cosas por el estilo.

Cualquiera de estas tareas lleva unos segundos usando las capacidades de refactorización automatizadas de su IDE. Y su prueba de unidad garantizará que no cambió el comportamiento de las aplicaciones tal como está implementado actualmente.

Y en el caso improbable de que rompieras algo: verifica el último estado de funcionamiento de tu SCM...

empleado-X

+1 ¡Tomarse unos minutos para pensar en la calidad de su trabajo (y mucho menos mejorarlo) es algo muy profesional! De hecho, es necesario para el crecimiento profesional.

Timoteo Truckle

@jpaugh "+1 Tomando unos minutos para pensar en la calidad de tu trabajo" Gracias, pero ¿por qué no hacerlo? Tal como está escrito, es seguro y rápido.

luan

Eso es lo último que querría hacer al final del día. Si sus pruebas unitarias son perfectas y nunca introduce un cambio que tarde más de un minuto o dos, y no introduce problemas de fusión... tal vez. Solo considerar posibles mejoras (y planificarlas si parecen valer la pena) me parece menos costoso y parece ser igual de efectivo a largo plazo. Lo más difícil es superar la inercia cerebral inherente incluso al considerar los costos y beneficios de cualquier cambio.

joe strazzere

¿Cómo lidiar con el problema de "30 minutos restantes"?

Siempre dediqué los últimos 30 minutos de cada día a:

  • Limpiar cualquier correo electrónico restante
  • Consultar y actualizar mi calendario
  • Preparándonos para el día siguiente
  • Empacar todo lo que necesitaba para llevar a casa (especialmente si planeaba hacer algún trabajo en casa)

Estas son cosas que podrías considerar hacer si a menudo te sobran 30 minutos no programados al final del día.

Y si en realidad no me quedaran actividades que valieran la pena, simplemente me iría.

Pedro B

-1 porque básicamente es algo que siempre haces. No es un tiempo accidental para el que no tenías un plan. En tu versión: ¿qué haces cuando has hecho tus cosas y te queda una hora? Porque esa hora es en realidad 30 minutos porque ya tiene planeados los 30 minutos al final del día. ¿También hace las mismas tareas al final del día si está en medio de la codificación? ¿Dejas de codificar entonces para ordenar?

tímpano

¿Qué necesitas llevar a casa si trabajas desde casa?

tímpano

Ojalá mueva cada vez menos documentos impresos. No es bueno para la espalda y las hojas de papel son notoriamente difíciles de asegurar :)

jhbh

Si trabaja por hora, use el tiempo para hacer un trabajo ocupado como agregar comentarios y limpieza general. Por lo general, también uso estos últimos 30 minutos para enviar correos electrónicos, escribir informes y completar registros de trabajo.

Por lo menos, navegue por Stack Overflow y luzca ocupado.

Snowlockk

Tiendo a tomarme el tiempo y responder preguntas en stackOverflow

especieDesconocido

Hacer algunas de las tareas para las que "no hay tiempo"

Hay muchas tareas para las que una organización podría creer que "no hay tiempo", pero que pueden crear una deuda técnica si se dejan; las pruebas a veces entran en esta categoría.

Convencer a la gerencia de que necesitan gastar dinero en tareas que ahorran dinero en un futuro indeterminado suele ser difícil. Esta vez, si se quejan, puede señalar que tenía 30 minutos libres al final del día y señalar que encontró una cantidad X de errores.

Con demasiada frecuencia, los desarrolladores se ven presionados para terminar las cosas más rápido y no hay suficiente supervisión de la calidad.

Verifique que algo que escribió recientemente esté hecho según las especificaciones: esto me sucedió ayer. Volví a leer parte de la especificación de algo y me di cuenta de que no estaba del todo bien. Pasé unos 20 minutos arreglándolo.

Roberto Dundon

Personalmente, esto me sucede durante los últimos 15-20 minutos del día.

Lo que me ayuda es planificar el día (o la semana) siguiente al proponer algunos elementos de acción, etc.

herir

Solo debe mencionar los elementos de acción y luego dejar que el lector los asuma. Por favor, anótelos para que otros los tomen.

eckes

No es un problema cruzar al día siguiente, no hay mucha diferencia si paras a las 23:50 o a las 0:20. Por lo general, es más como si tuviera que obligarme a detenerme cuando tengo que levantarme (solo bromeo parcialmente aquí). Estoy un poco sorprendido por lo generalizados que parecen ser los horarios rígidos de oficina.

Conde Iblis

Debería considerar dividir su tiempo en el trabajo en bloques que sean lo suficientemente grandes como para permitirle trabajar libremente dentro de cada bloque pero que no sean excesivamente grandes. Puede pensar que los bloques arbitrariamente grandes que duran tanto como sea necesario para realizar alguna tarea funcionan bien para usted, pero la concentración se ve afectada después de unas pocas horas de trabajo ininterrumpido. Si impone un descanso después de, digamos, 2,5 horas, entonces puede escupir un día laboral de 9 horas (8 horas de trabajo más 1 hora de descanso) en 3 bloques de este tipo con descansos de 20 minutos para café/almuerzo entre bloques y un descanso adicional de ejercicio de 50 minutos.

Luego eliminará este "problema de la última media hora", solo habrá un último bloque de 2.5 horas que se sentirá totalmente diferente a sus últimas horas actuales en el trabajo. Si termina una tarea dentro del último bloque, tendrá mucha más energía para continuar con otras tareas o planificar para el día siguiente. Habrás comenzado ese bloque con más energía y al comienzo del bloque probablemente sabrás que vas a terminar antes de tiempo, lo que te hace más propenso a pensar positivamente en hacer otro trabajo después de terminar el proyecto. .

El hecho de que ahora no estés inclinado a hacer eso es un artefacto de "trabajar hasta el final de una tarea" que drena energía mental; Si organizas tu trabajo en maratones largos, no es de extrañar que al final de una tarea te sientas como un corredor de maratón al final.

oveja gris

Cualquier software de una complejidad (no muy alta) se puede hacer siempre un poco mejor.

Haz tu código un poco mejor.

Pedro B

Mi trabajo tiene diferentes tipos de trabajo. Trabajo que hay que hacer hoy. Trabajo que hay que hacer esta semana. Trabajo que debe realizarse en el próximo medio año.

El trabajo que debe realizarse en el próximo medio año consiste principalmente en pequeñas tareas serviles con poco "pensamiento-trabajo". Estas son las cosas que hago en el tiempo libre entre tareas más grandes. Son buenos rellenos para dejar que tu cerebro se relaje al final de la jornada laboral.

alefcero

Pensar en el futuro. A menos que realmente esté al final de un paquete de trabajo y "solo le quede una cosa por hacer", cambie a otra tarea que lo llevará hasta el final del día antes de llegar a los "solo quedan 30 minutos". situación.

En realidad, no entiendo muy bien por qué "30 minutos no son tiempo suficiente para que codifique nada". Si no divide (o no puede) su trabajo en partes más pequeñas, no suena muy forma eficiente de progresar. De hecho, si usara una técnica de gestión del tiempo como Pomodoro , estaría dividiendo todo su trabajo en partes de 30 minutos.

Pablo Ebermann

La página de Wikipedia que vinculó realmente no describe dividir el trabajo en partes de 30 minutos, sino que solo describe la inserción arbitraria de descansos cuando suena el temporizador. ¿Wikipedia está mal aquí, y la técnica necesita cortar tareas en pedazos pequeños antes de comenzar a trabajar en ellos?

Strader

Según tengo entendido, estos 30 minutos quedan después de todas las tareas administrativas/oficinas.

En mi experiencia, uso este tiempo para tomar nota de mis pensamientos y la funcionalidad futura que planeo. de la forma más descriptiva posible

Barry DeCicco

  1. Documentación No hay proyecto en el mundo que no necesite mejor documentación, o documentación actualizada.
  2. Paradas naturales. Prefiero parar aquí, ya que las cosas están limpias. Para mí, es para la moral, la energía y la organización.
  3. Lectura. Siempre hay algún consejo/truco útil para leer y entender, o alguna técnica que necesita probar, para que pueda usarla de manera eficiente en su trabajo posterior. Existe el problema de que la primera vez que usas una nueva técnica, serás más lento. Este es el momento de arder para superar eso.