¿Son tan buenos los joons?

Preámbulo


Este artículo es un análisis de otro artículo: si no contratas a Jones, entonces no mereces a los señores


Vale la pena mencionar de inmediato que no tengo idea de qué hay y cómo en Netflix. Simplemente se convirtió en una vergüenza para el sentido común y la lógica, sobre la cual el autor se burla tan burlonamente a lo largo del artículo.


Si es posible, dejé el diseño original y anoté mis comentarios por separado.


Bueno, también dejó el título amarillo, modificándolo un poco.


Vamos




Déjame contarte una historia sobre una compañía muy exitosa que cometió un gran error estúpido:


No contratamos programadores y pasantes junior ... Si no tiene un cachorro, no tiene que limpiar los charcos.
--Netflix

Comentario El encabezado es amarillo y la introducción dice que la esencia del error y el rápido declive de esta compañía se revelarán aún más. En realidad no


Me sorprendió completamente cómo algo corporativo logró presentar a los cachorros en una luz negativa, e incluso alguien lo convenció. ¡Los cachorros son las criaturas más limpias de la Tierra y viven una alegría esponjosa! Rayos de luz en un mundo solitario. Pero vayamos al grano.


Comentario Los cachorros no pueden mantenerse limpios y comer solos.


Muchas compañías han seguido esta estrategia de "contratar solo personas mayores". Lo justifican de esta manera:


  • No tenemos tiempo ni recursos para contratar programadores junior; Nos estamos desarrollando demasiado rápido.
  • Nuestra empresa puede pagar personas mayores, por lo que no hay necesidad de joons.
  • En la etapa actual, no podemos permitirnos errores. Las apuestas son demasiado altas.
  • Nuestro proceso proporciona a los empleados una mayor autonomía. No estamos listos para sujetar a los jones por el mango, ya que lo necesitan.
  • Queremos sentar las bases para el producto antes de comenzar a contratar empleados sin experiencia.

El mensaje es que los programadores junior representan un riesgo, un paso que la empresa da ya sea por un sentido de deuda pública o por falta de presupuesto.


Comentario Siempre fue interesante qué dedo chupaba lo que no estaba en la frase original. ¿Dónde estaba la deuda y el presupuesto? Estamos hablando de la distracción de los desarrolladores senior: en lugar de crear un producto, capacitarán (revisar, explicar, guiar, corregir, etc.) desarrolladores junior. Es decir estúpidamente ahorrando tiempo para desarrolladores senior.


Resulta que otras compañías deben ser capaces de pagar la caridad corporativa y resultados de segunda categoría, pero ciertamente no nosotros.


Comentario No es el hecho de que otros también puedan pagar. Simplemente piensan que pueden. Después de todo, nadie ha realizado experimentos, al menos no he oído hablar de ellos.


Por cierto, en los EE. UU. Hay más de 100,000 empresas de TI, y no escuché algo para que al menos un CEO dijera "¡piensen, errores!" o "sería necesario reducir el presupuesto adicional en alguna parte". ¡Atención, organizaciones, donde "la entrada está prohibida para junio"! No importa cómo veas tus beneficios, no importa cómo justifiques el truco de tu vida, la realidad es que inventaste todo esto por ti mismo. No hay una ventaja competitiva en deshacerse de junio. Y acabas de mostrarle al mundo tu gestión de problemas.


Comentario Hasta ahora, no hay evidencia de que estas 100,000 compañías de TI representen un entorno de desarrollo eficiente, más eficiente que Netflix. Todo esto es malabares con la especulación y las emociones.


La hostilidad hacia los desarrolladores junior es una forma fácil de detectar una cultura empresarial tóxica.
- April Wensel (@aprilwensel) 1 de agosto de 2017

La hostilidad hacia los programadores más jóvenes es una clara señal de una cultura corporativa tóxica.

