A lo largo del tiempo, he tenido la posibilidad de trabajar con muchos programadores, algunos recién ingresados en la industria, otros experimentados, con distintos backgrounds, algunos muy profesionales y otros no tanto.
Como suele suceder en muchos ámbitos, a los que podemos llamar ‘realmente buenos’ son una minoría, aunque tienen una cosa en común: hacen determinadas cosas mejor que el resto. Veamos entonces algunas de estas características.
Photo by Nicole Wolf on Unsplash
1.Coherencia
Los buenos programadores son coherentes. Coherentes con su forma de trabajo, de resolver problemas, de expresarse. Mantienen un estilo determinado tanto en su código, como también en su comportamiento diario.
Al trabajar en equipo, este skill se valora MUCHO: al final del día, siempre es más fácil para todo el mundo saber con que te vas a encontrar a tener ‘sorpresas’ cotidianas.
2.Simplicidad
Mantener el equilibrio entre los ‘desafíos técnicos’ y la simplicidad es siempre una tarea compleja, no para cualquiera, que se puede desarrollar con el tiempo, pero, que son muy pocos los que llegan a dominar este arte realmente.
Los malos programadores no entienden lo que hacen, los buenos programadores sí. Los buenos programadores hacen simple las cosas que para el resto son complejas.
Complicarla es siempre más fácil que simplificar, no importa cuando leas esto.
Simplificar el código significa que será más fácil de leer, y si es más fácil de leer, es más fácil de entenderlo y por lo tanto también de mantenerlo o arreglarlo.
Reducir el esfuerzo de mantenimiento del código es uno de los aspectos más importantes a la hora de desarrollar un proyecto de software y se logrará en la medida que se pueda desarrollar la capacidad de simplificar lo complejo.
3.Profesionalismo
Este punto podría ser todo un post aparte, o incluso capítulo de libro. La idea es no hacerlo tan extenso así que veamos la definición de profesionalismo segun la RAE:
Cultivo o utilización de ciertas disciplinas, artes o deportes, como medio de lucro.
Vamos con algunos puntos luego de semejante definición:
- El profesional utiliza su conocimiento para lucrar, recibe un pago a cambio de cumplir determinada tarea u objetivo o cómo prefieran llamarle.
- Probablemente no todas las cosas que tiene que hacer un profesional sean de su agrado, aunque igualmente las lleva a cabo y cumple con el trabajo estipulado.
- Algunos ejemplos de actividades no muy divertidas para muchos en la vida del programador profesional? Meetings, deadlines, elaboración de documentación, más meetings, aprendizaje de herramientas y sdks, etc, etc, etc. Son cosas que generalmente hay que hacer aunque no gusten y si no gustan demasiado, por ahi sea mejor que reconsideres la profesión… o convertirte en programador hobbista.
- Aquellos que no estén dispuestos a tolerar ninguna de las cosas anteriores mencionadas aunque su pasión sea igualmente programar, tomen este post como una señal y analicen si el mundo corporativo tech es realmente para ustedes. Y no es cosa liviana, he conocido gente en esta situación, que solo por el sustento económico ingresan en el mundo tech y luego de un tiempo incluso se han visto afectados en su salud.
4.Aprendizaje continuo
Todo programador profesional debe mantenerse actualizado.
Esto es relativamente constante a lo largo del tiempo, y en el mundo de la programación las cosas cambian bastante rápido: actualizaciones, nuevos lenguajes, nuevas herramientas, nuevos frameworks.
Hay que dedicar tiempo a estudiar de forma permanente, a veces más, a veces menos y hasta ahora, estudiar es la única forma conocida para mantener tu conocimiento actualizado y relevante.
5.Comunicación
El último punto de las cinco cosas que hacen bien los buenos programadores.
Intencionalmente dejado para el final, ya que no tengo dudas de su polémica: muchos pensaran que hay buenos programadores que se comunican mal o pésimo y es verdad, aunque esto no significa que no sea un skill importante ( después de todo, siempre hay excepciones a la regla )
Sea que quieras fundar tu propia startup, ser freelancer o trabajar en una empresa, hay un factor en común que hay que aprender a manejar: interactuar con seres humanos.
Si la comunicación no es lo tuyo, seguro que tarde o temprano se generen malentendidos. Comunicación no significa solamente hablar bien, sino también cierta habilidad para escribir, no solo cosas técnicas ( ej: code reviews) sino también otro tipo de cosas.
La ingeniería de software en general requiere de reuniones, para hablar de distintas cosas y para eso se necesita poder comunicarse. Los freelancers necesitan interactuar con clientes y poder elaborar presupuestos o propuestas y para eso se necesita nuevamente poder comunicarse. Quienes quieran fundar su propia startup, necesitarán organizar muchas cosas e incluso buscar inversores y para eso nuevamente caemos a la buena comunicación. También si quiero ser un referente técnico, tengo que poder comunicarme para que el resto al menos me pueda entender.
Los que se comunican bien tienen más probabilidades de alcanzar sus objetivos, después de todo, es más fácil que el resto los entienda y los puedan ayudar, sean estos clientes, inversores, compañeros de trabajo, etc.
Si te gustó este artículo no te olvides de compartirlo! También te invito a ver mi canal de YouTube, o si estás en X , ayudarme compartiendo el link.