Entrevistar a candidatos para proyectos "malos"

Soy desarrollador sénior y realizo entrevistas técnicas para la pequeña empresa de software para la que trabajo.

Sé que hay proyectos en los que es terrible trabajar (tecnologías antiguas, clientes complicados, burocracia, trabajar desde la oficina del cliente en lugar de la de la empresa, mucho mantenimiento en lugar de desarrollo puro, etc.), pero no trabajo en esos proyectos ( afortunadamente). También hay una alta rotación en esos proyectos porque a la gente por lo general no les gustan, pero parecen ser rentables para la empresa, al menos en términos de $$ [Nota]

La mayoría de las veces, los candidatos me preguntan cómo me siento trabajando para la empresa o sobre los diferentes proyectos/tecnologías que utilizamos.

A veces, cuando entrevisto a un candidato que tiene muchas posibilidades de ingresar a la empresa y comenzar a trabajar en uno de esos proyectos, cuando me preguntan sobre el proyecto, me encuentro en una posición complicada porque creo que hay más cosas malas que buenas. decir, y no les quiero mentir, pero tampoco quiero que la empresa pierda un candidato, sobre todo si es bueno, y si no está 100% seguro en qué proyectos van a trabajar.

Algunos problemas comunes que he visto:

  • Algunos beneficios, como trabajar desde casa y tardes libres al mes (sí, tenemos una tarde libre al mes que se puede solicitar en cualquier momento) se suelen perder cuando se trabaja desde la oficina del cliente. HR generalmente omite eso.
  • Algunos clientes para los que trabajamos mantienen algunas API que consumimos, pero no están bien documentadas, aunque muchas veces los equipos se han quejado. Cada vez que el cliente cambia los contratos de la API, el equipo se quema.
  • Algunos proyectos no utilizan ningún sistema de control de versiones porque el cliente no lo permite.
  • Otros clientes dan a los desarrolladores máquinas virtuales, que son increíblemente lentas: los desarrolladores pueden experimentar retrasos en cada pulsación de tecla.
  • Como hay mucha rotación en este tipo de proyectos, no hay un "experto" en el proyecto, y la documentación es realmente mala, lo que lleva a proyectos con muchas "sorpresas".

...y más.

¿Cómo debo tratar con estos? ¿Hasta qué punto debo ser completamente sincero? ¿Debería "inventarme" algunas cosas?

Editar después de algunos comentarios

En primer lugar, estos problemas no ocurren en todos los proyectos. Les pasa a pocos. En los otros no enfrentamos estos problemas y no tenemos una alta rotación.

Con respecto a la tarde libre, dado que los desarrolladores están trabajando en la oficina del cliente, el cliente no quiere que se vayan, y es por eso que este beneficio se "pierde". Sé que fueron quejas, pero no sé si la empresa solucionó este problema.

Los otros problemas (del tipo de las API que no están debidamente documentadas y el retraso en las pulsaciones de teclas) ocurren con clientes que son grandes empresas, que son más grandes que nosotros (recuerde, somos una pequeña empresa de software). Y también estos clientes se encuentran entre nuestros clientes. clientes más grandes... pero el negocio de estos clientes no está relacionado con TI, por lo que pueden tener una pequeña área de TI, pero aún tienen poder de posición para decidir ya que son el cliente, y el cliente hace lo que el cliente quiere hacer. [nota 2]

Habiendo dicho eso, sé que han tratado de educar a estos clientes, pero sin éxito. También sé que están buscando nuevos proyectos, por lo que al menos los proyectos "malos" que son importantes para la empresa en términos de ganancias pueden ser "menos importantes". Pero esto, creo, está fuera del alcance de la pregunta, como se indicó [nota 1].

[Nota] por supuesto, el proceso de software del proyecto debe mejorarse con urgencia, pero eso está fuera de mi alcance.

[Nota 2] No vivo en EE. UU. (es posible que lo hayas notado debido a mi nivel básico de inglés), pero vivo en un país del tercer mundo: aquí muchas cosas todavía se hacen en papel y sin usar computadoras. Entonces, si bien tener un área de TI parece una gran mejora, aún queda mucho por hacer. Educar al cliente puede ser demasiado difícil, la mayoría de las veces lo miran por debajo y no quieren invertir demasiado en tecnología. Diablos, he entrevistado a muchos candidatos que venían de compañías que no usaban CVS en absoluto (y esa fue una de las razones, entre otras, para buscar otra oportunidad de trabajo).

