"Para codificar rápidamente, debe salir de la codificación"

17

En primer lugar, no es mi frase: http://www.whattofix.com/blog/archives/2010/11/to-code-quickly.php Atrezzo al Sr. Markham.

PERO, me hizo pensar en muchas preguntas que he visto sobre poder hacer las cosas.

El enfoque propugnaba (establecer un temporizador para un período establecido, en este caso 50 minutos, pero he visto a personas hablar sobre romper la procrastinación estableciendo tiempos tan cortos como cinco minutos en tareas que simplemente no puede hacer, y luego tomando un breve descanso) parece ser de sentido común, pero muchas personas abogan por entrar en la "zona" y permanecer allí el mayor tiempo posible, tal vez muchas horas, en lugar de romper su ritmo.

Sigo probando diferentes enfoques y descubro que cada uno tiene sus propias fortalezas y debilidades.

¿Qué tipo de técnica utiliza para ser más EFICAZ (es decir, hacer el trabajo al nivel de calidad exigido por su cliente / jefe / etc. en el plazo permitido) en su desarrollo de software y no solo para pasar más tiempo en el teclado ?

Todd Williamson
fuente
3
Me gustaría usar esto como una oportunidad para conectar otro sitio SE (propuesto), Productividad personal y organización: area51.stackexchange.com/proposals/4296/…
instanceofTom
Ooo - increíble - me he ido y comprometido. ¡Gracias!
Todd Williamson el
La proliferación de sitios de nicho de SE se está volviendo casi absurda.
Kevin

Respuestas:

15

Yo uso esa técnica a diario. Mi temporizador es de 45 minutos de trabajo por 10 minutos de descanso.

También maximizo el tiempo en la computadora a 4 horas por día . Entiendo que esto no es posible cuando su tarea principal es la codificación. El resto del tiempo, hago cualquier tarea que no requiera una computadora.

La herramienta que uso es un WorkRave . El autor lo escribió porque comenzó a tener problemas físicos debido a su incapacidad para detener la codificación durante largas horas.

Estoy menos estresado y afectó positivamente mi productividad.

Desde hace unas semanas, también pruebo algunas técnicas de atención plena durante los tiempos de pausa. Delicioso.

Ahora con respecto a las técnicas anti-dilación, tengo una que supera todo lo que probé antes:

Administro una sola lista de tareas, priorizada por importancia. Elijo el primero de la lista.

Mantengo la lista (y el calendario) con una combinación de GTD y 7 hábitos .

Para mejorar la efectividad de la lista, escriba sus tareas como las siguientes acciones en lugar de descripciones (consulte el capítulo Acciones, contextos y proyectos en esta publicación de blog )

Todd Williamson
fuente
1
¿Puedes dar un ejemplo de una tarea escrita como acción versus como descripción?
Adam Lear
Claro que agregué la referencia a un artículo más completo en la respuesta. Aquí está el enlace nuevamente (describe toda la técnica GTD): zenhabits.net/the-getting-things-done-gtd-faq .
6

No estoy impresionado con ese ensayo; pasó un día probando su nuevo método?

Dicho esto, Pomodoro y técnicas similares parecen tener una popularidad de nicho persistente. Por lo general, trato de ordenar mis días en "días de enfoque" y "días misceláneos". Días de enfoque Aparezco con ropa un poco más relajada, tal vez un poco antes (o me quedo más tarde). No tengo reuniones en esos días, así que básicamente puedo escribir mi propio horario, lo que me permite concentrarme mejor. En los otros días, tengo reuniones, citas, etc. No tendré tiempo para concentrarme, así que trato de programar tareas más pequeñas y fáciles para ocupar mi tiempo.

Una buena manera de aumentar la productividad en la codificación es la generación de código de cualquier bit repetitivo; refactorizar todo lo que se duplica, etc.

Paul Nathan
fuente
2

La clave para recordar aquí es que no existe una solución de "talla única".

Existen muchas técnicas para mejorar su capacidad de "hacer las cosas" y una de las razones es que diferentes cosas funcionan para diferentes personas.

Algunas personas lo hacen muy bien con este tipo de metodología (cf. Técnica Pomodoro) y algunas personas encuentran que destruye su enfoque. Realmente no me gusta parar a mitad de tarea y eso es casi invariablemente lo que me hacen los sistemas basados ​​en temporizadores ... conceptualmente bueno, implementación desafiante (cierto para la mayoría de las metodologías estructuradas para la gestión del tiempo y otras cosas)

Murph
fuente
Solo estoy buscando mucha información. Como usted dice, no hay un enfoque de "un anillo para gobernarlos a todos", pero me interesa ver cómo otras personas lo abordan.
Todd Williamson el
Ah, absolutamente, y estoy de acuerdo con la pregunta (-: Pero lo anterior es un punto que debe hacerse ya que las personas que tienen sistemas que funcionan, para ellos, pueden entusiasmarse un poco.
Murph
Creo que este es un buen punto. Además, he descubierto que algunas técnicas funcionan mejor o peor para mí dependiendo de mi estado de ánimo, qué tipo de trabajo estoy haciendo, etc. Hay momentos en que no tengo problemas para trabajar y trabajar productivamente todo el día sin cualquier sistema Otras veces, necesito algo para mantenerme enfocado y encaminado. A veces, cuando he pasado por un funk como ese, he encontrado que Pomodoro funciona bastante bien para mí, aunque ocasionalmente me saltaba un descanso cuando estaba en racha.
PeterAllenWebb
Tentado a rechazarlo solo porque esto realmente no agrega una opinión subjetiva, solo dice "depende". Esto puede decirse de casi cualquier cosa y ser cierto para casi cualquier cosa.
Magnus Wolffelt
@Magnus no puede discutir sobre eso en particular, pero igualmente el punto debe hacerse. Demasiada gente va a buscar la bala de oro.
Murph
-1

Dado que la codificación es el problema en cuestión, además de las técnicas mencionadas por Pierre, sugeriría codificar en un lenguaje dinámico, si es posible (Python es una delicia para trabajar, por ejemplo): tales lenguajes le permiten ser extremadamente productivo (los tiempos de codificación medidos muestran un factor de mejora de 2 a 10, en comparación con C). Es tan agradable trabajar con ellos que básicamente nunca "solo pasas tiempo en tu teclado".

Eric O Lebigot
fuente
¿Por qué los votos negativos? La respuesta anterior aborda la pregunta "¿Qué tipo de técnica utiliza para ser más EFICAZ (...) en su desarrollo de software?".
Eric O Lebigot