O que separa um bom desenvolvedor de um excelente?

¿Qué diferencia a un buen desarrollador de uno excelente?

Es una pregunta muy fácil de hacer, ¿verdad? Todo el mundo sabe que un gran desarrollador es aquel que tiene la experiencia y el conocimiento suficiente para trabajar en cualquier proyecto que se le presente. Combinar años de trabajo en el campo con conocimiento de diferentes herramientas, lenguajes y tecnologías es lo que hace que los ingenieros de software sean realmente excelentes. O (…)

Bom desenvolvedor se tornando ótimo

Es una pregunta muy fácil de hacer, ¿verdad? Todo el mundo sabe que un gran desarrollador es aquel que tiene la experiencia y el conocimiento suficiente para trabajar en cualquier proyecto que se le presente. Combinar años de trabajo en el campo con conocimiento de diferentes herramientas, lenguajes y tecnologías es lo que hace que los ingenieros de software sean realmente excelentes. O al menos eso pensarías.

Si la respuesta fuera tan obvia, no estarías leyendo esta publicación de blog (ni tampoco la habríamos escrito). Sin embargo, aquí estamos, por lo que definitivamente debe haber algo más. La simple acumulación de proyectos e información no necesariamente hace que un ingeniero sea excelente. Hay otras cosas que realmente los diferencian de sus pares.

Bueno vs. Grandes desarrolladores

Si preguntaras a los desarrolladores principales qué tipo de persona les gustaría tener en su equipo, la mayoría probablemente mencionaría algunas características comunes. Cosas como excelentes habilidades tecnológicas, habilidades para resolver problemas y conocimiento de las mejores prácticas de programación sin duda serían lo primero. Algunos dirían que les encantaría ver personas apasionadas trabajando para ellos, así como ingenieros que disfruten trabajando en equipo.

Todas ellas son geniales, ya que son un conjunto deseable de características que los desarrolladores deberían tener. Sin embargo, estos son sólo los pilares de un gran desarrollador. Los verdaderos ingenieros van más allá de estas habilidades y se adentran en territorios excepcionales; después de todo, los grandes desarrolladores son una raza poco común. Son extremadamente productivos, incluso más que los buenos desarrolladores. Esto se debe a que siempre están esforzándose un poco más, refinando su talento único día a día.

Puede parecer que los grandes desarrolladores nacen como genios que hay que encontrar, no entrenar. Por supuesto, hay personas con talento innato para quienes todo parece más fácil, desde aprender nuevos idiomas hasta mantener limpio el código. Pero eso no significa que los ingenieros no puedan aspirar a la misma grandeza. Puede que sea más difícil y requiera un poco más de trabajo, pero todo ingeniero de software puede ser excelente siempre que sepa en qué concentrarse. A continuación se ofrecen algunos consejos al respecto.

El camino a la grandeza

La hoja de ruta hacia el éxito en cualquier campo siempre está pavimentada con esfuerzo y trabajo duro. Sin esto, incluso las personas más talentosas fracasarán inevitablemente. Por supuesto, esto también se aplica al desarrollo de software. Los ingenieros que quieran mejorar tendrán que hacer un esfuerzo adicional para convertirse en la élite que quieren ser, lo que implica varias cosas. Dejando de lado los aspectos más obvios de todo esto (principalmente, saber de cuestiones técnicas), he aquí otras cosas que los grandes desarrolladores tienen en común.

Una sed incesante de conocimiento

En la mente de la mayoría de la gente, el mejor profesional es el que lo sabe todo. La idea de que alguien tenga conocimientos enciclopédicos sobre todo combinados con sentido común y una lógica aguda al estilo Sherlock Holmes parece ser el objetivo de todos. ¿Quién no querría superar los retos más difíciles con sólo un vistazo?

Sin embargo, saberlo todo es una prueba imposible. Siempre hay una nueva tecnología, una nueva herramienta, un nuevo enfoque para el aprendizaje. Así, en lugar de saberlo todo, los mejores profesionales (incluidos los grandes desarrolladores) adoptan una mentalidad de aprendizaje constante. Como todo lo que saben hoy puede cambiar, adaptarse o quedar obsoleto más adelante, siempre están buscando cosas nuevas.

Reconocen que no lo saben todo o que lo que saben es una verdad innegable. No tienen miedo de pedir ayuda y aprender de cualquier recurso disponible, ya sea un vídeo en línea, un libro nuevo, una conferencia o una nueva incorporación al equipo, incluso si esa persona está por debajo de ellos, jerárquicamente hablando.

Prestando mucha atención a la comunicación.