Le recomiendo encarecidamente que no mienta o invente cosas para que no haga que vengan aquí y publiquen preguntas como esta: Workplace.stackexchange.com/q/69593/50529
Usted dice que es probable que comiencen con estos malos proyectos, pero también dice que hay una alta rotación en estos proyectos. ¿Espera que el nuevo empleado comience en este proyecto y cambie a un proyecto diferente poco después?
probablemente no - No hay demasiada rotación en los proyectos. Por lo general, las personas de otros proyectos se trasladan a estos feos porque es posible que la empresa no encuentre a alguien para contratar.
Usted (la empresa) necesita dividir el trabajo de tecnología heredada junto con la tecnología actual si es posible. Ningún desarrollador competente trabajará únicamente en tecnología heredada. Es un asesino de carrera.
Considero que a algunas personas les puede gustar el desafío de un proyecto "malo" en el que pueden tener un impacto significativo. En lugar de enfocarte en todas las formas en las que odiarías estar en ese proyecto, tal vez concéntrate en todos los desafíos y oportunidades interesantes para convertir ese proyecto "malo" en un proyecto "no terrible". Si se involucran en ese proyecto, es posible que tengan una oportunidad real de mostrar sus talentos desde el principio, lo que puede ser algo bueno para las personas talentosas.
@ColleenV si bien eso podría ser cierto, hasta ahora nunca entrevisté a alguien con ese perfil
@MisterPositive Actualicé mi pregunta debido a tu comentario
@Gonzalo.- "Tecnologías antiguas, clientes complicados, burocracia, trabajar en la oficina del cliente en lugar de la de la empresa, mucho mantenimiento en lugar de puro desarrollo" Describes mi trabajo actual. Odio mi vida ahora :)
Solo una nota para usted y otros hablantes no nativos de inglés: no se disculpe por su inglés; puede sentirse cohibido al respecto, pero desde mi punto de vista (y probablemente también para otros) su preocupación no parecen estar justificados. Si no hubieras mencionado que no eres un hablante nativo de inglés, nunca lo habría adivinado. ¡Incluso usaste la jerga correctamente! ("Diablos") Relájate, lo estás haciendo muy bien. :-)
Los proyectos sin control de fuente, por ejemplo, le dicen a su candidato que la empresa no es exigente con el trabajo que realiza. ¡Ninguna de las razones para eso (las finanzas no son lo suficientemente sólidas como para rechazar el mal trabajo, depender demasiado de un cliente muy grande, la administración no es consciente del efecto que tiene) son buenos argumentos de venta!
¿Leí esto correctamente que, dependiendo de su asignación, los empleados esencialmente pierden 6 días de PTO cada año al no tener tardes libres?
Some projects don't use any version control system because the client doesn't allow it. ¡Ay! Perdóname mientras levanto mi mandíbula del suelo. Me pregunto qué tan rentable tendría que ser un proyecto para aguantar ese tipo de idiotez.
¿Hay alguna compensación por cosas como la falta de tardes libres? ¿Puede convencer a su empresa para que pague más a los desarrolladores en proyectos malos? ¿Proporcionar capacitación paga adicional o tales beneficios? Si esperas que aguante condiciones como esa, será mejor que hagas que valga la pena, o me iré de allí. Su mayor problema es la retención, no el reclutamiento. Reclutar es arrojar agua sobre la borda de un barco con un balde. La retención es arreglar la fuga.
Muchas de las respuestas y comentarios aquí parecen mostrar una falta total de cómo se hacen los negocios. Cuando brinda un servicio a otra empresa, sus oportunidades para "reeducar" al cliente son limitadas. Ellos tienen su manera de hacer negocios y usted desperdicia capital político valioso y corre el riesgo de perderlos como clientes si trata de dictarles cómo deben hacer negocios. A nadie le gusta que le sermoneen y le digan que está haciendo las cosas mal y, en general, la gente prefiere evitar hacer negocios con empresas que incluso intentarían tal cosa.
parece que la única forma de solucionar el problema es informar a la gente sobre los problemas y ofrecer suficiente dinero para que valga la pena. usted dice que los proyectos son rentables, si es así, entonces deberían poder pagar lo suficiente para retener / contratar personas y ser honestos acerca de los puntos débiles. si los proyectos son rentables, pero no tan rentables... eso solo es rentable si miras el efectivo y nada más; el flujo de caja es solo temporalmente positivo hasta que se haya quedado sin personas dispuestas a trabajar en el proyecto.

