Inevitablemente, vamos a cometer errores. Pero aprender a usar algunas herramientas y desarrollar las siguientes habilidades te ayudará a crecer profesionalmente en la industria de la programación.
Veamos 10 características a las que debes poner atención cuando eres un programador Jr.
Escribe Código limpio

Más del 80% del tiempo en que programamos estamos leyendo código, no escribiendo. A medida que participas en proyectos complejos, te das cuenta de que la mayor cantidad de tiempo estás leyendo código viejo tuyo o de alguien más y no recuerdas cómo funciona.
Analiza el siguiente fragmento de código:
if (l == true) { x++; motorinterno.hacercosa(x); }
¿Qué son l
y x
? ¿De qué se encarga motorinterno
? Esto no es para nada entendible.
En cambio:
if (tieneMasVidas) {
intentosDeJuego++;
servicioPuntaje.agregarIntentos(intentosDeJuego);
}
Con solo leer este condicional entendemos que estamos trabajando en un juego y hay un servicio que guarda el puntaje. El código limpio es código autodescriptible y puede, algunas veces, ahorrarte comentarios.
Escribe comentarios (útiles)
Los comentarios nos indican dónde estamos y qué queríamos hacer. Pero no tienes que comentar cada línea de código. Eso lo hacen los novatos. Debes comentar los lugares clave, los que hacen más fácil entender tu código.
Eventualmente, vamos a necesitar un lugar centralizado de documentación. Mi recomendación es readme.io, una herramienta para escribir documentación interactiva.
Aprende Unit Testing

Las pruebas unitarias son código que escribes para probar que el código de tu aplicación funciona. Y si no funciona como esperabas, lanza un error. Es una forma de recordar las reglas que establecimos para escribir código limpio y mejorar nuestra arquitectura.
También hay otros tipos de pruebas de software:
Integration Testing: prueban que los diferentes módulos de nuestra aplicación funcionen en grupo
End to End Testing: prueban la aplicación por completo, desde la interacción en el frontend hasta la lógica de negocio en el backend
UI Testing: prueban la interfaz de usuario, son pruebas sobre el producto que los usan usuarios en la vida real
En el Curso de Fundamentos de Testing estudiamos las diferentes estrategias de realizar pruebas de software y cómo reducir el tiempo que inviertes analizando y mejorando tus casos de prueba.
Además, también debemos encargarnos de la Accesibilidad Web. Asegurarnos constantemente que nuestro contenido digital se puede usar, interpretar y operar por una variedad de personas en diferentes situaciones, incluso si tienen algún tipo de discapacidad.

Acepta los fallos
Programar es difícil. El software es una industria rota. Todo el tiempo van a haber fallos. Y esta es una realidad que debemos aceptar cuando programamos. Que tu código tenga bugs no te hace una mala programadora, solo es parte del trabajo.
Al principio, los mensajes de error no tienen sentido. Pero parte del proceso es aprender a depurar, tener paciencia y desarrollar un pensamiento lógico programático. Dejar de programar con una ira constante. Aceptar que todo está en llamas. Y aprender nuevas herramientas que nos ayuden a mejorar cada día.
No le temas a la Terminal o Línea de Comandos
Es impresionante la cantidad de desarrolladores que son entrevistados y no saben cómo funciona la línea de comandos. Tampoco saben hacer deploy de un servidor. Y les empiezan a sudar las manos cuando entran a una terminal Linux.
Esta es la vida de un programador. Crecemos en este entorno basado en texto y nos movemos más rápido que nadie. ¿Has visto diseñadores gráficos usando todos esos atajos para trabajar con tabletas gráficas y herramientas de edición a alta velocidad? Es impresionante. Dominar la terminal nos da ese super poder multiplicado por 10.
Usa un Sistema de Control de Versiones como GIT

