¿Cuáles son los trucos para convertirse en un buen desarrollador de software?

  1. RTFM

Ese es el único ‘truco’. En realidad, lea los documentos de cada tecnología que utilice, de principio a fin. No porque necesite tener el dominio de cada concepto contenido, sino porque si no sabe que está allí, no puede usarlo de manera efectiva. Léalo una vez y sabrá dónde encontrar la información que necesita cuando tiene un problema que necesita una solución, incluso si no puede recordar los detalles. Lea también la API pública de cualquier marco / biblioteca que use, ya que los documentos a veces solo se centran en usos comunes, mientras que la API puede revelar incluso una funcionalidad poco común.

Cuando haya leído cada página del manual de referencia para cada tecnología que utiliza, habrá dejado de implementar cosas que ya se han implementado para usted, y cuando falte la funcionalidad, tendrá una idea mucho mejor de cómo debería ser una buena solución al leer el código escrito por otros.

Debe conocer todas las funciones interesantes que proporciona su servidor db, por ejemplo, o de lo contrario no sabrá que están disponibles para usted. Debe conocer los métodos de utilidad en el marco de la aplicación web que está utilizando para no tener que volver a implementar el análisis de cadenas de consulta, el uso de mayúsculas o el hash md5. Si nunca ha leído la documentación de una biblioteca ORM, por ejemplo, no comprenderá las diversas elecciones que puede hacer al modelar ciertas construcciones en una base de datos relacional porque es posible que ni siquiera se dé cuenta de las diferentes formas en que uno podría modelar una jerarquía de objetos en un contexto relacional. Si nunca ha leído libros blancos sobre microservicios, es probable que no comprenda los beneficios o las compensaciones que realiza cuando cambia a una arquitectura de microservicios. No tienes que recordar cada detalle. Solo tiene que saber dónde encontrar la información que busca cuando la necesita. Para mí, eso realmente solo significa una sola lectura. Solo necesito retener lo suficiente para formular una consulta de Google efectiva.

El resto solo se reduce a la experiencia. No hay sustituto para eso. La mitad de lo que constituye un “buen ingeniero” del resto es su capacidad para diagnosticar y depurar problemas rápidamente, y eso realmente se reduce a haber visto algo similar en el pasado y reconocer la similitud. Eso es algo que solo proviene del software de envío y luego el código de soporte en producción. Cuanto más lo haces, mejor lo haces.

Más consejos que trucos, pero de todos modos …

  1. Siempre trate de entender el “por qué” en los requisitos, no solo un “qué”.

    Esto tiene dos ventajas: la primera es que aprenderá el dominio mucho más rápido y conocer el dominio comercial es valioso. Solo un programador puede ser reemplazado fácilmente, los especialistas en dominios son difíciles de encontrar y las empresas están dispuestas a pagar más para mantenerlos.

    La segunda es que a menudo lo ayudará a encontrar una mejor solución o identificar un problema con los requisitos antes, incluso antes de comenzar a codificar. Le ahorra a todos tiempo y dinero, y también significa menos trabajo innecesario e ingrato para usted, lo que siempre es bueno.

  2. Siempre codifique (o, al menos, considere) el “peor de los casos”.

    Siga haciéndose preguntas como “qué sucede en mi código si …”: ya sean dos usuarios que actualizan los datos al mismo tiempo, un servicio web no está disponible, su servidor se reinicia o se transfiere un valor inesperado a su servicio o método. Si algo puede suceder, eventualmente sucederá, y será mejor que su código pueda manejarlo con gracia.

  3. Escribir pruebas unitarias.

    El mejor invento desde el pan rebanado. Ni siquiera tiene que suscribirse a todo este negocio de TDD, pero las pruebas son útiles durante el desarrollo, y permanecen allí para detectar los cambios de otra persona que rompen su código (a veces, años) más tarde. Por lo tanto, sea un buen deporte y escriba buenos, que cubran sus casos de uso válidos e inválidos (vea el punto anterior)

  4. Documente lo que escribe escribiendo buenos comentarios.

    No solo lo que hace el código (que no es tan valioso en sí mismo), sino también las consideraciones, los supuestos y las limitaciones. Al modificar el código, mantenga los comentarios actualizados.

  5. No seas idiota.

    A pesar de las apariencias, el desarrollo de software es un esfuerzo de equipo. Tendrá que comunicarse con muchas personas: analistas de negocios, escritores técnicos, gerentes de proyectos, ingenieros de control de calidad y, a veces, clientes. Todos tienen un objetivo común: crear un buen producto. En teoría, de todos modos. Por lo tanto, sea profesional, positivo y educado.

    En particular, las personas de control de calidad no son tu enemigo. Están ahí para ayudarte a no arruinar las cosas. Entonces, sé amable con ellos. Ayúdelos a hacer su trabajo, si es necesario, explicando qué información necesita para solucionar el problema más rápido, pero sea cortés al respecto.