Respuestas (4)

Realmente no sé si existe tal cosa como un proyecto "malo" per se... pero claro, puedo entender dónde sería un desafío hablar con posibles nuevas contrataciones sobre un proyecto que no encuentras todo. que divertido de hacer. Tal vez hay un par de maneras en que lo abordaría:

  • No "se reconcilie" ni mienta sobre cosas. Está bien ser honesto acerca de cómo empiezan los muchachos. Si se trata de una situación de "nos gusta probar a las personas en esto para asegurarnos de que estén a la altura, pero si nos gustas, te pediremos que hagas otra cosa", creo que es algo perfectamente válido para decirle a alguien. Sin embargo, si le dices a alguien cosas que no son ciertas, el mejor de los casos es que pensarán mal de ti en lugar de la empresa, y lo peor es que tienes que entrevistarte para el puesto de nuevo en un un par de semanas después de dejar de fumar.

  • Por otro lado, tampoco te esfuerces por denigrarlo. Hay dos razones para esto: por un lado, el dolor en el trasero de una persona es la oportunidad de otra persona. Quién sabe, tal vez la próxima persona que contrate será la que vea algo de esa tecnología antigua, por ejemplo, y convenza a su cliente de cambiarse a algo más nuevo. O, ya sabes, tal vez no, pero no tiene sentido destrozarlo por completo. La otra razón es que cuando relacione información negativa con las personas, lo asociarán a usted (y en este caso a su empresa por poder) con la negatividad. Es solo la forma en que funciona la mente humana, y es una gran parte de por qué todos piensan mal de los chismes de la oficina.

  • ¡Trabaja esas habilidades blandas! ¿Sabe cómo los agentes de bienes raíces a menudo se refieren a una casa pequeña como "acogedora" o a una casa destartalada como "una casa que necesita reparaciones"? Bueno, seguramente hay formas positivas de vender la experiencia. Bien, quizás este trabajo no sea algo que quiere hacer, pero dependiendo de las cosas... por ejemplo, el enfoque en el mantenimiento en lugar del desarrollo podría venderse como una gran oportunidad para una persona nueva en S-Dev pero con, por ejemplo, experiencia en control de calidad o soporte técnico para perfeccionar sus habilidades mientras trabajan dentro de un marco establecido. Si está en la oficina de un cliente trabajando codo con codo con él, puede ser una situación excelente para aprender a hablar y comprender a los usuarios finales y las partes interesadas (que, por cierto, es algo muy, muy bueno para que cualquier programador aprenda ). Incluso lidiar con la burocracia es una habilidad que se puede perfeccionar y que puede ser muy, muy valiosa en algunos trabajos.

  • Algunas de estas cosas van a ser motivo de ruptura, o al menos deberían serlo. Lo siento, tuve que agregar esto porque se modificó la publicación original. Trataré de mantener esto lo menos específico posible de la industria, pero tengo que decir que no haybuena excusa para la falta de control de fuente/versión, punto. Incluso una casa diminuta tiene acceso a Github. Si el cliente no lo permite, se debe educar al cliente sobre por qué es necesario. Como esto se aplica a su situación, esta es difícil. Si tuviera que aplicar a su lugar, una de las cosas que definitivamente preguntaría es su control de fuente. Si me mientes sobre eso, podría marcharme el primer día. Es casi seguro que caminaría si no encontrara un control de fuente y recibiera un rechazo cuando traté de implementar alguna forma de él. Es posible que un desarrollador más joven no "capte" la importancia de esto y, por lo tanto, no pregunte. Incluso entonces, no sé, estoy indeciso sobre si deberías o no sentirte obligado a mencionar esto por tu cuenta.

Para ser honesto, todas esas otras cosas son cuestiones viables. He tenido que lidiar con estaciones de trabajo lentas y rezagadas, burocracia, actuar como mi propio BA, descubrir qué se supone que debo hacer sobre la marcha... de hecho, creo que todas estas cosas son parte de la experiencia de desarrollo de software. Trabajar sin control de versiones no lo es, o al menos no debería serlo (y estoy seguro de que otras industrias tienen cosas similares que "no funcionan").

