¿Cómo mantienes tus habilidades básicas de la atrofia? [cerrado]

37

La codificación es solo un aspecto de la programación profesional. Mi trabajo requiere que codifique, pero también requiere que haga otras cosas durante períodos prolongados, a veces pasan días o semanas cuando no solo estoy codificando .

Me temo que las habilidades de programación ganadas con esfuerzo se atrofien mientras me siento en reuniones, dibujo diagramas de arquitectura y anoto requisitos. (Sin mencionar que no confío en que las personas escriban requisitos que no entienden el código).

No puedo leer libros y revistas sobre codificación. Estoy involucrado en algunos proyectos de código abierto en mi tiempo libre, y stackoverflow y amigos ayudan un poco, porque tengo la oportunidad de ayudar a las personas a resolver sus problemas de programación sin microgestión, pero ninguno de estos está terriblemente estructurado, por lo que es tentador trabajar Primero en los problemas que puedo resolver fácilmente.

Supongo que lo que me gustaría encontrar es un conjunto estructurado de ejercicios (no me importa qué idioma o entorno) que ...

  • ... puedo hacer periódicamente
  • ... tiene algún tipo de requisito de tiempo, así que puedo decir si he estado haciendo el tonto
  • ... tiene algún tipo de puntuación, así que puedo decir si estoy cometiendo errores

¿Hay tal cosa? ¿Qué harías para mantener tus habilidades frescas?

kojiro
fuente
66
En este stackExchange, este tipo de preguntas son realmente útiles. ¿Por qué cerrarlo?
Edeph
@Edeph Preguntas como esta parecen útiles al principio, pero la experiencia ha demostrado que tienen poco valor para la comunidad. Por favor lea: ¿
3
@Snowman cuya experiencia? 25 votos a favor es una insignia de "Buena pregunta". Esta pregunta también fue respondida por un miembro del personal de StackExchange y un miembro altamente calificado de la comunidad. Por lo tanto, la comunidad misma ha declarado claramente que es una pregunta valiosa. Período. ¿Fuera de contexto? Queda por ver, pero ¿valioso? Sí.
kojiro
1
@kojiro la pregunta sigue siendo demasiado amplia y principalmente de opinión. Como se muestra en las respuestas que tiene, no hay una respuesta correcta. Su gente sugiere diferentes formas que les han funcionado. En esencia, la pregunta es una encuesta. Si se volviera a abrir, otras respuestas que obtendría serían tan variadas sin realmente obtener una respuesta correcta que sea distinguible de las demás.
1
¿Estás diciendo que la comunidad está más bien impulsada por un paquete de modificaciones (que son humanos y propensos al subjetivismo) en lugar de que las personas voten por algo porque es útil para ellos a pesar de que no tiene una respuesta correcta por definición? No todo es blanco y negro en este campo, ¿sabes?
Edeph

Respuestas:

26

Los katas codificados vienen a la mente de inmediato.

La idea es que estos son ejercicios repetibles que puedes practicar hasta que los conozcas fríos, y los repites periódicamente para mantener tus habilidades. Algunos se centran en la programación, otros son más abiertos y se centran en el pensamiento y el diseño. Se pueden hacer en cualquier idioma o entorno y algunas personas también los usan para probar o aprender nuevos enfoques (por ejemplo, desarrollo basado en pruebas).

El sitio que he vinculado anteriormente tiene muchas ideas para katas. Otro bastante famoso es el juego de bolos del tío Bob Martin.

Adam Lear
fuente
1
Increíble. Ejercicios de Qigong para programadores. ¡Me encanta!
kojiro
Nunca he oído hablar de estos. Se ven fantásticos. :)
Mi tiempo de codificación personal siempre está muy interrumpido (3 niños en casa). La página vinculada dice: "Necesita tiempo sin interrupciones". ¿Es esto realmente una necesidad, o aún podré aprender con bastante eficacia si me interrumpen con frecuencia?
Ethel Evans
2
@Ethel No lo sé por experiencia personal, pero creo que aún puedes seguir adelante. Ser bueno en el cambio de contexto ayudaría. A medida que practique y se familiarice con los ejercicios, imagino que manejar las interrupciones sería más fácil.
Adam Lear
Ahora que he hecho parte del código kata, puedo comentar más. Tengo algo de experiencia con las artes marciales, así que creo que la idea de las katas es realmente buena, pero (al menos las primeras) las katas propuestas por Dave Thomas son más como levantar pesas que las katas tradicionales de artes marciales. Son un trabajo duro, pero ni repetitivo ni meditativo como para ser el mismo tipo de ejercicio que un verdadero kata. Dicho esto, creo que puedes basar algunos buenos katas en sus propuestas.
kojiro
10

¿Qué pasa con el Proyecto Euler ?

Una serie de desafiantes problemas de programación matemática / informática que requerirán más que solo conocimientos matemáticos para resolver. Aunque las matemáticas te ayudarán a llegar a métodos elegantes y eficientes, se requerirá el uso de una computadora y habilidades de programación para resolver la mayoría de los problemas.

La motivación para iniciar el Proyecto Euler, y su continuación, es proporcionar una plataforma para que la mente inquisitiva profundice en áreas desconocidas y aprenda nuevos conceptos en un contexto divertido y recreativo ...

La audiencia prevista incluye estudiantes para quienes el plan de estudios básico no está alimentando su hambre de aprender, adultos cuya formación no era principalmente matemática pero tenían interés en cosas matemáticas, y profesionales que desean mantener su resolución de problemas y las matemáticas al límite ...

Martin Beckett
fuente
10
En mi opinión, esto es más matemática que programación.
Buen punto: no había visto el código katas en la respuesta de Anna.
Martin Beckett