La empresa quiere que haga una prueba de codificación para un puesto gerencial [cerrado]

Estoy haciendo una entrevista con una empresa para un puesto de gerente/líder de desarrollador de software. La posición tomará alrededor del 20% del desarrollo de software y el resto será la gestión del equipo y la atención al cliente.

Han mencionado que el siguiente paso en el proceso de la entrevista es una prueba de código (generalmente un acertijo) que necesito terminar en casa en menos de 1 hora.

No he tenido que hacer este tipo de pruebas en años. No estoy por casualidad preparado para eso y no entiendo por qué un papel de alto nivel tendrá que hacer un teaser generalmente dirigido a puestos de desarrollo puro. Si trato de hacerlo, probablemente fallaré.

¿Hay alguna manera de decirles que no creo que sea una buena representación de mis habilidades y que prefiero no hacerlo?

Edit: Gracias por todas las respuestas. Entiendo que una empresa quiera verme codificar, pero no entiendo la necesidad de responder a un acertijo (encontrar cuántas veces necesitas lanzar una moneda en una serie de monedas para bla, bla, bla... ). Eso es algo que nunca tuve que hacer en mis más de 10 años de experiencia. Lo que he estado haciendo es desarrollar páginas web increíbles, si quieren ver eso, puedo enviarles mi cartera y algo de código.

Sin embargo, podría decirles, sin estar seguro de lo que espera lograr, ¿está seguro de que fallar significa no tener trabajo?
Bueno, según tu descripción, dijiste que todavía se espera que escribas algo de código. Tal vez solo estará en la posición de "revisor", pero aún significa que necesita comprender el código. A mi me parece valido el pedido
Pero eres un desarrollador y esperan que codifiques. ¿En qué se diferencia un rol de alto nivel de un desarrollador puro?
Hay una variedad de libros disponibles con preguntas y respuestas de práctica, sugiero pasar algún tiempo con ellos. También puede practicar en línea en codility, hackerrank, mettl, testdome, coderbyte.
Me entrevisté en una empresa que dijo que les dan estos a todos "porque necesitarás comunicarte con los desarrolladores". Si lo están contratando como gerente de proyecto técnico, creo que su mejor opción es intentarlo de todos modos y si no cree que hizo un buen trabajo, asegúrese de impresionarlos con sus otras habilidades.
Puede que esto no sea lo que quieras escuchar, pero como desarrollador puedo decirte que quiero que el líder de mi equipo entienda lo que hago; de lo contrario, él o ella no es un líder de equipo calificado.
¡¡El 80% de tu tiempo estará haciendo el 20% del código!! :-)
@JohannesPille: Podría ser cierto para un líder de equipo, pero OP no ha dicho directamente que ese es el trabajo en discusión. Como desarrollador, también querrá que la alta gerencia sea competente en lo que hace, para que la empresa sea un éxito más allá de una buena base de código. Los gerentes no son super-seres con las habilidades de todos los subordinados más habilidades de gestión. En algún nivel de la jerarquía, espera encontrar una comprensión amplia de lo que hace, no solo para comprender el código, sino junto con otras habilidades que justifiquen que esa persona tenga el control.
Si una prueba está por encima de su capacidad, también lo está el 20% del tiempo que estaría haciendo desarrollo.
Por favor díganos qué compañía es esa. Sin duda consideraría aplicar allí.
Si tuviera que argumentar en contra de una prueba de codificación para un trabajo (aunque no lo haría, socava mi posición), argumentaría desde una perspectiva gerencial... en mi opinión, una prueba de codificación durante una entrevista no es la mejor opción. mejor manera de medir la habilidad de un desarrollador, es solo que realmente no hay otra buena alternativa. Si estuviera discutiendo, sugeriría otras formas de demostrar mis habilidades, como ofrecer mi computadora portátil y guiarlos a través de algunos proyectos personales relacionados con el puesto de alguna manera. Como desarrolladores, realmente deberíamos animarnos más a crear portafolios de nuestro trabajo y ser juzgados por ello.
@Phill Como desarrolladores, la mayor parte de nuestro trabajo es propiedad de las personas para las que lo preparamos y los derechos de autor y, normalmente, las llamadas de no divulgación son propiedad de ellos. También es raro que el trabajo sea lo suficientemente pequeño como para mostrarlo y analizarlo de manera útil.
"¿Hay alguna manera de decirles que no creo que esto sea una buena representación de mis habilidades y que prefiero no hacerlo?" ¿Qué tal: "Creo que este trabajo no es para mí, gracias por su tiempo!"

