“Somos una pequeña empresa de alimentos” : es con estas palabras que siempre comienzo la historia sobre el lugar de trabajo actual para cada candidato que vino a una entrevista. Solo con esta frase, una persona puede comprender de inmediato qué ventajas y desventajas enfrentará si decide conectar su destino con nosotros.
La pequeña empresa de comestibles en la que trabajo, por supuesto, no tiene sus propios
recursos humanos , pero aún surge la necesidad de personal nuevo. Solo soy un programador, en ningún caso reclamo el título de
TeamLead o
PM (de dónde provienen), con ganas de trabajar con personas buenas, adecuadas y, lo más importante, profesionales (en la medida de lo posible dentro del contexto ya indicado).
Afortunadamente, tuve la oportunidad de buscar un probador, y no ... por ejemplo, un vendedor.
Como probablemente ya haya entendido, esta publicación trata sobre cómo un programador ordinario puede encontrar un probador no ordinario. En mi opinión, la experiencia resultó ser interesante, pero lo primero es lo primero.
El artículo de ninguna manera afirma las
mejores prácticas . Solo quería mostrar mi enfoque en este asunto.
Artículos sobre búsqueda de probadores está lleno en Habr
Si, no un poquito. Leí muchos de ellos, aprendí algo útil para mí, pero hay un
PERO significativo: todos están escritos, si no por maestros de su oficio, al menos por personas que entienden algo en las pruebas o la caza + no se olviden del presupuesto.
¿Por qué exactamente yo?
Simplemente, resultó ser el único de los programadores que estaba interesado en tocar esta área de
TI (estar al otro lado de las barricadas) y apartarme un poco de las tareas laborales.
No me gusta cuando los
recursos humanos estúpidamente hacen correos masivos, lanzan ofertas basadas en etiquetas clave, sin profundizar, etc.
Quizás esta fue mi mayor motivación: abordar el proceso de contratación de la manera más responsable y eficiente (posible), demostrarme a mí mismo:
"bueno, puedes hacerlo normalmente"Requisitos
Como yo mismo no lo he probado con las pruebas, los requisitos se hicieron en consecuencia:
- mentalidad analítica;
- comprensión de tareas en pruebas de software;
- La experiencia del probador y la educación en TI serán una ventaja.
En la presentación de proger (con los pies en la tierra), el probador es uno que busca errores y puede describir en detalle el proceso de reproducción.
Reanudar proceso de revisión
Y así, la vacante se publica en un sitio conocido, pasamos al proceso de selección de candidatos. A continuación intenté describir estas tesis específicamente lo que estaba pagando, o viceversa, no presté atención al resumen:
- Hacer un currículum (la presencia de todo tipo de errores): ¿por qué necesito un probador que ni siquiera pueda probar su currículum? (parece ser trivial, pero se encontró en ~ 20% de los casos)
- No me importa la edad, el sexo, la apariencia, el estado civil, etc. (leí un montón de historias sobre las "chicas" de Recursos Humanos ).
- Tener experiencia como probador : creo que todo está claro: al menos algo de experiencia es mejor que nada.
- Disponibilidad de educación : lo más importante es que no hay humanidades, sin embargo, en el proceso de trabajo, tendrá que sacar conclusiones consistentes y lógicas, y no dar información irregular. (no tome este artículo en serio)
- Una carta de presentación / bloque "Acerca de mí" suele ser muy mala aquí: todos escriben como uno que es él el único que necesitamos, que él es el mejor, que somos la compañía de sus sueños, etc.
Pero, por supuesto, hay excepciones a las reglas : por ejemplo, cuando un candidato indica que ha descubierto un defecto particular en un sitio o aplicación bien conocido y, lo más importante, lo registró , esto es definitivamente una ventaja en el karma. - Las habilidades clave son un punto muy interesante, no estamos interesados en todas estas etiquetas de control de calidad : pruebas funcionales, compilación de casos de prueba , pruebas de IU , etc., aunque es mejor, por supuesto, tenerlas presentes.
Las ventajas separadas merecen etiquetas que indiquen Selenium y otras herramientas de automatización de pruebas.
Lo más importante: prestamos atención a las habilidades de "no probadores" , por ejemplo: Python , Unity , PHP , Compass-3D , SQL , etc. (Te diré por qué más tarde) - Cursos / Certificados : un punto muy controvertido / controvertido: si el candidato no tiene experiencia como evaluador o sin educación en TI, la presencia de este elemento es bienvenida.
Por lo general, los candidatos adjuntan listas de verificación que sirvieron como "trabajo de graduación"; debe admitir que ya hay algo que ver.
Conversación personal
Y así, sobre la base de las "reglas / recomendaciones" anteriores, seleccionamos a los candidatos que nos interesan, vamos más allá: comunicación personal. No indiqué específicamente la palabra de miedo
"entrevista" , porque no voy a jugar con un candidato para un policía malo / bueno, etc. Sinceramente quiero comunicarme específicamente, construir un diálogo para que el proceso tenga lugar de la manera más cómoda e interesante para todas las partes. Por las mismas razones, no hago preguntas técnicas específicas (bueno, no olvidamos que no tengo el conocimiento para hacer tales preguntas).
A continuación hay una lista de temas / preguntas con las que me gustaría hablar, encuentre las respuestas:
- Lugar de trabajo anterior (si lo hubiera): todo está de acuerdo con el estándar:
- ¿Qué hiciste exactamente y cómo lo hiciste exactamente?
- ¿Por qué decidiste cambiar?
- ¿Cuál era el tamaño del equipo y cuál era el equipo en absoluto en el proyecto?
- ¿En qué tipo de proyectos estabas trabajando? (a menos que, por supuesto, la NDA lo permita)
- ¿Qué metodologías de gestión de proyectos ha utilizado?
- etc.
- Educación : personalmente no me importa su presencia o ausencia, si está terminada o no, es un punto o una correspondencia, etc., estoy interesado en la posición de mi interlocutor sobre este tema, por qué tomó esta o aquella decisión sobre este tema.
- Habilidades clave (las del currículum vitae del solicitante): en esta etapa, puede aprender muchas cosas interesantes y útiles. Es importante descubrir exactamente cómo adquirió estas habilidades.
Algunos ejemplos- Hay un candidato cuya habilidad clave se indica, por ejemplo, - Unidad , durante una conversación resulta que una persona trata de participar en el desarrollo del juego en su tiempo libre, es decir. Es claro de inmediato que hay interés en el campo de TI y que los conocimientos / habilidades humanas pueden considerarse dignos de aplicación;
- Otro ejemplo: si una persona conoce Sql o algunos fundamentos de Php , que, por cierto, comprendió en el último lugar de trabajo, porque se ocupó de una montaña de programadores, que tenía que seguir en ambos y meter en una línea de código específicamente inactiva, entonces puede hacerlo La conclusión es que la persona ante nosotros no es torpe;
- También hay ejemplos negativos: el candidato en las habilidades especificó Python : parece genial, pero en el transcurso de la conversación resulta que ciertamente no conoce YP, no leyó ningún libro, solo escuchó que el pequeño es genial y por eso lo señaló. (¿ WTF!? )
- Preguntas sobre los errores más interesantes / complejos que haya encontrado: aquí, lo más importante es prestar atención a las emociones que se le presentarán: si en ese momento una persona tiene ardor en los ojos, una tormenta de emociones, etc. - Definitivamente una buena señal, lo que significa que una persona está harta de su trabajo. Además, pregunte cómo exactamente una persona logró atrapar estos errores inolvidables / únicos.
- Pruebas en la vida real , en este caso, creo, prof. La deformación es buena. Se debe deformar a una persona de las jambas de software con las que se encuentra en todas partes. Pregúntele al entrevistado acerca de tal experiencia, seguro que tiene algo que decirle (fue triste observar que ~ 50% no tuvo esa experiencia).
- Interés personal en los proyectos / dirección de la empresa (no es necesario, pero será una buena ventaja).
Un par de ejemplos para entender- Si está desarrollando un software que, por ejemplo, construye la ruta de viaje óptima durante el viaje, sería bueno para la persona que desea amar viajar y personalmente encuentra problemas que su aplicación resuelve;
- Si está desarrollando juegos, es recomendable que al evaluador le guste jugar, hacer un seguimiento de las últimas actualizaciones, etc.
- Contra-preguntas : estoy muy contento cuando se hacen, especialmente cuando hay muchas. Está claro que el candidato está interesado en su lugar de trabajo, horario de trabajo, tecnología, equipo, etc. Pero cuando el candidato tiene un interés genuino en los proyectos que está realizando, ¡cuesta mucho! No tienes idea de lo agradable que es escuchar cuando te dicen que esta fue la entrevista más interesante / inusual en su vida.
Tarea de prueba
Que te pareció ¡No es tan simple!
¡No seas demasiado vago para hacer una tarea de prueba! ¡Asegúrate de escuchar! ¡Y, por supuesto, no debería estar en una hoja de papel!
Especialmente, en la rodilla (en este caso solo está a mano), se implementó una aplicación simple (
CRUD con la entidad usuaria) con obviamente jambas y también "TK".
Shoals en la lógica del programa:- falta de validación de datos en campos de texto;
- el control del calendario no está limitado de ninguna manera al ingresar la fecha de nacimiento del usuario (puede especificar la fecha de nacimiento mañana, etc.);
- la fecha de creación / guardado del usuario está indicada incorrectamente (-1 día desde la fecha correcta);
- edad del usuario calculada incorrectamente (sin usar redondeo);
- cuando se cerró la aplicación, los datos no se guardaron;
- programa apagado después de 5 minutos trabajo (en mi opinión, el error más divertido);
- al cambiar los datos de un usuario existente, el campo del segundo nombre siempre se mantuvo sin cambios en la lista de todos los usuarios;
- el campo de edad no se actualizó cuando se modificó la fecha de nacimiento (actualizar solo cuando se cambia entre usuarios).
No puedo en el diseño:- la presencia de errores ortográficos;
- La información adicional de TextBlock sobre el usuario se mudó al ingresar un gran conjunto de datos;
- falta de diseño adaptable (con el tamaño inicial de la ventana, todas las reglas, con un cambio, todo vale);
- falta de localización en uno de los campos de usuario.
Shoals en el rendimiento (que casi nadie encontró):
- agregar un registro de manera inapropiada aumenta la carga en la CPU;
- al eliminar un registro, la memoria no se llena adecuadamente.
Al emitir una tarea de prueba, el estilo de institución de los errores no se indicaba específicamente: era interesante observar diferentes variaciones, pero básicamente todo era igual (placa / lista de
casos de
prueba ), a veces la presencia de capturas de pantalla satisfechas.
Además, se invitó a los sujetos (si lo deseaban) a pensar en lo que, en su opinión, era posible agregar / modificar / eliminar en la parte funcional del software probado.
Por supuesto, es aconsejable que la prueba se emita / realice antes de su conversación, para que en ese caso se pueda discutir.
Una observación interesante: hubo candidatos sin experiencia laboral que hicieron la prueba mejor que aquellos que tenían experiencia detrás de ellos.
¿Por qué exactamente él?
Antes de revelar todas las tarjetas, te daré algunas estadísticas: en 2 semanas de búsqueda, miré la vacante más de 500 veces, más de 50 candidatos respondieron, de los cuales ~ 10 fueron seleccionados para una conversación personal y una tarea de prueba, obtendrían la tercera oferta. Además, me llamó la atención que aproximadamente un tercio de todos los candidatos considerados tenían experiencia como probadores en grandes empresas, de lo que todos estaban escuchando.
Pero el resultado superó todas mis expectativas: una niña con una apariencia de modelo (no había una foto en el perfil para las niñas de
RR . .
Lo tomaron precisamente por un pensamiento no estándar: mientras realizaba una tarea de prueba, "desarmó" el programa, indicando eventualmente todos los errores especialmente ocultos hasta la línea de código.
Como resultado, después de más de seis meses de trabajo, no tenemos alma. Un programador oculto se despertó en nuestro probador, y todos estamos dispuestos a ayudarla con esto.
En lugar de una conclusión
Finalmente, me gustaría dejar algunos consejos obvios que por alguna razón pocas personas siguen:
Para el empleador: sin falta, brinde retroalimentación, indique lo que exactamente el solicitante no tenía (¡no sea perezoso!).
Para el solicitante: no “ingrese a TI” por dinero; Si no tienes experiencia, llena tu mano (abre cualquier aplicación / sitio y prueba más).