5 CONSEJOS para ser un SUPER PROGRAMADOR LEGENDARIO ⚡️

¿Estás aprendiendo programación? Déjame enseñarte los 5 CONSEJOS que te convertirán en un programador por encima de la media.

Categorías
Desarrollo web

Introducción

  • ¿Estás aprendiendo programación y andas todavía un poco perdido? 
  • ¿Acabas de comenzar tu primer trabajo como programador y te domina la inseguridad a la hora de tomar decisiones?
  • ¿Te sientes un impostor entre tus compañeros de equipo y no consigues saber si tu rendimiento es el que esperaban de ti al ofrecerte el puesto de trabajo?

Si te sientes identificado con alguno de estos puntos, es que necesitas conocer más referencias profesionales para ser capaz de contrastar tus conocimientos y desempeño con los que alguien de tu nivel debería tener en una situación ideal.

¡Pero que no cunda el pánico!

Soy Carlos Sala y en este artículo te ofrezco mis 8 años de experiencia en programación web y de videojuegos en forma de 5 consejos que debes seguir para convertirte en el perfil de programador que todas las empresas están buscando.

YouTube player

#1 – No tomes atajos mientras programas

Como ocurre en muchos otros aspectos de la vida, cuando programas se te presenta multitud de veces la posibilidad de tomar un atajo para terminar antes la tarea que estás realizando. Cuando nos veamos en una de estas situaciones, tendremos que luchar contra el diablillo que nos susurra al oído para no caer en la tentación.

¿Y qué son los atajos en programación exactamente? ¿Cómo los identificamos?

Pues la verdad es que los he visto de todos los colores, tamaños y sabores, pero entre los más famosos encontramos: 

  • Las declaraciones inline de estilos, funciones, o expresiones que deberían ser declaradas como variables. El cóctel perfecto para generar código duplicado, saltarnos las directrices del sistema de diseño y entorpecer la lectura del código HTML de la plantilla.
  • Los archivos multiusos en los que definimos diferentes estructuras de datos, tipos, clases o funciones con el fin de ahorrarnos la creación de otros archivos, como si nos los estuvieran cobrando. En general, estos cajones de sastre son una mala forma de organizar el código.
  • Dejar funcionalidades sin terminar y darlas por acabadas aunque no cumplan con lo planificado para pasar a lo siguiente cuanto antes.
  • O, tras un cambio en el nombre de un identificador de clase o variable, mantener el resto de funciones, variables o clases relacionadas con el ?naming? antiguo por pereza de actualizarlos.
Estilos inline
<div style="background-color: red; border: 1px solid blue;"></div>
Funcionalidad sin terminar
const getPosts = async () => {
  const posts = [];
  
  try {
    // TODO: paginate results
    posts.push(
    (await axios.get(`https://api.com/posts?page=${1}&limit=${999999}`))
    .data);
    
    return posts;
  } catch (err) {
    // TODO: catch error
  }
}
Archivo multiusos
export interface Foo {
  a: string;
  b: string;
}

export function sum(a: number, b: number) {
  return a + b;
}

export const CONSTANT_VALUE = 1000;
Identificadores confusos
const articles = await getPosts();
const postsCount = articles.length;

Estos 4 ejemplos de atajos entre comillas que a simple vista parece que nos ahorrarán tiempo de desarrollo, son en realidad deudas técnicas y dificultades de mantenimiento que estamos introduciendo en el código fuente. Es decir, “pan para hoy y hambre para mañana”. El tiempo que ahorrarás inmediatamente para salir del paso lo vas a acabar pagando, y probablemente con creces, cuando tú o uno de tus compañeros tengáis que volver a esta parte del código a arreglar lo que conscientemente has hecho mal antes.

Es muy importante, MUCHO, hacerse responsable del trabajo de uno mismo para marcar la diferencia. ¿Cómo van a confiar en ti los clientes o tus compañeros si dejas las cosas a la mitad o las terminas sin ningún cuidado?

Así que ya sabéis, dejad de esconder el polvo debajo de la alfombra si sabéis que es una decisión poco profesional.

#2 – Acepta tus errores de código

¿Te cuesta aceptar tus errores?

En el mundo profesional, mantener a raya tu ego es algo fundamental para no generar conflictos con tus compañeros y sobre todo para seguir creciendo.

Si no eres capaz de identificar las cosas que has hecho mal y reflexionar sobre esos errores, tendrás serios problemas para mejorar tu lógica de programación o para aprender nuevos patrones de diseño.

En el punto anterior hablábamos de los atajos que no debes tomar por muy apetecibles que parezcan, pues este sería uno de ellos. Tienes que ser capaz de criticar el código que implementes y si llegado el momento encuentras una mejor solución para el problema que estabas resolviendo, sustituir a la anterior sin demasiados miramientos.