Respuestas (6)

ya has dicho

La posición tomará alrededor del 20% de desarrollo de software.

lo que significa que casi seguro que esperan a alguien que desarrolle activamente, así como otras tareas que exigen un conocimiento profundo de la codificación: administrar la calidad y la metodología del código, la revisión por pares, establecer y hacer cumplir los estándares del código. Sospecho que quieren un desarrollador fuerte que esté dando un paso al frente para liderar un equipo de jóvenes, predicando con el ejemplo, con funciones de administración como un complemento. Ciertamente, en las empresas en las que he trabajado, la tendencia es mucho más hacia equipos autónomos encabezados por tales roles con gastos generales de gestión "puros" muy ligeros, y lejos del gerente tradicional que solo supervisa a los demás.

Es posible practicar para este tipo de pruebas en sitios como Codility, pero si una prueba de codificación de 1h es una perspectiva tan aterradora, entonces tal vez no sea una buena opción para usted.

+1 en partículas para la última mitad de la última oración. Codificar el 20 % de una semana de 40 horas significa codificar 8 horas a la semana, por lo que si no puedes realizar una prueba de codificación de 1 hora, ¿cómo manejarás la codificación 1 día a la semana durante todo el año?
@forgivenson No creo que la principal preocupación de OP sea la codificación del 20%. OP parece más preocupado de que la prueba de codificación sea una especie de acertijo (o algo de una clase de algoritmos CS 201; y hay muchos comentarios en Internet sobre este tipo de prueba, en su mayoría negativos, y estoy de acuerdo). Sin embargo, todo lo demás, en la respuesta y su comentario, es correcto: esta es una posición híbrida que involucra codificación y liderazgo. Si no puede demostrarles que todavía tiene habilidades de codificación, es probable que no consiga el trabajo.
No es sólo una cuestión de no conseguir el trabajo. El OP debe utilizar el proceso de entrevista para evaluar qué tan bien el trabajo coincide con los objetivos del OP. Una prueba que el OP no quiere hacer puede ser una advertencia de falta de coincidencia.

¿Hay alguna manera de decirles que no creo que sea una buena representación de mis habilidades y que prefiero no hacerlo?

Sin duda podría decírselo, pero espere no avanzar más en el proceso para un trabajo que implica alrededor del 20 % de desarrollo de software . Parecería haber solicitado el trabajo equivocado, lo que podría dejar al reclutador divertido (por decirlo suavemente), especialmente porque claramente tiene varios años de experiencia en la industria.

Su verdadero problema aquí parece ser que está buscando un rol de gestión de proyectos/personas puro, que claramente no es este en particular. Le sugiero que les pregunte si hay tales roles disponibles y si podrían considerarlo para ellos. Esto resultaría mucho mejor que intentar calzarte a ti mismo en un papel con el que no pareces demasiado cómodo.

"lo que podría dejar al reclutador entretenido": sucede mucho, y también sucede mucho al revés que los reclutadores (y más comúnmente los consultores de reclutamiento externos) solicitan a las personas que soliciten trabajos totalmente inadecuados. Después de todo, el objetivo de la prueba es filtrar a las personas: esperan que algunos candidatos no pasen ese filtro.
@SteveJessop Estaba pensando en un reclutador interno . No soy un reclutador per se, pero puedo leer bastantes solicitudes de empleo en mi empresa. De vez en cuando, aparece un candidato con un conjunto de habilidades diametralmente opuesto a la descripción de nuestro trabajo. Cuando se le hacen preguntas relacionadas con nuestro requerimiento, la respuesta suele ser del tipo "Realmente no sé mucho sobre este tema", lo que naturalmente lleva a la pregunta: "¿Por qué diablos se postuló entonces?". . :)
@MaskedMan: oh, las historias que podría contar, si no fuera un abuso de confianza;)

Me parece que quieren comprobar con este test también tu pensamiento lógico, cómo afrontar momentos críticos, etc. y no sólo puras habilidades de desarrollo. Creo que sería un paso en falso rechazar la prueba, porque automáticamente pensarán menos en tu candidatura. Debe hacer la prueba lo mejor que pueda y después de la prueba puede solicitar una reunión, donde mostrará todas sus otras habilidades.

