7 puntos por GN⁺ 2023-12-21 | 1 comentarios | Compartir por WhatsApp

Consejos para desarrolladores de software principiantes

  • La razón por la que la gente me escucha no es por mi habilidad programando, sino por mi habilidad escribiendo. Lo mismo pasa con los consejos de otras personas: los escuchamos por cómo escriben.
  • Hay muy poca investigación científica sobre software y la mayoría de sus conclusiones son inciertas. Conviene desconfiar un poco de las afirmaciones sobre la "verdad objetiva" y pensar con cuidado cómo aplicarlas a tu propia situación.
  • No te preocupes demasiado por aprender algo incorrecto o por dejarte engañar; si hay una idea que te gusta, te recomiendo probarla. Mientras no perjudiques a tus colegas, al final todo saldrá bien.

Depuración: 9 reglas

  • Recomiendo leer el libro "Debugging: The 9 Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems". Puedes pedirlo prestado en una biblioteca o solicitar que tu empresa lo compre. Enseña de forma sencilla una habilidad importante que casi ningún otro libro para programadores principiantes cubre.

El descubrimiento de la manera correcta

  • En algún momento descubrirás la manera correcta de programar y quedarás convencido de que, si todo el mundo la usara, el campo estaría mucho mejor.
  • No te diré que evites dejarte arrastrar por la manera correcta, pero sí te aconsejo reconocer que te está arrastrando y no convertir tu identidad en la de una persona de la manera correcta.
  • Al final, programar es un trabajo frustrante y desordenado sin importar qué manera correcta uses, y terminarás aprendiendo que se puede crear software excelente incluso sin una manera correcta.

La historia detrás de las mejores prácticas

  • Detrás de cada mejor práctica siempre hay una historia de terror. Si no entiendes una mejor práctica, puede ayudarte buscar la historia de terror que la inspiró.
  • Muchas mejores prácticas y convenciones surgen de una mezcla de factores históricos y culturales. A menudo seguimos métodos que los mentores usaban para resolver problemas que ya no son relevantes.

Probar distintos tipos de programación

  • Al inicio de tu carrera, si es posible, te recomiendo probar distintos tipos de programación. Esto no significa cambiar de trabajo, y en la mayoría de las empresas se hacen varios tipos de programación al mismo tiempo.
  • Al probar distintos tipos de programación, no solo aprendes más, sino que también aumentas la probabilidad de encontrar el tipo de trabajo de software que realmente te gusta.

Cambios en el campo del software

  • El campo del software sigue cambiando, y te aconsejo no dejarte arrastrar por la cinta sin fin de frameworks y enfocarte en aprender habilidades fundamentales.
  • Hay razones estructurales por las que la información se propaga rápido en software. Internet, el código abierto y las conferencias reducen las barreras para compartir ideas.
  • Muchas tecnologías tienen solo un pequeño número de usuarios, pero por la forma en que oímos hablar de ellas pueden parecer ampliamente adoptadas. Esa es una de las razones por las que un enfoque conservador puede tener sentido.

La opinión de GN⁺

  • Lo más importante de este texto es el proceso de aprender y crecer como desarrollador a través de tu propia experiencia. Puedes tomar en cuenta los consejos de otras personas, pero al final lo importante es aplicarlos según tu situación.
  • Encontrar la "manera correcta" de programar es un camino personal, y a través de eso puedes desarrollar la capacidad de aprender y combinar distintos enfoques.
  • Entender los cambios en la tecnología y adoptar un enfoque razonable frente a nuevas tendencias es esencial para una carrera sostenible como desarrollador.

1 comentarios

 
GN⁺ 2023-12-21
Opinión de Hacker News
  • Resumen del primer comentario:

    • Comparte una experiencia de colaboración con dos desarrolladores en un proyecto personal.
    • Expresa frustración por requisitos de sobreingeniería a pesar de que el proyecto era pequeño.
    • Presenta una visión crítica hacia los desarrolladores que insisten en la "forma correcta".
    • Menciona que también tuvo experiencias similares en el pasado, pero se dio cuenta de que lo que realmente importa es que el código funcione.
  • Resumen del segundo comentario:

    • Un profesional de software con 15 años de experiencia comparte su experiencia.
    • Siente que las lecciones aprendidas en su formación budista temprana también son útiles en el desarrollo de software.
    • Explica las lecciones obtenidas a través de su experiencia como desarrollador y enfatiza la importancia de no obsesionarse solo con la manera correcta.
  • Resumen del tercer comentario:

    • Sostiene que aprender técnicas como TDD (Test-Driven Development) es útil aunque no siempre se usen directamente.
    • Enfatiza que aprender diversas técnicas y lenguajes puede ayudar a escribir mejor código.
  • Resumen del cuarto comentario:

    • Señala que la obsesión con la "forma correcta" puede obstaculizar el crecimiento del desarrollador.
    • Especula que la causa puede ser la falta de atención necesaria para ampliar conocimientos o sentirse demasiado cómodo en su posición actual.
  • Resumen del quinto comentario:

    • Aconseja minimizar todas las formas de estado (state), como el código, la información que hay que recordar y los detalles del proyecto.
    • Sostiene que minimizar el estado ayuda a resolver problemas.
  • Resumen del sexto comentario:

    • Menciona que una buena capacidad de escritura puede influir más en los lectores que el conocimiento especializado.
    • Aconseja probar distintos tipos de trabajo y aprender sobre otros roles dentro de la empresa.
  • Resumen del séptimo comentario:

    • Enfatiza que se debe mantener una actitud escéptica frente a lo aprendido en servicios de video compartido como YouTube.
    • Recuerda que el desarrollo de software existe para resolver problemas y aconseja hablar con otras personas para entender mejor qué problema debe resolver el software.
  • Resumen del octavo comentario:

    • Recomienda un libro sobre depuración y menciona que ayuda a resolver diversos problemas técnicos.
    • Evalúa que el libro es fácil e interesante de leer, y que ofrece técnicas útiles.
  • Resumen del noveno comentario:

    • Enfatiza que escribir código no es el objetivo en sí, sino un medio para resolver problemas.
    • Aconseja enfocarse en el problema que el código debe resolver y, si eso no está claro, dejar de escribir código y aclarar primero el problema.
  • Resumen del décimo comentario:

    • Menciona que una buena capacidad de escritura ayuda a comunicarse con otras personas y es importante para los desarrolladores de software.
    • Recomienda a los desarrolladores principiantes escribir sus experiencias e ideas, y aconseja que esto será una habilidad útil más adelante.