7 principios que no puedes ignorar para dominar el desarrollador de software.

POST

Más sobre el tema.

Osvaldo Galván

Osvaldo Galván

Si estás convencido de que tu pasión es el desarrollo de software. Si reconoces que para lograrlo requieres de trabajo duro y esfuerzo. Por esta razón, te comparto estos 7 principios que no puedes ignorar si quieres dominar el desarrollo de software.

Conseguir el trabajo soñado, no es tarea fácil. Pensar que solo con saber programar ya somos competitivos. Esto es un gran error.

Más que solo programar. Un ingeniero de software requiere de ciertas habilidades y características que ayuden a sobresalir del resto de programadores.

Saber programar no te convierte en un ingeniero de software.

Por esta razón te comporto estos 7 principios que no puedes ignorar si quiere destacar y tener éxito.

1.- Aprende a escribir código.

Si, lo sé, si estás aquí es porque sabes escribir código fuente. Antes que nada, no quiere ser un juez ni mucho menos un verdugo de algún programador.

No se trata de escribir código para terminar un trabajo.

Si trabajas en una empresa, lo único que importa a tu jefe es que termines el proyecto para poder entregar el trabajo en tiempo. No importando si el tiempo de desarrollo es justo o no.

Si trabajas por tu cuenta, lo único que te importa es terminar todos tus pendientes para liberar el proyecto y cobrar la paga.

No es mentira decir que trabajamos con tiempo ajustados. Es momento que te hagas las siguientes preguntas: Trabajamos solo para cumplir una meta, cobrar dinero o escribes código por la satisfacción y la pasión que sientes al hacerlo.

Aprender a escribir buen código te ayudará a ser más productivo, ahorrarás tiempos de desarrollo y podrás cumplir con los objetivos y metas definidos.

2.- Analizo, diseño y luego escribo.

No es inusual que un programador que recién empieza su carrera, cuando se le encomienda una actividad. Antes de analizar y diseñar la mejor solución, empieza por escribir su código.

Ya basta de escribir condigo sin tener en mente un bosquejo de qué y hacia dónde estamos dirigiendo nuestro código.

No me refiero a un plano complejo. Me refiero a una imagen mental, un documento en papel escrito a mano, un diagrama sencillo. Algo que oriente mi camino.

Cuando escribes sin pensar. Tarde o temprano te darás cuenta de que quizás no fue la mejor solución. Y sabes qué es lo peor. En lugar de corregir, buscas alternativas para solucionar un problema que tú mismo creaste.

Antes de escribir cualquier línea de código, analiza y diseña la mejor solución para resolver el problema. Es preferible tardar más tiempo en un análisis y diseño completo que reescribir funciones que no fueron bien pensadas.

Nunca escribas una línea de código si no sabes qué camino tomaras y cuantos pasos necesitas para llegar al otro extremo,

Usa herramientas como diagramas de flujo, diagramas de secuencias, diagramas de clases.

3.- Aprende de algoritmos y patrones de diseño.

No intentes reinventar la rueda. Por mucho tiempo yo seguí el camino de empezar de cero. Me aventuraba a programas sin saber que podía hacer uso de patrones y algoritmos que alguien más diseñó y probó.

Estoy seguro de que alguien más ya enfrento un problema similar al que intentas resolver.

La comunidad de programadores, con el afán de mejorar sus habilidades, pone a prueba un sinfín de patrones y algoritmos que faciliten el trabajo de desarrollo.

Otros programadores hacen uso de estos patrones, los pules, mejoran y publican nuevas versiones.

A cada nueva versión, añaden características que los perfeccionan.

Si me pongo a pensar, hacer yo solo este trabajo me llevaría años. Pero haciendo uso de ciertos patrones y algoritmos ya existentes, puedo mejora de forma significativa mi forma de programar.

Ya no invento más la rueda, ahora busco la mejor solución en los libros y artículos de programadores más éxitos.

Haz uso de patrones de diseño ya conocidos como: patrones de creaciones, estructurales y de comportamiento.

Utiliza algoritmos de ordenación y búsqueda ya existentes.

Aprende de patrones y anti-patrones de desarrollo de software.

4.- Código limpio y refactorización.

Un buen programador sabe escribir código leíble, entendible, mantenible y extensible.