¿Alguna vez has jugado a Pictionary con tus amigos y te has quedado perplejo porque tus compañeros de equipo no pueden entender lo que estás dibujando incluso cuando está muy claro? Entonces ya sabes lo difícil que es comunicar algo de forma clara y sin ambigüedades. Mesmo que você nunca tenha ouvido falar do Pictionary (sério?), você certamente já passou por aqueles momentos frustrantes em que tinha certeza absoluta de que estava se explicando, apenas para descobrir que a pessoa com quem você estava falando não tinha ideia do que você me refería. .

Siempre que decimos algo (o dibujamos, en el caso de Pictionary), ponemos en juego muchas cosas. La mayor parte es información básica salpicada de nuestra propia lógica. Entonces, cada vez que decimos algo, siempre sabemos lo que queremos decir, por lo que no podemos imaginar que la otra persona pueda entender lo que estamos diciendo. Sin embargo, sucede... y mucho. Esto demuestra que la comunicación es algo complicado que no podemos dar por sentado.

Aplique esto al mundo del desarrollo de software y verá por qué la comunicación es tan importante para todo el proceso. El desarrollo de software aborda un buen grado de abstracción (especialmente derivada de los lenguajes y procesos de desarrollo), pero también tiene en cuenta aspectos provenientes de la psicología, el diseño y los negocios, por nombrar algunos. Comprender todo esto para llegar a una solución cohesiva es un gran desafío, para el cual los grandes desarrolladores son muy capaces.

¿Por qué? Porque pueden comunicarse con todas las partes involucradas para entregar conceptos y objetivos con claridad, así como proponer una hoja de ruta de trabajo. Pueden comprender los requisitos del cliente y traducirlos de forma eficaz a otros miembros del equipo. También funciona al revés: pueden abordar problemas técnicos complejos y explicarlos en términos sencillos al cliente. Por lo tanto, la comunicación hace que sea más fácil para todos trabajar juntos en armonía y ofrecer más valor.

Un enfoque equilibrado del producto.

Los desarrolladores se pueden dividir en dos categorías. En primer lugar, hay desarrolladores que harían cualquier cosa para que el software funcione, sin importar lo que cueste. A estos ingenieros no les importa corregir código tras código, reutilizar líneas antiguas o utilizar atajos o formas no convencionales de hacer las cosas. Son pragmáticos y tienen una sola cosa en mente: que el producto final funcione.

Y luego está la segunda categoría, en la que los desarrolladores aspiran a producir el mejor software jamás creado. Pasan mucho tiempo intentando corregir cada pequeño error u optimizando los detalles más pequeños. Quieren que su producto final tenga un aspecto impecable y al mismo tiempo proporcione una excelente experiencia de usuario. Son perfeccionistas.

Si bien ambos enfoques tienen sus ventajas y desventajas, inclinarse demasiado hacia cualquiera de los lados ciertamente dañará el producto final. Los pragmáticos trabajan de tal manera que sus productos pueden volverse inflados o casi imposibles de mantener o actualizar. Los perfeccionistas, por otro lado, pasan tanto tiempo preocupándose por los detalles que, a sus ojos, el producto nunca está terminado. Ninguno de estos enfoques es bueno para los negocios.

Es por eso que los grandes desarrolladores son expertos en equilibrar ambos extremos. Por un lado, confían en la revisión de pares y en los comentarios de los clientes para comprender los problemas del programa en el que están trabajando. Saben cómo aceptar las críticas sin convertirlas nunca en algo personal y saben cuándo las críticas son útiles y cuándo no conducen a ninguna parte.

Además, saben cuándo detener el desarrollo. Pueden identificar cuándo el software está listo para su lanzamiento, teniendo en cuenta el mercado y las necesidades del cliente, el público objetivo y los aspectos técnicos de todo. En resumen, saben cuándo tomar atajos para lanzar el producto y cuándo centrarse en una solución que requiere más trabajo.

¿Listo para convertirte en un gran desarrollador?

Como puede ver, las habilidades que separan a un buen desarrollador de uno excelente son cosas en las que cualquiera puede trabajar. En primer lugar, es necesario mantener una actitud de aprendizaje para mantenerse al día con las últimas tendencias y, al mismo tiempo, estar abierto a aprender de cualquier persona y de cualquier cosa. Además, debes trabajar para ser más empático: escuchar las opiniones de otras personas y ponerte en su lugar.

Esto te ayudará a crecer en tus habilidades de desarrollo y transformarte gradualmente en un mejor profesional. Solo recuerda que debes ser constante y paciente para ver que tus esfuerzos dan resultados. El camino es lo que importa y tendrás que mantenerte concentrado y esforzarte porque, como ya te habrás dado cuenta, la grandeza no es fácil de alcanzar.

contenido relacionado

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.