Hay una amplia variación en los niveles de habilidad de los desarrolladores. Y lo que se llama "señorialidad" a menudo no dice nada acerca de las posibilidades reales de un programador. ¿Qué hace que algunos desarrolladores sean objetivamente mejores que otros? ¿Qué los distingue de la multitud gris?
Si un programador tiene cinco, diez o incluso quince años de "experiencia práctica", esto no garantiza necesariamente que sea un senior eficaz y productivo. De hecho, esto ni siquiera significa que pueda llamarse así.
Por supuesto, también hay personas tan desafortunadas, por lo que se ha establecido una mala reputación para las personas mayores exitosas, que generalmente no son jóvenes. Pero los jóvenes señores tampoco son más fáciles. Sin embargo, hay ciertos rasgos y conocimientos comunes a varios programadores senior.

Esto no quiere decir que los verdaderos señores conozcan algunos secretos de la habilidad profesional. Más bien, se distinguen por una estructura especial de conocimiento, pensamiento especial. Ambos son susceptibles de desarrollo.
El autor del material, cuya traducción publicamos hoy, dice que quiere hablar sobre algunos de los signos que ayudan a distinguir a un verdadero programador senior de un programador con "seignioridad".
Paradigmas de programación
Principios SÓLIDOS, programación funcional y orientada a objetos: estos son tres paradigmas de programación, tres metodologías de escritura de código limpio, que constituyen una parte importante de los enfoques conceptuales detrás de la creación de programas.
Muchos programadores junior pierden una cosa importante en su trabajo, que es que la programación es un lenguaje. Esto significa que la programación es más que un conjunto de reglas gramaticales. Este es un medio de comunicación, un fenómeno que puede estructurarse de muchas maneras. Los paradigmas de programación ayudan a formar una cierta posición con respecto a cómo se percibe el código y cómo transmite información.
Cualquiera puede escribir código, al igual que cualquiera puede escribir un mensaje en un mensajero o una breve reseña de un libro en Amazon. Pero esos textos no pueden equipararse con las novelas de Stephen King. Los paradigmas de programación actúan como la fuerza que guía el código que escriben las personas mayores. Esto hace que los paradigmas sean similares a las estructuras argumentales que siguen los autores de ficción. Todos los idiomas están imbuidos de fórmulas. Los desarrolladores senior los entienden a un nivel profundo, al que Joons y MIDL aún no han llegado.
Habilidad para crear
Cuando llegamos al mundo de los bucles
for
y, de
if else
,
if else
, hacemos preguntas y tratamos de encontrar respuestas a ellos en forma de código que se pueda copiar y pegar en nuestro proyecto desde algún lugar. El nivel de comprensión de este código es lo que caracteriza las calificaciones de los jóvenes que recién comienzan y los principiantes.
Las personas mayores, sin embargo, van más allá de copiar. Pueden crear algo nuevo sin la ayuda especial del todopoderoso Google. Saben lo que están haciendo, entienden cómo sus decisiones afectan los resultados de su trabajo. Pueden ver, o al menos anticipar situaciones anormales. Entienden los problemas de su código y saben cómo lidiar con ellos.
Si no saben algo, llenan los vacíos de conocimiento, entendiendo seriamente preguntas poco claras, no limitadas a su estudio superficial. Entienden profundamente todas las herramientas que usan. El mundo del código no se ve a los ojos de las personas mayores de la misma manera que a los de junio o mediados.
Crítica objetiva
Todos prefieren lo que saben. Juniors y middles muestran una fuerte tendencia a centrarse en su propia experiencia, en lugar de en lo que se relaciona con el código que analizan. Si hacen una propuesta, o si valoran algo, la base de todo esto es su preferencia personal. Este es un estilo de escritura de código, formas de nombrar entidades, métodos de pensamiento.
No hay nada de malo en eso. Todo esto es parte del proceso de crecimiento profesional. Para lograr la verdadera objetividad de los juicios, un programador necesita ir a muchas situaciones y ver por sí mismo cómo algo que es inaceptable en un caso, en otro, puede ser la mejor solución a un problema. Esto desarrolla una perspectiva neutral de las cosas. No hay una sola forma correcta de escribir código. Solo hay formas que son efectivas en una determinada situación y en un determinado escenario. Los programadores senior entienden esto. Están listos para aceptar que su código puede no ser algún tipo de "mejor" código y que puede mejorarse.
Las personas mayores a menudo se convierten en controladores de calidad de código productivos, señalando el desorden que hacen sus colegas en los programas y señalando las debilidades en la arquitectura de la aplicación. Pueden ver la imagen general del proyecto, para evaluar la posibilidad de problemas completamente inesperados. Sin embargo, no están vinculados a ningún estilo de código de escritura ni a ningún paradigma de programación. Su enfoque no está en las herramientas, sino en los resultados.
La diferencia entre un buen programa y un programa de trabajo
Los desarrolladores crean código cuya tarea principal es comenzar. Algunos de ellos piensan en esto y creen que el código de trabajo es todo lo que necesitan. Otros van un poco más allá y se esfuerzan por garantizar que el código no solo funcione, sino que también esté escrito en alta calidad. Los mejores desarrolladores son aquellos profesionales que editan y reescriben nuestro código en el proceso. Es posible que acepten usar un diseño fallido, pero tan pronto como tengan la oportunidad de arreglarlo, lo harán. Dichos desarrolladores entienden la diferencia entre un buen programa de trabajo.
La mayoría de los gerentes solo están interesados en el desempeño del programa. Pero los buenos desarrolladores senior ven la situación más profunda. Entienden el costo oculto de la deuda técnica y pueden reconocer un código que indica la presencia de problemas profundos en el sistema. Saben combinar la necesidad empresarial de programas de trabajo con la calidad del código. Esto les permite encontrar un equilibrio entre la entrega de proyectos a tiempo y la inclusión en ellos de características adicionales que los clientes del proyecto recuerdan desde el principio del trabajo.
La amplitud de sus conocimientos, la comprensión de los marcos y los lenguajes de programación, los convierten en expertos en la cuestión de encontrar la diferencia entre los programas de trabajo y los programas de alta calidad. Pueden crear ambos. Esto les da a los verdaderos adultos mayores la oportunidad de encontrar soluciones creativas a los problemas en una variedad de situaciones.
Capacidad de aprender
El mediocre maestro posa. Un buen profesor explica. Un destacado maestro muestra. Gran maestro es inspirador.
William Arthur WardLos verdaderos desarrolladores senior tienen una pasión por la tecnología que inspira a sus compañeros de equipo menos experimentados, ayudando a los principiantes a convertirse en profesionales de primer nivel.
La programación, en sí misma, es un conjunto de ciertas ideas. Las personas mayores tienen la capacidad de expresar estas ideas de manera concisa y clara. La capacidad de las personas mayores para transferir código entre diferentes interfaces y entornos demuestra una verdadera comprensión del lenguaje de programación elegido.
Para enseñarle algo a alguien, necesita un cierto nivel de conocimiento del tema. Lo que se llama "experiencia laboral" puede aparecer en el currículum de un programador como una lista de sus proyectos completados, o como el tiempo que trabajó en diferentes compañías. Pero la capacidad de enseñar a otros es una habilidad que solo está disponible para alguien que realmente posee su oficio.
Resumen
Un verdadero desarrollador senior es una criatura multifacética, que a veces, cuando se trata de áreas fuera de su negocio principal, puede parecer un junio o un medio. Pero el señor tiene una base poderosa en el campo de la filosofía de programación.
Sin embargo, las características anteriores de las personas mayores: esto es lo que está presente en sus personalidades y en su conocimiento profesional. Esto les permite aprender nuevas tecnologías más rápido que algunos programadores "promedio". A menudo, las personas mayores son personas que pueden capturar de un vistazo la imagen general de lo que está sucediendo. Pueden mirar el código sin prejuicios ni supersticiones.
El verdadero señor llevará a sus compañeros de trabajo a los hábitos de crear código limpio. Al mismo tiempo, no será una fuerza destructiva que intente exprimir todo lo que encuentre en el lecho Procrustean de su propia experiencia. Esta persona acepta con calma los errores de sus colegas y los suyos también. Busca aprender y aprender de los errores, y no humillar a los colegas menos experimentados.
Un desarrollador sénior puede ser una persona de cualquier edad, puede provenir de cualquier rama de la tecnología de la información, su "experiencia práctica" se puede calcular en cualquier número de años. La característica principal de tales personas es que realmente saben cómo resolver problemas y que son capaces de pensar a largo plazo.
Estimados lectores! Si participa en la selección de personal en el campo de la tecnología de la información, cuéntenos cómo "localiza" a las personas mayores.
