Elegir entre dos programadores: experiencia versus pasión [cerrado]


82

Estoy en una posición en la que tengo que contratar a un programador y tengo la opción de 2 candidatos, el primero tiene experiencia pero no tiene pasión por la codificación y lo dice, mientras que el segundo no tiene la experiencia pero tiene La pasión, le fue bien en la entrevista y está certificado.

Tenemos los recursos para capacitar a alguien, pero realmente no quiero arruinar este proceso y contratar a alguien que será decepcionante. ¿Alguien puede ayudarme a abordar esta situación?


66
Ojalá fuera "hábil contra pasión"
iamgopal

32
-1 al entrevistado que admite no tener pasión por el trabajo para el que está entrevistando.
Wonko the Sane

1
Por favor elabora. La pasión es una palabra cargada en este uso. Tampoco está claro si la pasión por la codificación significa estrictamente para la fase de codificación del desarrollo o la abreviatura para el desarrollo de software. ¿Que necesitas? ¿Lograr objetivos a corto plazo es lo más importante?
mctylr

44
¿Y si él mintió sobre la pasión o simplemente estaba actuando?
Lukasz Madon

8
+1 al entrevistado que admite no tener pasión por el trabajo para el que está entrevistando, al menos es lo suficientemente honesto.
Sarawut Positwinyu

Respuestas:


156

Contrata al programador inexperto apasionado por el oficio. Un programador apasionado aprenderá rápidamente, se preocupará por su trabajo y disfrutará haciéndolo. He trabajado con ambos tipos de programadores y siempre contrataría al tipo apasionado sobre el experimentado.

Las personas que no se preocupan por su trabajo eventualmente conducen a problemas en la calidad, así como en el cumplimiento de los plazos.

Dado que declaras explícitamente que tienes los recursos para entrenar a alguien, esto es obvio. Contrata al programador apasionado.


66
+1 ... al menos el apasionado no tiene una razón para irse ... a menos que sea demasiado apasionado.
Trabajo

10
+1 Hay un dicho ... "ese tipo tiene 1 años de experiencia 7 veces". Un caso claro en el que la experiencia (de algún tipo) realmente no funciona para usted.
rapid_now

14
Además de eso, muchos programadores "experimentados" son solo personas que han existido durante mucho tiempo, no es que sean buenos: p
Philippe

3
+1 Cada vez. Es mucho más fácil ganar experiencia que restaurar la pasión y no necesitas un "sumidero de pasión" en ningún equipo.
John Parker

55
Es cierto, con una advertencia. Un programador apasionado puede aprender rápidamente. A veces, desafortunadamente, algunas personas "simplemente no lo entienden".
Wonko el sano el

117

Si bien nadie que publique aquí está en condiciones de decirle cuál contratar, me gustaría ofrecer un pequeño contrapunto a los procedimientos ...

Uno de nuestros nuevos titulares más recientes es la imagen absoluta de la experiencia profesional .

A las 9, a las 5, una hora para el almuerzo. Sin tardes, sin fines de semana.

Lo que probablemente suena terrible para la mayoría de las personas que han respondido hasta ahora.

Sin embargo, su código no solo es mejor (limpio, conciso, modelado, comprensible, mantenible, prueba, ¡ a tiempo! ) Que la mayoría de cualquier otro miembro del equipo, sino que también es una excelente caja de resonancia para los desarrolladores apasionados cuando piensan que están a punto de hacerlo. Resolver todos nuestros problemas es un solo despliegue, una fuente de conocimiento y una cordura de voz que nos salva de nosotros mismos.

Él sabe cómo rechazar la gestión agresiva. Puede ver el telescopio deslizándose una milla más adelante. Escribe más pruebas unitarias que nadie. Él no b * tch y gemir cuando se le agrupa con una tarea aburrida, y probablemente todavía estará aquí dentro de 5 años.

( Para agregar a mi primera respuesta )

¿Cómo sabes que el tipo apasionado es apasionado aparte del hecho que te dijo?

Podría estar haciendo su mejor cara porque necesita desesperadamente el trabajo, la gente dirá casi cualquier cosa para conseguir un trabajo en este momento.

