130

10 errores que delatan a un programador Jr

11447Puntos

hace 4 años

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

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

Tipos de 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.

Curso de Accesibilidad Web

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

Git Flow

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.

Curso Profesional de WordPress

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 % 2if (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

Platzi
Platzi
platziteam

11447Puntos

hace 4 años

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
16
38113Puntos

Lo bueno que Platzi, esta para ayudarnos y no cometer errores de novato. GRACIAS PLATZI 🙌❤

4
2258Puntos

verdaderamente la educación es lo suyo, hacen que cada día mejoremos. Estos Post motivan aprender mas sobre el mundo Tech para los que recién nos entramos.

4
4892Puntos

Excelentes datos! muchas gracias.

4
8028Puntos

Excelentes consejos y buenas practicas para convertirme en un mejor programador cada dia!!! Gracias TeamPlatzi

3
21275Puntos

Lo leí con la voz de Freddy, jajaja.

3
35435Puntos

grande platzito

3
2214Puntos

Hablando sobre código espagueti, es algo que me sucede con Wordpress… porque veo que suelen combinar demasiado php con html y se ve horrible :S
¿Les ha sucedido también?

Tengo alrededor de dos años desarrollando con Laravel (Php) y Express (Nodejs - Javascript). Y con el equipo que estuve trabajando es algo que estuvimos cuidando demasiado (tener un código limpio), y cuando decidí agregar este nuevo skill (aprender wordpress) terminé decepcionado por como se escribe el código.

Hasta el momento sigo aprendiendo, tal vez me esté equivocando con wordpress, pero si saben de algún ejemplo que tenga un buen código estructurado, se los agradecería mucho 😄

4
11231Puntos
4 años

Yo estoy tomando el curso de WordPress y me he dado cuenta del código espagueti, te recomiendo le des un vistazo a la librería Timber, nos deja usar twig para nuestras vistas en WordPress

2
21025Puntos

Excelente aporte! Ser programador yo pienso en saber utilizar y trabajar con las terminales linux y el CMD por igual, uno nunca sabe cuando te pueden salvar. La parte de test me gusto porque explica claramente como se dividen las pruebas y lo genial que se siente cuando todo funciona en pruebas de integraciones ❤

2
229862Puntos

El punto sobre aceptar los fallos es muy importante, y el de entender el por que, desarrollar ese tipo de pensamiento critico, de indagar y cuestionar, no tragar entero sino explorar y nunca parar de aprender es el que definitivamente lo lleva a uno a crecer. Gracias platziteam!!

2
1130Puntos

pondre en practica cada uno de los consejos, mil gracias

2
19423Puntos

Muchas gracias por los consejos, son realmente útiles

2
14394Puntos

Muchas gracias!!! Por inspirarnos a ser mejores 😄

2
14811Puntos

Excelente Post, Gracias!

2
15103Puntos

Muy buenas practicas, las recomendare a varios colegas. Gracias.

2

¡Excelente post! Creo que la parte de documentación del código es importante, sin embargo, ¿alguien podría recomendar alguna alternativa a readme.io? Gracias

2
2788Puntos

Muy buen post!

2
229862Puntos

A tomar apunte!!

2
6369Puntos

Me encanto el articulo.

2
22725Puntos

Yo soy novata, aún comento todo el código XD

2

Se nota que el post fue redactado por una mujer. Podrías haberlo hecho en tercera persona. En todo lo demás estoy de acuerdo. En el punto que falla muchos programadores: es en las pruebas unitarias, muchas veces por pereza otras por desconocimiento. Buen post para la reflexion.

2
1440Puntos

Me gustaria que entre sus consejos agregasen como lidiar con la sintaxis de cada lenguaje de programación en el caso de que uno quiera estar lidiando con varios a la vez, y como éstos afectan su estructura.

2
1637Puntos

No te hace “mala programadora”?

2

Yo deje la universidad porque se terminaron los recursos económicos, y quiero decir que con el curso de programación básica, aprendí cosas que en 2 años no me supieron explicar

2
5478Puntos

para dominar la programación escriban y escriban código y a la larga van a aprender además de encontrar sus propios atajos al momento de crear algo !

2
6835Puntos

Información muy útil. Gracias PlatziTeam ❤️

2
8983Puntos

Gracias por los consejos para no cometer esos errores y quedar mal =)

2
39213Puntos

Excelente contenido la idea es nunca parar de aprender.

2
18586Puntos

Groseramente espectacular el artículo, realmente ayuda a los que estamos comenzando y aprendiendo en el mundo Fronted. 👨🏻‍💻💯🎖👏👊🚀💥👍🤯

1
4498Puntos

Este post esta muy completo, aunque ya llevo tiempo conociendo estos conceptos la verdad es fácil olvidarlos u olvidar el porque se hacen si no se practican lo suficiente.
Gracias por recordármelo 😃

1
35008Puntos

Estupendo. a prestar atención a los detalles y disfrutar mucho el camino del aprendizaje!

0

“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.”

Esto merece copiarlo en mi libreta para leerlo todos los días. Gracias💚