el problema de trabajar en la oficina del cliente es que se pierden algunos beneficios (como trabajar desde casa y otros), y eso es algo que normalmente RRHH no dice. El otro problema es que esos clientes generalmente tienen su área de TI, por lo que solo están pagando por los recursos humanos de la empresa ... por lo que generalmente envían jrs, que se preocupan más por las habilidades tecnológicas que por aprender habilidades blandas con las partes interesadas.
Sería sincero sobre la primera parte entonces, especialmente si preguntan si hay posibilidades de trabajar desde casa. Al segundo... No estoy seguro de lo que dices; ¿Puedes aclarar?
lo siento si no estoy claro. El inglés no es mi idioma principal, así que aunque estoy seguro de que hay un "término" para lo que quería explicar, no lo sé. La cosa es: El cliente tiene un área de TI y partes interesadas. Le pagan a mi empresa por los desarrolladores: mi empresa contrata a los desarrolladores, pero los envía a este tipo de clientes para que trabajen en lo que quieran. Por eso, generalmente se envían juniors (Jrs.), que son más baratos... y generalmente están más preocupados por aprender nuevas habilidades tecnológicas en lugar de aprender sobre la burocracia o tratar con las partes interesadas.
Ah, está bien, son los nuevos empleados los que están menos preocupados por las habilidades interpersonales. Quiero decir, lo entiendo, pero como dije, creo que es una oportunidad para que les vendas una habilidad que realmente necesitan tanto como las llamadas habilidades "duras". Sé que mi experiencia (antes de dedicarme al desarrollo de software hice servicio al cliente) me ha ayudado muchas veces en el trato con la gente, incluso cuando mi trabajo consiste en un 99 % en sentarme y escribir código.
No creo que puedas vender un proyecto que no permita el control de fuente como algo más que "un mal proyecto"...
@Erik Mi madre siempre decía que si no puedes decir nada bueno, no digas nada en absoluto.
¡Ay! Eso fue agregado después de mi comentario. voy a editar
@ JonathanCowley-Thom "¿Cómo son los proyectos aquí?" "No quiero hablar de eso. ¿Puedes preguntar algo más?"
@Erik Mar No, eso todavía es decir algo. Tienes que responder a la pregunta con un silencio de piedra.
"Trabaja tus habilidades blandas", "la aplicación que estarás trabajando ya tiene 10 años de existencia y aún ofrece desafíos" -> BANDERA ROJA, BANDERA ROJA. Puede presentarlo como quiera, a menos que esté entrevistando a un novato o a alguien que solo quiere un trabajo de mantenimiento sin mucho interés en él que no funcionará. Es mejor si busca a alguien a largo plazo para tal tipo de trabajos para buscar a alguien que tenga la habilidad pero que no sea demasiado apasionado.
Desarrollé el hábito de preguntar sobre el control de versiones en las entrevistas. Las respuestas aceptables serían CVS, Subversion, Git o algo similar. Las respuestas inaceptables incluirían RCS y SCCS. Una mirada en blanco sería un factor decisivo.

Respondería a esta pregunta diciendo algo como esto:

"Hay algunos grandes proyectos en los que podría trabajar eventualmente, pero tendrá que comenzar con algunos de nuestros proyectos heredados más antiguos. Son difíciles, no tanto desarrollo nuevo, pero aprenderá mucho de ellos y será una gran experiencia". No puedo decir cómo encontrarías trabajar en ellos ya que todos diferimos, personalmente no soy muy fanático de corregir errores y trabajar con el código antiguo de otras personas, pero al menos disfrutaría la oportunidad de mostrar cómo mucho podría mejorar el código. Puede que lo disfrutes y si no, tendrás la oportunidad de cambiar proyectos después de un tiempo de todos modos. En cuanto a la empresa en general, son geniales, he disfrutado mucho trabajar para ellos. ."

He tenido que decir algo muy similar a los solicitantes antes. No quiero mentirles, pero definitivamente puedes "suavizar el golpe", por así decirlo.

No creo que debas mentir abiertamente por la empresa, pero al mismo tiempo, si estás contento de trabajar allí, díselo y concéntrate menos en los proyectos en los que es probable que trabajen.