Puede pensar que le apasiona la codificación, pero el brillo comenzará a empañarse cuando se dé cuenta de que el 99% de nosotros no escribimos código sexy .

La experiencia es cuantificable y demostrable.

La experiencia lo sabe día a día, la mayoría de nosotros trabajamos en sistemas no sexys y códigos heredados sucios. Y la experiencia muestra que todavía pueden arrastrarse fuera de la cama por la mañana para lidiar con eso.

Quisiera reiterar que no le estoy diciendo a nadie a quién contratar. No creo que la experiencia sea mejor que la pasión o viceversa. No estoy muy decepcionado con las personas apasionadas por la codificación, pero me preocupa un poco ver la falta de equilibrio que se presenta aquí. Todas las otras respuestas más votadas aquí tienen argumentos válidos muy buenos (Matthew Kubicina, Usuario 9094, Otávio Décio, Bernard Dy) y las he votado como tales, incluso si tengo reservas sobre algunas de sus opiniones.


77
+1 Dicho esto, parece que la persona en cuestión es muy apasionada por la codificación. (No creo que haya ninguna división profesional / apasionada, en ese sentido.)
John Parker

99
No pasa su tiempo libre escribiendo código. No se une a los argumentos sobre la opinión de diferentes bloggers sobre la última moda de codificación. Siempre le dice a la gente que deje de intentar complicarlo tanto. No es un nerd y el trabajo no es su prioridad número uno en la vida. Entonces, ¿cómo ves a un "somewhat" passionate programmer? ¿Elegir un título y una carrera en programación no sugiere cierta pasión? El hecho de que el candidato no se identifique como un fanático ninja-súper-nerd que se va a StackOverflow, ¿no significa que no es un geek total que tiene una vida fuera de la oficina y? ...
gingerbreadboy

44
Sin embargo, sí mencioné la captura In at 9, out at 5, one hour for lunch. No lates, no weekends.. Además, ¿alguien que escribe clean, concise, patterned, understandable, maintainable, testable, on timecódigo es realmente demasiado bueno para ser verdad? O simplemente experimentado y profesional?
gingerbreadboy

15
El 9-5 puede ser experiencia hablando también. Al establecer la ley, obliga a la administración a planificar en consecuencia y no tratar de exceder el tiempo. Las horas extras tienen una forma de convertirse en un hábito.
MIA

32
¡+1 para el chico 9-5! No subestimes al programador que simplemente comienza a trabajar en silencio y produce excelentes resultados. Lamentablemente, la gerencia tiende a pasar por alto a estas personas para aquellos que gritan más fuerte. En nuestro lugar, pasar una semana vencida y luego proclamar lo duro que has trabajado para terminarlo tiende a ser notado más que solo hacerlo a tiempo en primer lugar.
Qwerky

50

Yo diría que depende del resto del equipo :

  • si ya tienes muchos programadores experimentados, elige el apasionado

  • si, por otro lado, solo tiene uno o dos programadores experimentados más muchos estudiantes / mano de obra barata con poca experiencia pero eso no cuesta mucho, entonces el experimentado será más útil.


13
A menos que el Sr. Experimentado esté aburrido, en su camino o perturbador. En cuyo caso tienes un desastre en tus manos. He visto casos de personas con experiencia que tienen tanta experiencia que su camino es el único y VERDADERO EN LA MANERA CORRECTA, por lo que se niegan a trabajar según los estándares de la empresa, no están de acuerdo con la estrategia, se quejan de la gestión ... y se vuelven corrosivos. La pasión puede ser destruida, pero también es (si se aprovecha) una fuerza poderosa para el entusiasmo y cortar la basura.
rapid_now

2
Concuerdo completamente. Estaba a punto de escribir una publicación sobre la importancia de la experiencia. Un montón de entrenamiento instantáneo no puede sustituir a 5-10 años (o más) de experiencia. Todo se reduce a que el programador experimentado comience a ver todas las trampas de inmediato. Además, veo que los programadores inexpertos tienen una mayor tendencia a crear soluciones mucho más complejas. Entonces, si aún no tiene ese nivel de experiencia en el equipo de desarrollo, ¡consígalo!
Pete