Aprender Git es obligatorio. Es imposible triunfar en esta industria si no lo dominas. Y para eso necesitas saber usar la terminal. Por lo general, googlear está bien. Pero, de verdad, no es suficiente con saber los primeros 3 comandos de git y borrar todo cuando algo sale mal.
Flujo de trabajo profesional y Comandos oscuros de Git que te salvan el día
Lo primero que aprendemos son los diferentes estados de nuestro sistema de archivos dentro de Git: working directory, staging area y el repositorio local. Y luego está nuestro servidor remoto para juntar nuestro trabajo con el resto del equipo.
Pero luego mejora. Para trabajar en un equipo de desarrollo profesional debes saber solucionar conflictos, conocer las diferentes estrategias para trabajar con ramas, git flow, continuous integration y continuous delivery, entre muchas otras cosas.
Aprender Git de verdad hace la diferencia entre una desarrolladora profesional y otra estancada.
Completa proyectos personales desafiantes
Empieza poco a poco. Primero con ejercicios pequeños y luego con proyectos cada vez más grandes. Así como cuando aprendiste álgebra.
Por ejemplo:
Empieza maquetando tu sitio web con HTML y CSS. Luego añade interactividad con JavaScript. Después querrás conectarte a una base de datos, pero para eso necesitas un lenguaje de backend. Entonces creas una API para comunicar el frontend con el backend. Y luego aprendes de deploy porque quieres publicar tu sitio en internet…
Lo más importante y tal vez lo más difícil es que termines tus proyectos. Muy seguramente no podrás clonar Facebook mañana. Pero recuerda que solo cuando te desafías aprendes algo nuevo. Y los proyectos que no terminaste pudieron ser los que te ayudaron a desarrollar un skill clave para tu carrera.
La razón por la que no cumples tus propósitos | Cómo funciona la mente al procrastinar
En el Curso Práctico de WordPress aprenderemos los conceptos, fundamentos y herramientas necesarias para crear una aplicación profesional. Y en el Curso profesional de WordPress profundizaremos aún más en todas las características de WordPress para que nuestra aplicación sea extremadamente robusta, flexible y escalable.

Entiende el porqué
Al no tener una guía clara como los cursos de Platzi, un mentor o la universidad, solemos aprender con copiar y pegar. Sabemos qué código funciona, pero no entendemos por qué funciona de esa manera.
¿Cómo definimos qué números son pares o impares?
Este es uno de los ejercicios más básicos en programación, así que tal vez sabes la respuesta. Pero ¿realmente la entiendes?
Los números pares son los que podemos dividir por 2. Traducido a código, significa que si un número dividido entre 2 tiene decimal, es impar. Y antes de saber qué eran los decimales, por allá en primaria, hacíamos estos ejercicios con el residuo, lo que en código obtenemos con el operador de módulo.
n = 111
impar = n % 2
if (impar)
pues_es_impar()
¿Por qué trabajamos con ceros y unos? ¿Por qué no con 1 y 2?
Nuestro mundo funciona con electricidad. Y por los cables solo hay dos opciones: pasa electricidad o no pasa electricidad. Y si conectamos un tercer cable sigue siendo igual, pasa o no pasa electricidad.
Los transistores permiten el paso o cierre de la electricidad. Estos transistores se convierten en compuertas lógicas. Y las compuertas lógicas se vuelven los operadores and, or, sort, condiciones, ciclos… Entonces multiplicamos eso por trillones y tenemos un procesador para correr los lenguajes de programación, sistemas operativos, entornos gráficos y todo lo demás.
Al no saber el porqué estamos atrapados en un bucle infinito de incertidumbre. No es suficiente con saber googlear, entrar a StackOverflow o solo tomar un curso en Platzi para copiar y pegar el código. Buscar o evadir el porqué hace la diferencia entre un gran programador y otro eternamente junior. ¿En cuál te quieres convertir?
No te enamores de un lenguaje
Enamorarte del lenguaje que aprendiste y defenderlo a muerte es el error más común de un programador junior. Pero lo contrario también es un error. Ningún lenguaje es popular "porque está de moda". Siempre hay razones técnicas y comerciales más allá de las humanas para la existencia de un lenguaje.
- Scala es popular porque muchas cosas de Java pueden mejorar
- TypeScript existe porque hay personas que usan JavaScript y prefieren un lenguaje fuertemente tipado
- Los Preprocesadores como Stylus son importantes porque implementan funcionalidades que CSS no tiene o no tuvo hasta su última versión
- ¿Para qué GO o Elixir si existe C? Porque hay lenguajes que adoptan mejor el protocolo Pub/Sub para real time
La única razón por la que encuentran sentimientos en el camino, sobre todo en los foros, Twitter, Facebook o en las comunidades, es porque no sabemos quién es una desarrolladora increíblemente pro o quién es una persona que simplemente sabe escribir bien en internet.
Nuestra industria es matemática, no de modas.
Enamórate de pensar como programadora / Nunca pares de Aprender
Enamorarte de pensar como programadora consiste en estructuradamente entender el porqué de las cosas. Y siempre resolver los problemas de una manera lógica y secuencial. Pasar del problema más grande a su mínima expresión y, una vez entendido, buscar la solución más elegante, escalable y de código más limpio.
De esta manera, dejas de ser un programador junior que comete los típicos errores y te vuelves una persona con pensamiento de ingeniería que está construyendo la infraestructura del mundo. Una persona que amaríamos formar en Platzi. 💚
#NuncaParesDeAprender
Curso Profesional de Git y GitHub