Por supuesto que es duro borrar código que has estado escribiendo, pero mantener la mente fría cuando programamos, no enamorarnos de nuestras soluciones por mucho que nos haya costado encontrarlas, es uno de los grandes distintivos que nos harán brillar por encima de todos aquellos que no son capaces de identificar cuándo se han equivocado.

Además, dominar tu mente y encontrar la objetividad en tus actos es algo que podrás utilizar a tu favor para mejorar en otros aspectos de tu vida como puede ser tocar un instrumento o tener relaciones interpersonales de mayor calidad.

No eres perfecto y tu código tampoco. Así que cuanto antes lo asumas, más tiempo tendrás para mejorar.

#3 – Aprende otras tecnologías

¿Cuánto tiempo llevas trabajando con los mismos lenguajes de programación, bibliotecas, frameworks o patrones de diseño?

Ha llegado la hora de aprender nuevas tecnologías. Los estándares y tecnologías de moda en este sector cambian más rápido de lo que nos gustaría. Así que intenta no encasillarte en un stack determinado y sigue leyendo para mantener actualizados tus conocimientos.

Si no lo haces, entrarás en una zona de peligro en la que corres el riesgo de dejar de ser interesante para las empresas cuando estés buscando un nuevo puesto de trabajo y las tecnologías en las que eres especialista empiecen a estar en desuso.

Ya que tu objetivo es ser un programador de alto nivel y quieres destacar por encima del resto, debes estar dispuesto a ponerte al día con las tecnologías que van apareciendo. Ve un paso por delante y empieza antes que el resto, así los esfuerzos que tienes que hacer para hacerte experto en un stack se repartirán mejor en el tiempo y se harán más llevaderos.

Así que bueno, ¿qué es lo próximo que vas a aprender?

#4 – Keep It Simple, Stupid

El principio de diseño KISS, Keep it Simple, Stupid, aboga por mantener los sistemas lo más sencillo que sea posible una vez cumplen su funcionalidad y evitar complejidades innecesarias.

En la programación, la sobreingeniería es un error muy común tanto en principiantes como en programadores más avanzados.Si eres capaz de terminar un desarrollo de una forma más sencilla y comprensible para tus compañeros de trabajo, ¿a quién pretendes impresionar añadiendo complejidad a la solución?

En este caso, la experiencia será nuestra mejor consejera para determinar si una solución es tan funcional como adecuada para el diseño del sistema. O si por el contrario enturbia los flujos del sistema y no añade ninguna otra característica interesante al proyecto como escalabilidad, mantenibilidad o seguridad, entre otras.

Recuerdo que cuando estaba aprendiendo a programar en la universidad pensaba que cuanto más ilegible fuera el programa, más difícil de seguir el flujo de ejecución y más líneas de código hubiera escrito, mejor era la solución. Nada más lejos de la realidad.

Mantenlo simple, estúpido.

#5 – El tiempo programando vale oro

El último consejo de programación que voy a darte es que el tiempo es oro.

Sin olvidar el resto de ?tips? que hemos repasado, ten siempre presente cuando estés programando que el bien más preciado que tienes es el tiempo. Debes emplearlo en tareas que merezcan la pena.

Parece algo muy obvio, pero yo creo que es el punto más difícil de llevar a cabo, por eso lo he puesto en último lugar.

Encontrar el equilibrio entre escribir un código de calidad y ceñirse al tiempo que queremos destinar a esa tarea no es algo sencillo. Como programadores con TOC a los que nos encanta desentrañar los problemas usando la lógica, caemos fácilmente en la búsqueda de la perfección. Que no es más que un espejismo en el desierto.

A mí me gusta materializar esta habilidad como una lucha interna entre el Carlos perfeccionista y el que consigue terminar las tareas. La lista de proyectos que he dejado a la mitad ni siquiera soy capaz de recordarla, pero los que he sido capaz de aterrizar podría contarlos con una sola mano.

¿Y tú? ¿Eres capaz a día de hoy de cortar a tiempo el desarrollo de una tarea por el bien de un proyecto?

Conclusión

Espero que tengáis estos consejos presentes durante vuestros desarrollos. Que conste que no están elegidos al azar, son puntos sobre los que he reflexionado a lo largo de estos años y de los que me hubiera gustado tener alguna opinión profesional cuando tenía menos experiencia.

Os animo a seguir aprendiendo programación, ya que es una profesión muy divertida y gratificante una vez le pillas el truco y consigues cambiar la forma de pensar a los varios meses o pocos años después de empezar. Y además los salarios están por encima de la media.

Si crees que me he dejado algún consejo que para ti marca la diferencia a la hora de programar, puedes dejar un comentario para guiar al resto de la comunidad.

¿Te ha gustado este contenido? Estoy en todas las redes sociales, así que sígueme para volver a escuchar a este pobre diablo contar sus experiencias en el mundo de la programación.

¡Nos vemos pronto!

Carlos Sala Samper

Handmade software.