1
+1 ESTO. Como puede ver en otras respuestas, hay razones para elegir de cualquier manera. Por lo tanto, elija el que mejor complemente a su equipo existente y proporcione algo que no tiene mucho.
BlairHippo

20

"Experimentado" no necesariamente significa "atrapado en sus caminos"

Como desarrollador experimentado de nivel medio (no tengo 40), estoy un poco alarmado porque la gran mayoría de las respuestas aquí parecen implicar que alguien que "ha estado allí, hecho eso" no sabe cómo hacerlo. mantenerse al día con los jóvenes. Es una suposición injusta y peligrosa de hacer.

Me interesaría saber lo que realmente dijo el tipo experimentado. Si él dijo "No tengo pasión por la codificación", entonces sí, probablemente no lo consideraría, de la misma manera que probablemente no consideraría a un vegetariano como un carnicero. Sin embargo, si sus respuestas a "qué haces en tu tiempo libre" no se referían a la codificación y el entrevistador implicaba que eso significaba que no tenía pasión por la codificación, es algo completamente distinto.

Tenga en cuenta que no estoy diciendo que deba contratar al tipo experimentado o al tipo apasionado. No entrevisté a ninguno de los dos, y no tengo idea de la cultura de su empresa.

De Dictionary.com:
ex · pe · ri · enced / ɪkˈspɪəriənst / Show Spelt [ik-speer-ee-uhnst] –adjetivo

  1. sabio o hábil en un campo particular a través de la experiencia: un maestro experimentado.
  2. habiendo aprendido a través de la experiencia; enseñado por la experiencia: experimentado a través de la adversidad.
  3. soportado experimentado sufrió: desgracias experimentadas.
    Origen: 1560–70; experiencia + -ed2

—Formas relacionadas no · ex · pe · ri · enced, adjetivo qua · si-ex · pe · ri · enced, adjetivo un · ex · pe · ri · enced, adjetivo bien-ex · pe · ri · enced, adjetivo

—Sinónimos 1. experto, experto, practicado, veterano, consumado, versado, experto, calificado.


77
Como un veterano de la industria de cerca de 40 años que rara vez juega con el código en su tiempo libre a menos que tenga un problema muy específico que resolver, gracias. No necesita llevarse este trabajo a casa para ser bueno en él.
BlairHippo

Hay una diferencia entre equilibrar el trabajo y la vida hogareña y ser apático, con poca energía y sofocado. No creo que nadie estuviera dando a entender que la experiencia fue mala, solo que la experiencia sin conducir es básicamente como un muscle car súper rápido sin una estación de servicio.
jmort253


11

Debe contratar al que identifique que tiene el mayor interés en abordar las necesidades de su empresa por encima de todo. He visto casos en los que se contrató a un desarrollador muy bueno y apasionado solo para terminar rápidamente lo que tenía que hacer por el empleador que paga y apresurarse a ocuparse de su propio negocio.


Explique por favor: ¿qué quiso decir con "cuidar de su propio negocio"?
Trabajo

1
@Job: Asumiría que trabajaría en su propia agenda y haría el trabajo de "zona gris", es decir, no está explícitamente recomendado ni prohibido. Esto podría ser una buena bendición para un proyecto con muchos agujeros y partes podridas, pero generalmente interrumpe el cronograma / hoja de ruta, al menos a corto plazo.
Macke

9

El consultor de gestión de TI Paul Glen escribió sobre el concepto de pasión en el lugar de trabajo en este ensayo para Computerworld . Puede que le resulte una perspectiva interesante, aunque no estoy de acuerdo con la afirmación implícita de Glen de que la pasión y la estabilidad son mutuamente excluyentes. Creo que puedes tener ambos. Le sugiero que también explore los comentarios que siguen al artículo; Algunas personas tenían otras ideas.

Dicho esto, en su caso, parece ser una elección entre los dos. Pero califiquemos lo que quieres decir cuando dices "pasión".