Comentario ¿Dónde está la hostilidad? Nadie dice que los jóvenes son enemigos. Simplemente no son contratados. Y todavía no contratar, por ejemplo, cerrajeros y artistas. Mostrar hostilidad también? Esto se llama "sustitución de conceptos".


La forma en que contrata y maneja a los programadores junior es un indicador indirecto importante de la salud de su organización, su línea de productos y su cultura interna. Las personas mayores prestan atención a esto. Y si esto por sí solo no suena lo suficientemente convincente, la contratación de un número equilibrado de programadores junior también proporciona beneficios financieros.


Comentario Apliquemos esta lógica a los bibliotecarios que no son contratados, y comprendamos lo absurdo del razonamiento lógico.


Prevencion de problemas


Si rechaza a los programadores junior porque “crean problemas”, también envía automáticamente un mensaje importante a sus empleados sobre la cultura corporativa: no se permiten errores. Usted crea una imagen de una compañía que despide a alguien cada vez que el servidor deja de funcionar. No importa cuánto pague, nadie quiere trabajar en un entorno que no le dé confianza en el futuro. E intenta intimidar a los programadores para que no cometan errores, multiplica una cultura de miedo y amenazas, que afecta catastróficamente la salud psicológica y la productividad.


Comentario Otra estupidez lógica. Todos están equivocados. Solo un idiota puede decir lo contrario. La única pregunta es quién los hace más y quién puede corregirlos lo antes posible. Y luego también para prevenirlos en el futuro. Por lo tanto, las preguntas sobre los "mensajes" dejan en la conciencia de los inventores. Por el hecho de que alguien no es contratado, no se sigue en absoluto, por lo que las personas son despedidas. Bueno, los pasajes sobre intimidación, salud psicológica y más son simplemente desconcertantes.


Puede argumentar que esta actitud alienta a los programadores a ser cautelosos y crear procesos que protejan contra errores: por ejemplo, pruebas automáticas, control de calidad, conmutación por error, protección de acceso y cambios de código reversibles. Pero esta teoría pone el carro delante del caballo. Si la política de la compañía fomenta la creación de dicho seguro y la compañía misma proporciona a los programadores suficiente tiempo y recursos para esto, entonces una cultura de inadmisibilidad de errores no es necesaria e inútil; La mayoría de los problemas se detectarán mucho antes de la producción. Y cada programador, ya sea junior o senior, prefiere un entorno donde los procesos confiables protejan contra errores catastróficos.


Comentario Basado en premisas erróneas, puede obtener consecuencias terriblemente arbitrarias.


¿Y qué hay de los errores que rompen todos los setos establecidos? Piense en ellos como valiosas oportunidades para fortalecer su defensa. Debe reconocerse que los programadores más jóvenes, por lo general, abren esas oportunidades más rápido que los adultos mayores. Entonces la pregunta es: ¿preferirías depurar tus procesos tarde o temprano? "Nunca" es bueno, como lo confirmará cualquier programador experimentado. Si algo puede salir mal, tarde o temprano se irá. Ningún stock de experiencia evitará el error humano.


Comentario Sí, llevemos al mono al reactor nuclear y veamos qué tan confiables son los sistemas de seguridad. Bueno, para abrir rápidamente la defensa. Ya estoy empezando a preocuparme por las habilidades mentales del autor.


Por supuesto, necesitará algunos programadores senior y líderes de operaciones para sentar las bases y crear precedentes para el ciclo de desarrollo de conmutación por error. Nadie ofrece contratar solo programadores junior. Pero si su oficina se toma muy en serio los errores, en otras palabras, los errores se detectan temprano y con frecuencia, entonces los programadores más jóvenes serán útiles. Y todos los niveles de programadores estarán más satisfechos con su trabajo, ya que la tolerancia a fallas los libera para crear un buen software (en lugar de extinguir incendios constantemente) y protege sus tardes y fines de semana.


Comentario No se trata del miedo a los errores; se trata de la eficiencia y la productividad. El autor repite esta falsa construcción de vez en cuando, demostrando que todo está mal. Todo está mal, sí, pero solo con las premisas originales.


