Uso de algún framework
Sea que trabajemos en aplicaciones de escritorio o en el desarrollo web, siempre será mejor utilizar un framework que nos ayude con el proceso de desarrollo, este nos brinda una estructura estandarizada y ya vienen por defecto ciertas cosas como URL’s amigables, ORM, plantillas, manejo de sesiones, archivos e incluso imágenes, con lo que no tendremos que reinventar la rueda, ganando así tiempo en desarrollo y asegurando que el producto final cumpla con estándares funcionales y de seguridad.
Si todavía no has experimentado el poder de los frameworks o ya les conoces pero quieres profundizar un poco más en estos puedes pasarte por las secciones de JavaScript y darle un vistazo a los tutoriales de Knockout.js, Express, Sails, AngularJS e incluso jQuery. Si eres más de la escuela de PHP, tenemos tutoriales de Laravel y Yii y si te gustan un poco los retos tenemos tutoriales de frameworks de Python como Django y Flask.
Uso de convenciones y documentación del código
Los desarrolladores con experiencia saben de primera mano que el código es escrito una vez, pero puede ser leído varias veces. Es por ello que la escritura del mismo debe seguir convenciones de nombres, tanto en nombres de variables, clases, métodos e incluso constantes. Esto dará un panorama mucho más claro a otro desarrollador que tenga que meterse en nuestro código o simplemente uno que esté trabajando con nosotros y deba añadir funcionalidades a nuestro código.
Adicionalmente si a esto le sumamos los comentarios otorgamos a nuestra aplicación de un nivel de mantenibilidad mucho mayor y cualquier otro desarrollador que le toque realizar modificaciones al mismo ya sabrá que hace cada cosa en el mismo.
Reutilización de código
Muchas veces nos tocará crear una funcionalidad nueva, pero esto no será siempre y es por ello que debe existir la reutilización de código ya que no vale de nada haber pasado una semana desarrollando una funcionalidad y que en un futuro tengamos que hacerla de nuevo. Los buenos programadores van más allá, tienen en sus repositorios personales rutinas genéricas y estándar que pueden reutilizar cuando quieran, incluso existen repositorios oficiales como NPM para Node.js o Gems para Ruby que nos permiten encontrar librerías que podemos reutilizar.
Pruebas
Nunca debemos confiarnos que nuestro código está perfecto y libre de fallos solo porqué nuestra aplicación funciona de manera correcta. Para ello existen pruebas automatizadas o podemos hacer uso de frameworks para pruebas unitarias como Jasmine para probar todos los componentes de nuestra aplicación.
Uso de control de versiones
El uso del control de versiones y de especial Git se ha vuelto una necesidad en los tiempos actuales, no solo nos ayuda a tener un respaldo de nuestro código sino que nos ayuda a realizar un seguimiento de los cambios en el mismo y además de influir en el trabajo colaborativo entre equipos de desarrollo.
Tomar en cuenta la seguridad
Existen varios temas de seguridad delicados en cuanto al desarrollo de aplicaciones, tenemos SQL injection, CSRF, XSS e incluso fijación de sesiones. Para nuestra suerte si usamos algún framework ya los mismos implementan estos temas de seguridad sin embargo nunca está de más que sepamos en qué consisten estas amenazas y como atacarlas.
Uso de librerías y herramientas
Existen una infinidad de herramientas que nos ayudan en los desarrollos, no solo frameworks o paquetes, sino herramientas o librerías que nos dan un extra de funcionalidad como en el caso de Grunt o CoffeeScript, incluso el uso de alguna librería que extienda nuestra aplicación como los data Tables para realizar reportes y que que combinados con algún framework nos dará un kit mucho más completo para el desarrollo.
Configuración de entorno desde cero
Por último es importante que todo buen programador sepa configurar el entorno donde se hará el despliegue de una aplicación, si bien es sabido que en los equipos de trabajo existen roles específicos y entre ellos tenemos una persona que se encarga de la configuración del servidor, así como los entornos de producción y desarrollo, es de suma importancia saber de esto, ya que nos ahorrara tiempo en resolver problemas de entornos, fallos en la plataforma, entre otras.
Como vemos ser buen programador no depende de experiencia o certificaciones, depende de detalles que pueden parecer menospreciables pero que juntos nos dan las bases para desarrollar mejores aplicaciones y crear una estructura de trabajo que nos ayudará durante toda nuestra carrera profesional.
3 Comentarios
Pablo Santos
jul 16 2015 13:43
Me ha encantado la forma de analizarlo jeje. El punto de valorar la seguridad hay empresas que a día de hoy no lo valoran, y es muy importante como comentas.
Sergio
jul 17 2015 20:15
+1 buena forma de comparar si somos buenos programadores jeje. Creo que yo cumlo muchos de estos apartados.
Hector Olmedo
jul 18 2015 20:10
Tengo varios amigos que tienen ya revisando si tienen todos estos puntos fuertes para ser buenos developers hehe.