¿Hay alguna manera de decirles que no creo que sea una buena representación de mis habilidades y que prefiero no hacerlo?

Sí, ciertamente se podría decir eso. Pero hacerlo sin duda les enviará el mensaje de que no eres un buen candidato para el trabajo (y tal vez no lo seas).

Si el trabajo requiere un 20% de desarrollo y están probando esas habilidades, entonces claramente esas habilidades son importantes para la empresa. Decirles que esta prueba no representa tus habilidades les dice que no eres capaz. Y tú mismo piensas que fallarás en esta prueba.

Parece que este no es el tipo de rol de gestión que desea. Podría considerar retirarse ahora si lo siente con tanta fuerza.

Si desea intentarlo de todos modos, puede estudiar el tipo de desarrollo que cree que sucederá y ver cómo va. Puede que te sorprendas a ti mismo.

En la práctica, la mayoría de los roles son flexibles y pueden adaptarse a las habilidades reales que aporta al equipo. Sin embargo, eso generalmente ocurre lentamente después de tener una posición.

La empresa espera una cosa de este puesto y tú otra. Parece que el 20% de desarrollo es un factor decisivo para usted, ya que la compañía espera que sea más experto de lo que cree que es. Vale la pena explorar eso con ellos abiertamente, con el objetivo de reducir su exposición al desarrollo real y proponer un puesto más alto centrado en la gestión de personas, la gestión de proyectos y las partes del trabajo orientadas al cliente.

Puede ser una lucha cuesta arriba si los representantes de la empresa de contratación se establecen en lo que creen que necesitan.

La parte difícil que enfrenta es negociar un cambio en el rol como candidato en lugar de crecer usted mismo y el rol en un equilibrio de necesidades y habilidades en una posición existente. Tiene muchas más posibilidades con una empresa más pequeña donde el puesto cubre más terreno que con una empresa grande que ya tiene un "Jefe de desarrollo".

Si cree que hay espacio para que tenga un rol diferente al rol de "Líder técnico sénior" que tienen abierto, y cree que hay espacio para la flexibilidad en esa empresa, le sugiero que se comunique con la empresa y sea honesto acerca de sus expectativas para el y tratar de negociar un conjunto diferente de responsabilidades. Si ya se entrevistó con ellos y declaró que una carga de trabajo de desarrollo del 20% está bien, deberá retractarse; claramente no es su caso.

Esté preparado para que le digan "no" porque la empresa ya tiene un entendimiento (correcto o incorrecto) sobre el rol que necesita. Además, no debe avergonzarse en ninguna etapa de abandonar el proceso de la entrevista porque no es adecuado para usted.

En esta etapa, si la negociación parece una idea demasiado descabellada, aún podría hacer la prueba de buena fe, y seguir después con comentarios en el sentido de que le gusta la compañía, pero hacer la prueba lo ha "iluminado" que en realidad usted está buscando un puesto más alto. Manténgalo positivo, sin quejarse de la prueba, solo un "gracias" y un tono para un papel diferente. Tal vez en el futuro tengan uno disponible, y es muy posible que necesiten seguir adelante con su idea de desarrollador/gerente sénior, descubran que no funciona tan bien como imaginaban y luego publiquen un trabajo que se ajuste mejor. para usted.

Podría estudiar un poco de código y prepararse para lo que probablemente será una prueba de código genérico para poder aprobar su examen, o averiguar exactamente qué lenguaje y herramientas usan, estudiarlos específicamente y repasar lo suficiente para poder aprobar su prueba. , que también te preparará para el puesto en sí .

Incluso si usted mismo no va a realizar mucha codificación directa, la comprensión del código que está admitiendo y la forma en que está integrado son extremadamente importantes, incluso para el gerente de un proyecto, y especialmente para que un desarrollador lo entienda . las limitaciones del código. Esto parece una prueba completamente razonable para correr en tu contra.

En el mejor de los casos, podría señalar sus años de experiencia previa como desarrollador del lenguaje que están usando para 'eximirlo' de la prueba, pero es dudoso que eso ayude, ya que incluso una amplia experiencia con el lenguaje no significa nada si usted no lo he usado en tanto tiempo que su comprensión se ha oxidado.

En resumen: tómalo como una oportunidad para repasar rápidamente y conocer mejor el puesto. Lo más probable es que si te esfuerzas por aprender lo que están usando, será una oportunidad para impresionarlos aún más mostrándoles cuán interesado estás en el puesto.