Ahorrar dinero


Según Indeed, el ingeniero de software junior promedio recibe $ 55,394 al año, mientras que el ingeniero de software senior recibe $ 117,374 al año. Las personas mayores son más del doble de caras que el mes de junio.


Estos costos a menudo están justificados. Se espera una mayor productividad de los programadores mayores que de los más jóvenes.


Comentario Se sabe que la diferencia en productividad entre diferentes programadores puede llegar hasta 25 veces. Por lo tanto, 2 veces casi cualquier cosa.


Pero este no es el final de la imagen, y obtendrá un centavo por la justificación irreflexiva y perezosa del aumento de los costos como los costos de hacer negocios.


Comentario Incluso si contrata conserjes para la programación, incluidos los desarrolladores junior, esto siempre es cierto, independientemente.


No todo el código de aplicación requiere muchos años de experiencia para escribir o incluso para un trabajo bien hecho. Cada programa tiene un "pegamento de software" que conecta las diferentes entradas y salidas de una manera completamente normal. De hecho, no importa quién lo escriba. Puede pagar $ 28 por hora por escribir este código, o puede pagar $ 59 por hora por escribir el mismo código. De una forma u otra, el resultado no será muy diferente. Si contrata solo a personas mayores, entonces paga exorbitantemente por una cantidad sustancial de trabajo simple.


Comentario Si una cantidad significativa de trabajo en la empresa es bastante trivial, entonces sí. Pero es poco probable que la empresa pueda considerarse de alta tecnología. La complejidad de la infraestructura establece una barrera inicial seria que un desarrollador junior puede no ser capaz de hacer frente (o hacer frente).


Además, la base del código varía ampliamente entre las aplicaciones, y la familiaridad con este es un factor clave en la productividad. En la mayoría de los casos, un programador junior que ha trabajado en un equipo durante seis meses será más eficiente para hacer frente a las tareas que un programador senior recién contratado, simplemente por el grado de familiaridad con la lógica del proyecto.


Comentario Depende de la complejidad del proyecto. Sucede que es más fácil despedir y contratar a un buen especialista que esperar a que el "junior" comience a embotar el proyecto.


El pegamento de software mencionado anteriormente y el código específico de dominio comprenden al menos la mitad de todo el desarrollo. El resto es el código que realmente necesita la atención de un especialista senior con beneficio para el resultado. Pero incluso con este código, un programador junior puede hacer un trabajo increíble con suficiente acceso a los recursos educativos y al asesoramiento de un mentor experimentado.


Comentario Sucede que los hongos crecen en la luna. Los argumentos al estilo de "tal vez sí", por supuesto, pueden llevarse a cabo, pero no veo ninguna razón para esto.


En vista de esto, un par de programadores junior y senior generalmente trabajan con la efectividad de dos programadores senior y por menos del 75% del costo. Si su objetivo es la productividad máxima a un costo mínimo, ese par de junio + Senior debe convertirse en la molécula fundamental de su organización.


Comentario O tal vez no.


Vale la pena señalar un factor más, inconmensurable: la tendencia de los programadores senior a debates constantes sobre temas que en última instancia son insignificantes: sobre algoritmos, microoptimizaciones y estilo de código. Si la compañía solo contrata a personas de la tercera edad y no tiene un proceso riguroso de toma de decisiones, entonces cientos de horas de trabajo pueden ir a tales disputas. Los desarrolladores junior generalmente se ven privados de tal problema.


Comentario Los programadores senior no triturarán el agua en el mortero, pero harán el trabajo. Por eso son mayores. De lo contrario, tengo malas noticias para usted: sus programadores senior fingen que son senior, es mejor que contrate a más "juniors" para pagarles menos salario, porque No habrá diferencia entre ellos.


Desarrollo profesional


Si no contrata programadores junior, envíe otro mensaje al personal: no sabe cómo funciona el desarrollo profesional.


