Cómo mejorar mi productividad de programación

Es difícil de decir sin saber qué es lo que te lleva tiempo, pero en general, aquí hay dos cosas que he visto preocupando a las personas que acaban de terminar su educación (no puedo decir qué tan aplicable es la pregunta, pero aquí va, tal vez sea útil para alguien …)

No pierdas el tiempo reinventando la rueda
Es bastante raro que un problema de programación sea completamente nuevo. La capacitación de programadores produce candidatos que pueden crear listas enlazadas, tablas hash y el método de dibujo lineal de Bresenham desde cero, porque vale la pena aprender cómo funcionan. En la práctica, el tiempo dedicado a buscar una interfaz de biblioteca buena y genérica para codificar que no tiene que mantener se siente como un desperdicio cuando lo está haciendo (es más fácil piratearlo usted mismo que leer una milla cuadrada de documentación ), pero paga dividendos a largo plazo. Realice una investigación seria sobre si alguien ya escribió algo que pueda usar, en lugar de hackearlo solo (siempre que sepa lo que hace: el uso de la biblioteca de caja negra sin idea empeora las cosas nuevamente)

Si tiene que reinventar la rueda, que sea buena
Cuando tenga que escribir algo desde cero, tómese el tiempo extra para generalizarlo hasta el punto en que pueda sacarlo de su bolsillo y usarlo nuevamente en una situación similar. Incluso si no son los nueve metros completos de una biblioteca genérica publicable, a tiempo, esto crea una cartera de elementos que puede recordar, producir a partir de su alijo de cosas pasadas y personalizar según la situación porque lo escribió. Puede parecer una pérdida de tiempo cuando solo está embelleciendo cosas que ya funcionan, pero realmente vale la pena cuando encuentra un uso para él, y puede ahorrar el esfuerzo de recordar cada detalle para hacer una reescritura de de abajo hacia arriba.

Para mí, la productividad de programación es igual a la productividad creativa. Las formas de mejorar son muy íntimas con el creador. Y si lo miramos, los programadores eligen su IDE, editores de texto, patrones de diseño favoritos, lenguaje y muchos otros pequeños detalles, al igual que los escritores o artistas eligen sus herramientas.

Y aquí hay un poco de especulación: si siente que no es productivo en un determinado dominio de programación, probablemente debería probar con otro y ver si hace clic.

Imagínese que, naturalmente, es escritor de historias de terror, pero tiene la tarea de escribir ensayos cortos de comedia: pasaría por entornos de escritura, leería libros sobre cómo escribir buenas comedias, cambiaría bolígrafos y lápices, pero no obtendrá absolutamente nada hasta que se dé cuenta de que su corto las comedias son oscuras y probablemente debas intentar escribir una historia muy corta y muy horrorosa.

Veo que esta metáfora se traduce en codificación, donde sé que los desarrolladores más productivos están trabajando en algo en lo que REALMENTE sienten y quieren trabajar.

Una vez que encuentre su campo, será muy natural entrar en buenos estándares de codificación, disfrutar de escribir código y educarse constantemente y ampliar horizontes.

La práctica hace al hombre perfecto

More Interesting

¿Cómo se usa Go en Google? ¿Cuáles podrían ser las áreas (sistemas específicos, aplicaciones) en las que Go podría reemplazar otros idiomas que se usan actualmente en Google (y por qué tendría sentido introducir Go en lugar de otro idioma)?

¿Cuáles son las mejores tecnologías, marcos y hosting para usar para implementar una aplicación web similar a Groupon (pero no utilizada internacionalmente)?

¿Cómo se implementa típicamente la funcionalidad de deshacer y rehacer?

Quiero trabajar en algún proyecto paralelo en el espacio móvil (no remunerado, solo por diversión y aprendizaje) aparte de mi trabajo diario. ¿Cómo puedo encontrar / acercarme a las compañías que buscan tales oportunidades?

¿Cuál es la arquitectura de software de Google Now?

¿Cuál es el mejor software aso?

¿Por qué los sitios web comenzaron a usar el nuevo reCAPTCHA incluso para las páginas de inicio y los clics por primera vez este año?

¿Qué metodología (s) de desarrollo de software utiliza Google?

¿Es normal sentirse abrumado al comenzar un trabajo como desarrollador de software?

¿Qué es un software vocus?

Cómo simplificar un proceso de gestión de cambios complejo y frustrante al entregar software a producción

¿Cuál es el mejor software de punto de venta?

¿En cuánta gestión de proyectos debe participar un programador?

Soy del departamento de CSE y me colocaron en una compañía llamada Gowyn Technology. El papel que se nos asigna es ingeniero de soporte técnico e ingeniero técnico de ventas. ¿Es bueno para mi carrera? ¿Puedo elegir este dominio?

¿Cómo puede una compañía de software de suscripción usar Twitter como herramienta de marketing?