Cuando el tipo experimentado dice que no es un apasionado, ¿es que no le importa la calidad del trabajo, o que la programación simplemente no es su primer amor (tal vez tiene una familia? Un interés de toda la vida en los autos o la música o ¿elaboración de cerveza casera?). Realmente, si un chico experimentado no es un apasionado de aprender tres nuevos idiomas más allá de lo que ya sabe, pero sigue con sus principales idiomas, herramientas y demás, y también el hogar prepara algunas cervezas, creo que puedo vivir con eso.

Pero si el tipo experimentado es un desarrollador terrible y no le importa mejorar, entonces no lo llamaría sin pasión, lo llamaría poco profesional. Pulgares abajo en ese caso.


EDITAR: Después de leer algunas respuestas más, pensé que agregaría un poco. Creo que la dificultad está en los parámetros de la pregunta de OP: no sabemos cuál de los dos desarrolladores es competente . Estamos enfocados en evaluar dos rasgos aparentemente en desacuerdo, aunque como mencioné anteriormente, creo que puedes tener experiencia y pasión. Sin embargo, ambos pueden ser cosas malas también.

Una vez trabajé con un tipo experimentado que era inteligente, pero que también había pasado la mayor parte de su vida desarrollándose en el vacío. Pasé tanto tiempo discutiendo con él como haciendo cualquier trabajo. Era experimentado y apasionado, pero ninguno realmente ayudó a mi equipo.


3
Sí, me encanta mi trabajo, pero no soy lo suficientemente "apasionado" como para atraer repetidas noches solo porque algún gerente no ha actuado bien.
Benjol

1
Excelentes puntos, especialmente (IMO) en la edición. Para continuar por el mismo camino, sin duda es posible apasionarse por la codificación, pero aún apestar. También he trabajado con esos tipos.
Wonko el sano el

5

Si lees Code Complete sabrás que:

La experiencia no importa tanto como piensas

Esto se debe a que incluso lo básico cambia constantemente en el campo del software , esto significa que el tipo experimentado está atrapado en sus viejas costumbres y no está interesado en aprender cosas nuevas, año tras año.

El chico apasionado seguramente hará esto, incluso en su propio tiempo. Contrataría pasión por experiencia cada vez


Bingo. Conozco a muchos desarrolladores "experimentados" que conocen un idioma, en el que trabajan en este momento , y una tecnología para esto y otra para eso ... los que están usando. Nada más. Y nada más les interesa.
Jürgen A. Erhard

2
De Verdad? La comunidad SO no pudo encontrar una invención importante desde 1980 que afectara los conceptos básicos del software, al menos en mi humilde opinión. Se supone que Alan Kay tiene una cita a este efecto.
justkt

1
@Jae Superficialmente, entiendo y estoy de acuerdo con usted. Pero también conozco algunos desarrolladores que conocen varios idiomas y codifican de la misma manera en todos ellos: mal. Creo que la clave es la competencia, ya que la experiencia y la pasión pueden tener lados buenos y malos. Si los desarrolladores de un equipo son competentes, la experiencia y la pasión son rasgos secundarios que simplemente agregan textura a la composición del equipo.
Bernard Dy

No hay mucho en la programación principal que no se conocía en el mundo académico hace 20 años. Con una educación adecuada, uno no tiene que probar cosas en su tiempo libre.
Sjoerd

@Sjoerd LINQ: ¿hace 20 años? Puede que sepan cosas en teoría, pero todos sabemos que la práctica es muy diferente
Billy.bob

3

Ninguno

Nunca contrataría a nadie que no sea un apasionado de su trabajo a menos que fuera una tarea bastante servil y tal vez ni siquiera entonces. Normalmente no tener pasión significa que ellos

1) no están disfrutando lo que hacen:

2) están gastando la cantidad mínima si el tiempo lo requiere, también conocido como "Es solo un ob"

3) Le están quitando la atmósfera a su equipo / empresa en lugar de agregarle

Por otro lado, la experiencia es de vital importancia para los programadores, un novato apasionado podría pasar las 10 000 horas de experiencia necesarias para convertirse en un experto más rápido sacrificando su "vida" y otros pasatiempos, pero aún le tomará un par de años