"... si no, se te dará la oportunidad de cambiar de proyecto después de un tiempo de todos modos". - No digas eso a menos que puedas prometerlo. Te mantendría en esa, personalmente.
la empresa no pone a los empleados en el sistema heredado "para empezar con algo", lo hace porque hay una alta rotación en esos proyectos. y como dice Wesley, no puedo prometer eso porque no asigno personas a proyectos
"He tenido que decir algo muy similar a los solicitantes antes" Y cuando lo dijiste, ¿era cierto? Gonzalo ya nos ha dicho que los desarrolladores rara vez cambian proyectos en su lugar de trabajo, por lo que definitivamente no puede decírselo a un postulante.
Hacer una promesa que no está seguro de cumplir en el futuro es peor que mentir ahora.

Sobre mentir por omisión

Si solo tengo opciones de empleo limitadas: me sentiré descontento y eventualmente me iré después de que su empresa haya hecho una gran inversión de tiempo y dinero en mí.

Si tengo múltiples opciones de empleo: me iré muy rápido y probablemente haré correr la voz a otras personas que lo soliciten. El representante de su empresa está destinado a caer si Recursos Humanos hace cosas sospechosas (ver: HR usually omits that)

Por falta de herramientas para hacer el trabajo (sin control de versiones, computadoras lentas)

Prácticamente lo mismo que el anterior. Ningún desarrollador que valga la pena se quedará si su lugar de trabajo no facilita su trabajo. Eso sería como pedirle a un carpintero que clavara clavos usando un plátano. La única razón para quedarse sería si no hubiera otra opción.

Sobre proyectos que tienen "equipaje"

Cuando menciona proyectos que tienen falta de documentación, clientes difíciles, tecnología antigua/obsoleta, estos son desafíos que toda gran empresa enfrentará en un momento u otro. Como entrevistado, espero que mencione estas cosas por adelantado porque, como empleado, espero que la empresa tenga una estrategia para abordar estas cosas. El problema central aquí no es que no sepa cómo informar a los entrevistados sobre estos problemas, es más que su empresa no parece tener una estrategia para eliminar esos puntos débiles simplemente porque le está dando flujo de efectivo. Eso es complacencia en el mejor de los casos.


¿Cómo comunica la realidad a los entrevistados?

Mi sugerencia sería ser honesto. Si los contratas, descubrirán la verdad más temprano que tarde. Hágales saber ahora, para que puedan tomar una decisión informada. Los que están desesperados por un trabajo todavía dirán que sí, y los que no lo están, dirán que no (que es más barato que contratarlos y luego hacer que se vayan rápidamente).

Como persona reclutada para este tipo de proyectos, así es como lo veo:

  • Asegúrate de no mentir o engañar. incluso por omisión. Esto hará que la gente se vaya, rápido. Probablemente sin hacer mucho bien a la empresa antes de que se vayan.

  • No responsabilice a las personas por errores que no puede probar que sean suyos y solo suyos. Y asegúrate de que lo sepan. "Algunos proyectos no utilizan ningún sistema de control de versiones porque el cliente no lo permite". - Eso es terrible. ¿Ni siquiera puedes usar GIT en tu copia local del código? Si ese es el caso, muchos desarrolladores darán la vuelta y correrán. Y esa es una reacción apropiada. Sin el control de versiones, no sabes si la culpa es realmente de ellos, por lo que si se supone que su promoción, beneficios, etc. dependen de los errores que alguien más podría introducir en el código, es simplemente injusto para ellos. Así que asegúrese de que sepan que no sucederá.

  • No establezca plazos estrictos para nada relacionado con las API que no esté documentado o que pueda cambiar sin previo aviso. Nuevamente, asegúrese de que lo sepan.

  • Negocia con tus clientes . El retraso en la pulsación de teclas es un factor decisivo. No puede esperar que el desarrollador se concentre en su trabajo si ni siquiera tiene los medios técnicos para escribir.

  • Dígales por adelantado cuánto tiempo permanecerán en el mal proyecto. Podría aceptar pasar un mes, tal vez tres, trabajando en esas condiciones. Quizás. Si el dinero fuera lo suficientemente bueno. Pero me gustaría estar seguro de cuándo terminaría.

sobre el último punto, el dinero es regular... más o menos lo que cualquier pequeña empresa pagaría aquí. Me pagan bien, por ejemplo, sé que me podrían pagar mejor en una gran empresa, pero no me gusta el estilo de empresa de la corporación, al menos las que conozco de mi país.
@Gonzalo si pueden trabajar por un dinero similar, pero con acceso al control de versiones y en las computadoras que realmente pueden escribir, lo pasarán mal. No veo forma de evitarlo.