Aquí hay algunas formas de convertirse en un mejor desarrollador de software:
1. Recuerda cuánto tienes que aprender
El primer paso para aprender algo es reconocer que no lo sabes. Eso suena obvio, pero los programadores experimentados recuerdan cuánto tiempo llevó superar esta suposición personal. Demasiados estudiantes de ciencias de la computación se gradúan con una arrogante bravuconería “Yo sé mejor”, una certeza sólida de que lo saben todo y la intensa necesidad de demostrarlo a cada nuevo compañero de trabajo. En otras palabras: tu actitud de “¡Sé lo que estoy haciendo!” Puede obstaculizar el aprendizaje de algo nuevo.
2. Deja de intentar demostrar que tienes razón
Para ser grandioso, no solo bueno, tienes que aprender de la experiencia. Pero tenga cuidado, la experiencia puede enseñarnos a repetir el mal comportamiento y crear malos hábitos. Todos nos hemos encontrado con programadores con ocho años de experiencia … el mismo año de experiencia, repetidos ocho veces. Para evitar ese síndrome, mire todo lo que hace y pregúntese: “¿Cómo puedo mejorar esto?”
Los desarrolladores de software novatos (y demasiados experimentados) miran su código para admirar su maravilla. Escriben pruebas para demostrar que su código funciona en lugar de intentar que falle. Los programadores verdaderamente buenos buscan activamente dónde están equivocados, porque saben que eventualmente los usuarios encontrarán los defectos que se perdieron.
3. “El código funciona” no es donde te detienes; es donde comienzas
Sí, su primer paso es siempre escribir un software de calidad que cumpla con las especificaciones. Los programadores promedio renuncian en ese punto y pasan a lo siguiente.
Pero detenerse una vez que está “hecho” es como tomar una instantánea y esperar que sea una obra de arte. Los grandes programadores saben que la primera iteración es solo la primera iteración. Funciona, ¡felicidades! Pero no has terminado. Ahora, hazlo mejor .
Parte de ese proceso es definir qué significa “mejor”. ¿Es valioso hacerlo más rápido? ¿Más fácil de documentar? ¿Más reutilizable? ¿Más confiable? La respuesta varía con cada aplicación, pero el proceso no.
4. Escríbelo tres veces
Los buenos programadores escriben software que funciona. Los grandes escriben software que funciona extremadamente bien. Eso rara vez ocurre en el primer intento. El mejor software generalmente se escribe tres veces:
- Primero, escribe el software para probarse a sí mismo (o a un cliente) que la solución es posible. Otros pueden no reconocer que esto es solo una prueba de concepto, pero usted sí.
- La segunda vez, lo haces funcionar.
- La tercera vez, haces que funcione bien .
Este nivel de trabajo puede no ser obvio cuando nos fijamos en el trabajo de los mejores desarrolladores. Todo lo que hacen parece tan brillante, pero lo que no ves es que incluso los desarrolladores de estrellas de rock probablemente tiraron la primera y segunda versión antes de mostrar su software a nadie más. Tirar el código y comenzar de nuevo puede ser una forma poderosa de incluir “mejorarlo” en su flujo de trabajo personal.
Por lo menos, “Escríbelo tres veces” te enseña cuántas maneras hay de abordar un problema. Y evita que te quedes atrapado en una rutina.
5. Leer el código. Lee mucho código
Probablemente esperabas que liderara con este consejo, y de hecho es la sugerencia más común y más valiosa para mejorar las habilidades de programación. Lo que es menos evidente son las razones por las que leer el código de otros es tan importante.
Cuando lees el código de otros, ves cómo alguien más resolvió un problema de programación. Pero no lo trates como literatura; Piense en ello como una lección y un desafío. Para mejorar, pregúntate a ti mismo:
- ¿Cómo habría escrito ese bloque de código? ¿Qué harías diferente, ahora que has visto otra solución?
- ¿Que aprendi? ¿Cómo puedo aplicar esa técnica al código que escribí en el pasado? (“Nunca hubiera pensado usar descenso recursivo allí …”).
- ¿Cómo mejoraría este código? Y si es un proyecto de código abierto en el que está seguro de tener una mejor solución, ¡ hágalo!
- Escribe el código en el estilo del autor . Practicar esto te ayuda a meterte en la cabeza de la persona que escribió el software, lo que puede mejorar tu empatía.
No solo piense distraídamente en estos pasos. Escriba sus respuestas, ya sea en un diario personal, un blog, en un proceso de revisión de código o en un foro comunitario con otros desarrolladores. Así como explicar un problema a un amigo puede ayudarlo a resolver la solución, escribir y compartir su análisis puede ayudarlo a comprender por qué reacciona ante el código de otra persona de una manera determinada. Todo es parte de esa introspección que mencioné anteriormente, que te ayuda a juzgar desapasionadamente tus propias fortalezas y debilidades.
Advertencia: es fácil leer una gran cantidad de código sin convertirse en un gran programador, del mismo modo que un aspirante a escritor puede leer una gran literatura sin mejorar su propia prosa. Muchos desarrolladores miran el código abierto u otro software para “encontrar una respuesta” y, muy probablemente, para copiar y pegar código que parece resolver un problema similar. Hacer eso en realidad puede convertirte en un peor programador, ya que aceptas ciegamente la sabiduría de los demás sin examinarla. (Además, puede ser más molesto que un picnic de verano, pero como no te tomaste el tiempo para entenderlo, nunca reconocerás que acabas de importar una fábrica de insectos).
6. Escribir código, y no solo como tareas
Trabajar en proyectos de programación personal tiene muchas ventajas. Por un lado, le brinda una forma de aprender herramientas y tecnologías que no están disponibles en su trabajo actual, pero que lo hacen más comercializable para el próximo. Ya sea que contribuya a un proyecto de código abierto o realice un trabajo pro bono para una organización comunitaria local, obtendrá habilidades tecnológicas y confianza en sí mismo. (Además, sus proyectos personales demuestran a los posibles empleadores que usted es un emprendedor que nunca deja de aprender).
Otra ventaja de escribir código por diversión es que te obliga a resolver las cosas por tu cuenta. No puede dejar las cosas difíciles a otra persona, por lo que le impide pedir ayuda demasiado pronto.
Consejo profesional: no elijas solo proyectos personales donde nunca fallas. ¡Necesitas fallar! Pero probablemente no quiera fallar en el trabajo o cuando tenga una fecha límite.
7. Trabaja uno a uno con otros desarrolladores de cualquier forma que puedas
Ayuda a escuchar a otras personas. Eso podría significar programación de pares, o ir a un hackathon, o unirse a un grupo de usuarios de programación (como Vermont Coders Connection). Cuando contribuyas a un proyecto de código abierto, presta atención a los comentarios que recibes de los usuarios y de otros desarrolladores. ¿Qué puntos en común ves en sus críticas?
Es posible que tenga la suerte de encontrar un mentor personal en quien pueda confiar para guiarlo en todo, desde técnicas de codificación hasta decisiones profesionales. No desperdicies estas oportunidades.
8. Aprende técnicas, no herramientas
Los lenguajes de programación, las herramientas y las metodologías van y vienen. Es por eso que vale la pena obtener tanta experiencia como sea posible con tantos idiomas y marcos como sea posible. Concéntrese en los fundamentos de la programación, porque lo básico nunca cambia; Presta más atención a la arquitectura que a la programación. Si está seguro de que solo hay una manera correcta de hacer algo, es probable que sea hora de realizar una verificación de la realidad. Dogma puede obstaculizar tu capacidad de aprender cosas nuevas y hacerte lento para adaptarte al cambio.