Como la experiencia vale tanto, apenas se compensa económicamente con un salario marginalmente más bajo. Así que yo diría que tampoco, ve con alguien con experiencia decente, al menos apasionado. Los más jóvenes (porque no tienen hijos y esposas molestos) y más apasionados son la menor experiencia que puede exigir :)


3
Eso es un policía fuera.
dan_waterworth

Basado en ese argumento, ningún principiante sería contratado. No puedes obtener experiencia a menos que tengas un trabajo.
Konrad Rudolph

solo si descontas las malas prácticas de contratación, y eso es un gran si;) Sin embargo, hay algunos proyectos en los que realmente necesitas muchos programadores (incluso si se topan con la ley de Brooks) en los que podrías meter a nuevos principiantes. Los principiantes / nuevos graduados también tienen un gran beneficio, ya que puedes ejecutarlos en el suelo trabajando día y noche en tu pequeña burbuja de empresa antes de que crezcan, se conozcan mejor y sigan adelante. Esa parece haber sido la estrategia de Microsofts al menos en los primeros días.
Homde

1
Entonces, ¿cómo es ser un bastardo cínico? ;-)
Jürgen A. Erhard

Oye, no es que yo haría algo así: P Pero es bueno saber "prácticas" de negocios como ese para evitar enamorarse de ellos. Esperemos que la mayoría tenga el sentido suficiente para no emplearlos. Además, personalmente creo que contratar a menos programadores pero más calificados y muy gratificantes tiene mucho más sentido comercial y es más agradable para todos.
Homde

2

Respuesta simple Ve por una apasionada

Él / Ella pondrá su pasión por mejorar las cosas y codificará durante mucho tiempo


... o hasta que las largas horas de ser "apasionado" por el oficio conducen al agotamiento temprano. Lo que ocurra antes.
Wonko el sano

1

es fácil mezclar pasión por el código versus pasión por conseguir un trabajo (o pasión por obtener un cheque mensual).

Además, es fácil de mezclar experiencia con años de uso de un cubículo.

De todos modos, un programador con experiencia real puede hacer de x2 a x10 que un novato, sin importar si el novato tiene pasión o no.

Por el contrario, un novato puede pasar mucho tiempo haciendo preguntas estúpidas, recuerde, la mayoría de los programadores son evaluados por su trabajo, no por enseñar a otros.


1

Parece que podría necesitar más información para tomar una decisión. Como parte de su proceso de entrevista, ¿hizo que los candidatos diseñaran o escribieran algún código? Si no, tal vez ese sea tu próximo paso. Piense en un problema simple en el que puedan trabajar y póngalos en esa tarea por un corto período de tiempo.

Revise su trabajo con ellos más adelante en la entrevista. Vea qué tan bien pueden explicar su solución. Enséñeles a ver si pueden pensar en formas de mejorar lo que ya han entregado.

En mi experiencia, someter a los desarrolladores a una 'audición' como esta ha sido la mejor manera de identificar a los candidatos que realmente valen la pena contratar.


1

La pasión no siempre se traduce en habilidades. A veces pasión == arrogancia e inflexibilidad.

La experiencia no siempre se traduce en habilidades. A veces experimenta == arrogancia e inflexibilidad.

En pocas palabras: contratar a la mejor persona para el trabajo dado . Esto incluye pasión, experiencia, habilidades, personalidad, confiabilidad y no olvide la tenacidad.


0

Al final del día, la experiencia no significa nada sin pasión. Una persona experimentada y sin pasión nunca va a estar a la altura de su máximo potencial, y no va a mejorar sus habilidades. Lo que ves es lo que obtienes, final de la historia.

La pasión es un combustible ardiente que puede convertir la inexperiencia en experiencia. La pasión puede ayudar a resolver problemas que los experimentados dicen que no tienen solución. Las personas apasionadas siempre buscarán mejorar. Las personas apasionadas no se rinden.

Las personas experimentadas que se han rendido son como el personaje de Gene Wilder en Blazing Saddles. Tenía todo este reconocimiento como el arma más rápida del oeste, pero toda esa experiencia no significaba absolutamente nada, ya que ya no podía mantener su arma firme para disparar directamente.

