Cómo convertirse en un buen desarrollador de software
Recuérdate siempre: aprende
El primer paso para aprender es admitir que no entiendes. Esto suena normal, pero los programadores experimentados recuerdan cuánto tiempo lleva admitirlo ante sí mismos.
No intentes demostrar que tienes razón
Los novatos (y muchos desarrolladores experimentados) se maravillan cuando miran el código que han escrito. Escriben pruebas para demostrar que el código que escriben funciona, en lugar de intentar que falle. Los programadores realmente buenos buscan activamente sus propios errores porque saben que los usuarios finales encontrarán esos errores omitidos.
El objetivo del "código que simplemente funciona" no es un final, sino un punto de partida.
Sí, el primer paso es siempre escribir código de alta calidad lleno de comentarios. Pero el programador promedio se dará por vencido en este momento y pasará a lo siguiente.
Pero detenerse una vez "hecho" es como tomar una instantánea y esperar que se convierta en una obra de arte. Los buenos programadores saben que la primera iteración es sólo una iteración. Ya está funcionando, ¡felicidades! Pero todavía tienes mucho trabajo por hacer. Ahora, hazlo aún mejor.
Este proceso consiste en realidad en definir qué significa "mejor". ¿Cuál es el valor de ser más rápido? ¿Cuáles son los beneficios de una mayor reutilización? ¿Es más confiable? La respuesta varía según la aplicación, pero el proceso es el mismo.
Escribe código tres veces
El objetivo de un buen programador es escribir software que funcione correctamente. El objetivo de un buen programador al escribir software es hacer que funcione bien. Esto es casi imposible de lograr si solo lo escribes una vez. El mejor software suele escribirse tres veces:
Primero, escribes el software para demostrarte a ti mismo (o a tu cliente) que la solución funciona. Es posible que otros no se den cuenta de que esto es solo una prueba de concepto, pero usted sí.
La segunda vez, podrás hacerlo funcionar.
La tercera vez, podrás hacerlo funcionar sin problemas.
Este nivel de trabajo puede no ser obvio cuando se ve el trabajo que hacen los mejores desarrolladores. Todo lo que hacen parece bueno, pero lo que no se ve es que incluso los desarrolladores más conocidos pueden haber desechado las versiones 1 y 2 antes de mostrar su software a otros. Desechar el código anterior y empezar a escribir otra versión es una forma eficaz de incorporar "mejor" al flujo de trabajo.
Al menos, "Codificar tres veces" le mostrará múltiples formas de resolver un problema. También evita que te estanques.
Leer mucho código
Leer el código de otras personas es importante por razones que pueden no ser obvias.
Cuando lees el código de otras personas, puedes ver cómo otras personas resolvieron problemas de programación. Pero no considérelo como literatura, sino como lecciones y desafíos.
Para lograr mejores resultados pregúntate:
¿Qué debo hacer con este código? Ahora que ha visto las soluciones de otras personas, ¿qué piensa?
¿Qué aprendí? ¿Cómo puedo aplicar esta técnica al código que escribí en el pasado? (Nunca pensé que podría utilizar el descenso recursivo para manejar esta parte de la lógica).
¿Cómo puedo mejorar este código? Si se trata de un proyecto de código abierto y se siente más seguro de su solución, ¡adelante!
Escribe código al estilo del autor. Practicar esto puede ayudarte a comprender lo que piensa el autor, mejorando así tu empatía.
No sigas estos pasos sin rumbo fijo. Ya sea en un diario personal, un blog, una revisión de código o en un foro con otros desarrolladores, puedes escribir tus propias respuestas. Así como explicarle un problema a un amigo puede ayudarte a resolverlo, registrar y compartir tu análisis puede ayudarte a comprender por qué reaccionas de cierta manera ante el código de otra persona. Esto también es parte de la introspección que mencioné anteriormente y puede ayudarte a juzgar con calma tus fortalezas y debilidades.
No pienses en escribir código como solo una tarea
Trabajar en un proyecto de programación personal tiene muchos beneficios. Primero, le brinda una manera de aprender herramientas y técnicas que, si bien no podrá usarlas en su trabajo actual, lo harán más comercializable en su próximo trabajo.
Ya sea que contribuya a proyectos de código abierto o realice trabajo pro bono para organizaciones comunitarias locales, obtendrá habilidades técnicas y confianza. (Además, tus proyectos personales demuestran a los posibles empleadores que eres alguien que nunca deja de aprender).
Otro beneficio de escribir código es que te obliga a resolver problemas de forma independiente. No puedes dejar que otros resuelvan estos problemas difíciles, lo que te llevará a buscar ayuda prematuramente.
Siempre que sea posible, reúnase cara a cara con otros desarrolladores.
Puede resultar útil escuchar lo que otros tienen que decir. Esto podría significar programación en pareja, participar en un hackathon o unirse a un grupo de usuarios de programación como Vermont
Coders
Connect. Cuando contribuya a proyectos de código abierto, preste atención a los comentarios que reciba de los usuarios y otros desarrolladores. ¿Qué putas similitudes ves en sus críticas?
Al hacerlo, es posible que tengas la suerte de conocer a un mentor en el que puedas confiar completamente, tanto en tus habilidades de codificación como en tus decisiones profesionales. Así que no desperdicies estas oportunidades.
Aprendes la tecnología, no cómo usar las herramientas
Los lenguajes, herramientas y métodos de programación son solo temporales. Por eso es necesario adquirir la mayor experiencia posible en numerosos lenguajes y marcos. Céntrese en los fundamentos de la programación porque nunca cambian; céntrese en la arquitectura más que en cómo programar. Si cree que sólo hay una manera correcta de hacer algo, puede que sea el momento de comprobar la realidad. Estar encerrado puede obstaculizar su capacidad para aprender cosas nuevas y dificultarle la adaptación al cambio.