A veces, cuando las empresas dicen que no están contratando desarrolladores junior, quiero sacudirlos por sus sudaderas y gritarles, ¿de dónde creen que provienen los desarrolladores senior?
- Kate Heddleston (@ heddle317) 13 de septiembre de 2018

A veces, cuando las empresas dicen que no contratan programadores junior, quiero agarrarlos por los senos y gritar: ¿de dónde creen que provienen los programadores senior?

Comentario Si la empresa no tiene desarrolladores junior, ¿cómo se les puede enviar una señal? En este caso, puede enviar una señal solo afuera. El autor tiene numerosos problemas para recibir e interpretar la señal. Por alguna razón, recibo una señal como esta: "especialistas geniales trabajarán junto a usted, podrá aprender mucho y no necesitará explicar lo obvio".


Una vez más, no se trata de cumplir con la deuda cívica corporativa y no de "participar en el desarrollo" de la comunidad de TI. Se trata de convertir su empresa en un lugar de trabajo decente donde los programadores deseen establecerse y permanecer lo suficiente como para hacer una contribución tangible.


Comentario Sin un bazar. Solo para!


Oí de los programadores: “Cansado de cambiar los títulos de los trabajos. Solo quiero seguir siendo un programador senior para siempre ”. Sin embargo, nadie me ha dicho aún: "Espero no recibir nunca un aumento de sueldo, no aprenderé nada nuevo y no seré reconocido por mis servicios". Y, curiosamente, los recursos necesarios para apoyar tanto a los profesionales ambiciosos como a los programadores asiduos, pero entusiastas, son casi lo mismo. Necesitamos formas de cambiar y reconocer un trabajo bien hecho, una cantidad suficiente de recursos educativos y una variedad de proyectos de diferentes edades en la línea de desarrollo. Necesita crear una sensación de desarrollo, incluso para aquellos que no están interesados ​​en la promoción.


Comentario Un programador senior es el comienzo de un largo viaje. Y entre ellos también hay gradaciones. En cualquier proyecto complejo, se desarrollará un programador senior. En el desarrollo moderno, prácticamente no hay techo en el desarrollo.


Pero no encierres a estos tipos. Su minoría La mayoría de los trabajadores de TI no van a ser programadores senior durante 40 años. Sueñan con convertirse en arquitectos de software, líderes de equipo, directores técnicos y fundadores de estudios. Y una empresa que se jacta de su indiferencia hacia el crecimiento profesional se encontrará al final de la lista de empleadores prometedores.


Comentario "Se encuentra al final de la lista": ¿se trata de Netflix? Netflix encabezó una nueva lista de "Los 50 mejores lugares para trabajar para nuevos papás", con varias otras empresas de tecnología de Silicon Valley que llegaron a la alineación y ofrecieron una dura competencia para atraer a los padres que trabajan .


Solo recluto desarrolladores senior.

El truco es que recluto a algunos de ellos antes en su carrera.
- Reginald Braithwaite (@raganwald) 17 de septiembre de 2018

Solo contrato a programadores senior.
El truco es que contrato a algunos de ellos al comienzo de mi carrera.

Comentario Este es el truco más asombroso. Y solo estoy por eso. Estas personas realmente deciden y pueden hacer mucho por la empresa. Sin embargo, hay un pequeño problema: ¿cómo encontrarlos? Está aproximadamente claro cómo ver al "senior" en el programador: la cantidad de conocimiento que tiene disponible. En un programador principiante prometedor, debe mirar dentro de la bola de cristal y ver el futuro. No he visto que un enfoque así se adapte bien y funcione dentro de una gran empresa. Esto siempre es un riesgo y puede entrar fácilmente en la leche.