¡Buena suerte!

  1. Comience desde patrones de diseño.
  2. Elija un lado: Front-End o Back-End.
  3. Aprenda la tecnología y los estándares: MDN, W3C, W3C School
  4. Toma un curso: Lynda
  5. Elige un idioma y domínalo
  6. Tener un camino y plan de aprendizaje
  7. Revisar proyectos de código abierto en GitHub
  8. No: lea nada de todas partes
  9. Sepa qué es una mala práctica y cuál es la mejor práctica. es decir, JavaScript La buena parte
  10. Encuentra y sigue visionarios y blogs valiosos
  11. Asistir a reuniones y aprender de otros y compañeros
  12. Encuentra tu pasión y conviértete en experto, desarrollador, arquitecto, DevOps, SRE, …

Solo hay 2 trucos:

  • Aprenda: aprenda todo lo que pueda, de cualquier fuente, Internet tiene suficientes recursos que pueden durar toda su carrera y cada día surgen nuevos. Descubra qué método de aprendizaje es el más adecuado para usted.
  • Práctica: lo que aprendiste arriba, aplícalo. Úselo para desarrollar algo, crear algo.

¡Repite los pasos y estarás en camino de ser una estrella de rock!

¡Feliz codificación!

No hay trucos Necesitas experiencia y práctica.

Sigue resolviendo problemas de programación. Gradualmente aumente la dificultad. No solo lea libros o mire tutoriales, HAGA algo. Comience con un programa simple de tic tac toe, o un sitio web simple que no necesita una base de datos. Escribe el código siempre que puedas.

¡Buena suerte!

  1. Aprenda programación (vea Teach Yourself Computer Science). Si no puede programar (desarrollar una solución a un problema), no puede desarrollar software (lo que significa desarrollar soluciones a los problemas, no significa sentarse en una computadora, escribir código).
  2. Asegúrese de que el código que escriba sea claro para cualquiera que entienda la programación. Si algo no es así, coméntalo. (El antiguo estándar de un bloque de comentarios en la cabecera de cada función todavía significa código compilado; los comentarios nunca llegan al tiempo de ejecución, por lo que no ralentizan el programa. Pero sí hacen que sea mucho más fácil corregir errores o modificar el programa).
  3. Asegúrese de que, a menos que el proyecto nunca se expanda, sea escalable. Nunca te escribas en una esquina.
  4. Si se puede hacer, se hará , así que escriba el código para manejarlo, incluso en situaciones en las que cree que “nadie haría eso”. Alguien lo hará, y es mejor tener un buen mensaje diciéndole que no lo haga, que hacer que su programa se bloquee por todo el piso. Incluso si no puede encontrar la manera de manejar ese tipo de entrada, “Debe ser un número” y volver a la entrada es mejor que bloquearse porque dividió por cero. (El valor de una cadena es cero).

Y recuerde, algún día, alguien más tendrá que trabajar en su código, y no podrá leer la mente que tenía cuando lo estaba escribiendo. (Tampoco lo hará, si tiene que volver a él un año después de que fue enviado). Consulte algunas de las preguntas de “cuál es el peor código que haya visto” aquí para ver ejemplos de lo que no debe hacer. ¿ Te gustaría tener que trabajar en un tazón de espagueti sin comentarios? Entonces no cree uno para que alguien más trabaje. O bien, aclare el código o coméntelo. (Y use etiquetas significativas. “I” es lo suficientemente bueno para una variable de contador, pero una “i” no comentada para el precio final es una “mala práctica”. Y “precio_final” no hace que el código compilado sea más grande que “i”. )

More Interesting

Como ingeniero de software, ¿qué idioma / marco debo aprender a trabajar por cuenta propia (móvil, web, servidor, empresa, front-end, back-end, base de datos, etc.)?

Cómo comenzar a contribuir en proyectos de código abierto

¿Dónde se almacenarían los lenguajes de programación en el cerebro de un desarrollador?

¿Cuántos desarrolladores de software viven en Israel? ¿Cómo se distribuyen?

He oído hablar de desarrolladores de software que ganan 300-500 $ k. Soy un principiante relativo en el campo, todavía no he arañado 100k. ¿Cómo llegas a esas sumas? ¿Qué conocimientos / calificaciones pueden llevarte allí?

¿Cuáles son las etapas en el desarrollo de software?

¿Cuáles son los objetivos del proyecto KRA, los objetivos del equipo y los indicadores de rendimiento (KPI) que se pueden usar para medir la efectividad de un desarrollador de software? ¿Qué puntos deberían mencionar al llenar KRA?

¿Es mejor para un nuevo ser un desarrollador de software en una pequeña empresa o un probador de software en una gran empresa?

¿Debería considerar un cambio de carrera? Llevo más de una década trabajando en el campo del desarrollo de software. La salud se está deteriorando, la vida social está hecha jirones (la abandoné para "cumplir el plazo") y estoy cansada. ¿Cómo debo hacerlo?

¿Puedo convertirme en desarrollador de software si me siento muy incómodo cuando la gente lee y critica mi código fuente?

Cómo saber cuánto facturar y cuánto tiempo llevará un proyecto de desarrollo de software

¿Qué trabajo es mejor: un desarrollador de software o un analista de negocios?

¿Cuál es la diferencia notable entre un desarrollador de software independiente y un desarrollador de software que trabaja en una empresa?

¿Una prueba de software se considera un trabajo sin salida? ¿Realmente no tiene perspectivas de futuro en términos de salario?

¿Qué características de Java apasionan a las personas?