Una persona experimentada que no puede mantenerse firme cuando llega el momento de superar a la competencia solo se convertirá en una responsabilidad.

Ve con la persona apasionada o continúa entrevistando a más candidatos hasta que encuentres la combinación correcta de fuego y sabiduría.


0

Siento que si descubriste que en una entrevista, el candidato con experiencia se desempeñó técnicamente bien y también le encanta codificar. Por lo tanto, será más productivo para su organización después de un tiempo si se capacita adecuadamente en comparación con el candidato experimentado.

Si quiere comer, pruebe menos alimentos cocinados por otra persona, a sabiendas. Finalmente la elección es tuya.


0

Wow, muchachos, esto ha provocado mucho debate al final. Decidí darle una oportunidad al novato y hasta ahora tiene una gran promesa, hasta el punto de que estoy tan preocupado de que tal vez esté trabajando tan duro que se queme.

Al final, les di una simple tarea de programación de 10 minutos y discutí cómo llegaron a su solución y otras posibles soluciones, los pros y los contras, y sentí que el novato parecía tener una buena comprensión. Así que al final leí muchos artículos, pero sentí que el joven era una buena opción.

La experiencia no tiene nada de malo, pero muchos programadores van a trabajar y pasan el tiempo soñando despiertos. No tiene que codificar en su tiempo libre, muchos de nosotros lo hacemos, pero no es obligatorio. Un programador competente debería pasar sus 40 horas en el trabajo cada semana resolviendo problemas y manteniéndose actualizado con sus herramientas. Sin embargo, la verdad es que la división entre programadores excelentes y promedio existe porque en esta profesión un individuo puede simplemente costear y ser un astronauta arquitectónico.

Muchas gracias a todos


44
Me gusta cómo respondes tu propia pregunta (o en realidad no) y luego la aceptas.
Pemdas

0

La OMI depende de por qué la persona no apasionada perdió su pasión. ¿Lo tenían en absoluto? ¿Preferirían estar haciendo arquitectura que jugar con API y bucles? ¿Acaso se han sentido molestos al ver un mal código / mala gestión que les hizo dejar de preocuparse? No descarte a alguien que dice "No me apasiona mi oficio" porque puede haber razones válidas. Incluso la persona más apasionada perderá rápidamente su fuego cuando se encuentre con paredes cada vez que intente mostrar pasión. Al igual que el hámster que se sorprende, eventualmente aprenderán a remolcar la línea del grupo y la pasión se perderá.


-1

Creo que la pasión está sobrevalorada como un punto de selección para un programador. Contrata a quien creas que permanecerá en el trabajo por más tiempo.


Creo que todo lo contrario: los desarrolladores poco apasionados (¿es una palabra?) Tienden a ser desarrolladores perezosos, en mi experiencia. No les importa hacer bien el trabajo, solo les importa hacerlo bien.
sevenseacat

@ leed25d - No estoy seguro si estoy de acuerdo. Lo último que quiero en mi equipo es un montón de gatos gordos sentados absorbiendo todo el oxígeno y desperdiciando espacio.
jmort253

Ambos me están hablando de energía, no de pasión, me parece. Mantengo mi afirmación de que 'pasión' es una palabra de moda en estos días.
leed25d

3
Nunca contrates a alguien a quien no le importe lo que hace. Se mostrará en su producto.
Nicole

1
La programación es una mezcla de habilidad técnica y creatividad: a los programadores sin pasión les falta la mitad de esa mezcla. En casos extremos, incluso si sus habilidades comienzan bien, se degenerarán rápidamente.
FinnNk

-1

Yo iría con el chico apasionado ya que está dispuesto a aprender y agregaría excelentes resultados si se le brinda la orientación y motivación adecuadas.

La programación siempre es 2 + 2 = 4. Nunca va a cambiar, y el tipo apasionado le agregaría más resultados con más formas de producir el mismo resultado 4.


A menos que su jefe se llame O'Brien.
chiurox

@chiurox: Si yo soy el jefe, siempre preferiría al tipo apasionado.
Thalaivar
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.