Saber programar no te convierte en un buen ingeniero de software.

Comprender y entender técnicas de código limpio y refactorización te ayudará a escribir código fácil de leer y entender.

Debes saber que el costo real de una aplicación no está en el desarrollo inicial. El costo de una aplicación se ve exponencialmente incrementado en el mantenimiento.

Es más costoso dar mantenimiento a un software que volver a construirlo desde cero.

El mantenimiento se vuelve costoso cuando, el desarrollo original no siguió ningún estándar o mejor práctica de codificación. Por ende, leer y entender la codificación se vuelve complicada, por lo tanto, es lento y tardado modificar la funcionalidad.

Al no entender la codificación original, los programadores acostumbramos a reescribir código que sea entendible para nosotros. Por lo tanto, el tiempo y el costo de mantenimiento aumenta significativamente.

Por eso, debemos aprender a usar técnicas de código limpio y refactorización para escribir código leíble, entendible, mantenible y extensible.

5.- Aprende metodologías de pruebas.

El punto anterior no puede lograrse si no contamos con pruebas unitarias automatizadas. Sin estas, no podemos estar seguros de que, en caso de modificar el código, el sistema siga funcionando correctamente.

Las técnicas de código limpio y refactorización requieren de un adecuado esquema de pruebas unitarias. Las técnicas de refactorización requieren modificar el código. Solo con pruebas unitarios podemos garantizar que la modificación no afecte la funcionalidad original.

Las pruebas unitarias automatizadas son fundamentales para garantizar la integridad del código.

Si desarrollamos aplicaciones sin pruebas unitarias y modificamos una sección del código fuente. No tenemos forma de asegurar que un cambio en cierta parte del sistema no afecta otra sección del sistema.

El problema crece cuando se corrige un bug que abre la puerta a que se presenta otros bugs en otras partes del sistema.

6.- involúcrate en los procesos del negocio.

No todo es programar. La intención no es volverse experto en el negocio. Sin embargo, es recomendable entender los procesos del negocio. Si no entendemos los procesos, será muy complicado escribir código de algo que no entendemos.

En realidad, nunca deberíamos escribir aplicaciones si no tenemos un proceso de negocio en el cual fundamentar el sistema.

Los procesos de negocios deberán estar estandarizados para poder programarlos.

Recuerda, el objetivo de cualquier aplicación o sistema de información es: disminuir la carga de trabajo a través de la automatización de procesos.

Sin procesos no podemos automatizar nada.

Uno de los grandes errores del desarrollo de software es: construir sistemas de información basados solo en la experiencia de usuario, de lo que dice que hace y de lo poco o mucho que recuerda de su día a día.

En cambio, si contamos con un proceso de negocio estandarizado, es posible definir entradas y validar las salidas del aplicativo.

Involúcrate en el negocio. Solicita manuales de procesos y procedimientos para dar claridad en el desarrollo. Y si estos no existes, es recomendable trazar un proceso antes de escribir cualquier línea de código.

7.- Programa, programa, programa.

La práctica hace al maestro. Escribe y reescribe código tantas veces sea necesario. Los años te darán la experiencia suficiente para construir software de calidad.

La teoría dice que se requiere un total de 10,000 horas para ser especializaste en algo.

No te frustres si algo no funciona a la primera. Nada que valga la pena se construye de la noche a la mañana.

Trabaja todos los días pensando en mejorar un poco cada día la forma de escribir código.

Para desarrollar mejor tus de aptitudes y habilidades te recomiendo lo siguiente.

  1. Práctica todos los días.
  2. Lee libros de programación
  3. Participa en foros de programadores.
  4. Lee código de otras personas.
  5. Diversifica, no te quedes con un solo lenguaje de programación, aprende más lenguajes.
  6. Divierte al escribir código.

Estos son los 7 principios que deberías seguir para ser un experto del desarrollo de software. Quizás no sean los únicos que puedas seguir, pero te servirán de base para ser un mejor programador.

Si consideras que me faltó mencionar algún principio que también debe incluir en esta lista, comparte tu opinión en la sección de comentario.

Facebook
Twitter
LinkedIn
Osvaldo Galván

Osvaldo Galván

Osvaldo Galván Software Engennier Enfocado en la calidad del software,

Deja un comentario

Tu dirección de correo electrónico no será publicada.