Una de las frases más impresionantes que un programador puede escuchar en la entrevista es "Hola, soy un líder de equipo, trabajé aquí durante ocho años, comenzando con el interno". Muy impresionante y muy raro. Esa persona es extremadamente importante para la empresa: sabe todo sobre la línea de productos, vio el código de todos los proyectos en un radio de cien metros y trabajó con todos los empleados de la empresa. Es capaz de ofrecer innovaciones dentro de la empresa como ninguna otra. Y la compañía obtiene innumerables dividendos del trabajo de esta persona, porque pudo entender cómo mantener su interés durante ocho años, aproximadamente 1/10 de la esperanza de vida promedio. Este es un testimonio del éxito de la cultura corporativa. Esta es una señal de una oficina en la que reina el espíritu de lucha, en el que el reconocimiento encuentra un trabajo bien hecho, y proyectos interesantes están esperando en cada esquina.


Comentario Una de las frases más impresionantes es "pagamos un salario increíble, tú mismo construyes el proyecto desde cero, invitas a las personas adecuadas y usas las herramientas que quieras". Wow, eso es genial. Pero esto es del reino de la ficción. Como lo que escribió el autor.


Afirmar que "no contratamos a June" es, por el contrario, una admisión abierta de que la compañía no está lista para desempeñar un papel en la carrera de nadie. Esto es en realidad una demostración de estancamiento: la compañía quiere atraer programadores experimentados y talentosos que harán su contribución en aras de un solo salario. Algunos aceptarán tales condiciones, pero no verá su mejor trabajo.


Comentario Reclamar "Reclamar" no contratamos a Jones "es, por el contrario, una admisión abierta de que la compañía no está lista para desempeñar un papel en la carrera de nadie". - Esta es una admisión abierta de que el autor tiene problemas con las cadenas y relaciones lógicas.


Sin embargo, si su empresa se toma realmente en serio el crecimiento profesional, entonces una restricción artificial sobre los programadores junior solo reduce la línea de pago de la contratación y acorta el tiempo de los empleados en su empresa.


Comentario Me pregunto por qué Google y Facebook tienen una barra alta. Probablemente "reducen el flujo (?) De contratación y acortan el tiempo de los empleados en la empresa".


Escribir un excelente software


Los programadores junior tienen una serie de rasgos únicos que sus colegas más experimentados suelen perder. Uno de ellos es el optimismo claro. Otra es la voluntad de seguir al líder. Pero quizás la característica más importante que ofrecen los programadores junior es la falta de equipaje. Los programadores senior vieron el auge y el declive de la tecnología, los fracasos de proyectos, los equipos desgarrados por conflictos internos y otros aspectos de la vida de la industria de TI. Han acumulado fuertes creencias y a menudo sacan conclusiones de largo alcance, lo que sugiere que un escenario de éxito (o fracaso) se desarrollará de la misma manera para otro proyecto o equipo. Lo que puede conducir a la falta de voluntad para comprender los matices de un nuevo campo de problemas.


Comentario Ya sea un negocio junior. Puede revelar una tonelada de código inactivo con optimismo ordenado y falta de equipaje sin conclusiones de largo alcance. Solo un sueño!


Las empresas tan ansiosas por contratar solo personas mayores a menudo olvidan que desaprender lo que no aplica puede llevar más tiempo que aprender lo que sí aplica.
- DHH (dhh) 31 de julio de 2017

, , , — , .

. ( ), . , .


- — « , , , , ». — , : , , . , , , , . , . ; , ; , . , .


. . . , .


, , - . — , — , .


. , . Borland.


, , : , , .


. , . , : , .. , . . , , .


One underrated programmer attribute is the ability to write code that average or mediocre engineers can easily read, modify, and extend.
— Jamon Holmgren (@jamonholmgren) 17 2018 .

— , , .

. !


« » «», . — . , .


. , . Es decir , , , ? - , . , , . Es decir , .


: IT « » . , , . , - .


. : , , .


— , , — , . , , . . , , . — .


. , — .




Conclusiones


— . — . , , , .. , .


, - — . . — .


. - . . , , . .


, . . , , Netflix , , , .


PS , ?

Source: https://habr.com/ru/post/es425413/


All Articles