EDICIóN GENERAL

Los desarrolladores senior son rechazados para trabajar (Eng)

#6 O, visto de otra forma, que para entrar en esas empresas has de prepararte para escribir código chorras que en tu día a día no harás, código que se aprende en la universidad y se va olvidando y que no garantiza que la persona que los pasa tenga conocimientos más allá de pasar esa entrevista.

Yo he llegado a hacer lo contrario. Hacer una de estas chorradas, pasarla y darme el gustazo de decir que no, que con ese criterio se habrán cargado a mucha gente sin tiempo de preparar esas chorradas y habrán perdido mucho talento y que, por tanto, no quería entrar en su equipo. Por otra parte, me suelo negar a hacer una prueba de código antes de haber hablado un poco con ellos. Igual no me interesa el trabajo que ofrecen, normalmente son ellos los que me han contactado... y esperan que pierda varias horas antes siquiera de saber si me interesa lo que ofrecen?
Puede que estos tests estén para quedarse, pero tal y como dicen, no sirven realmente para discernir a alguien apto para el puesto. Imponer una prueba física compleja sería otro modo "eficiente" de hacer una criba sobre esos 500 candidatos. Parece una manera de hacer perder el tiempo a candidatos preparando unos ejercicios que raramente usarán en su día a día; quizá buscando a quienes han salido recientemente de alguna formación donde se enfocaban en ese tipo de problemas teóricos.

#9 En mi caso les perdí el respeto a estas prueba desde que vi que en una startup entró alguien que demostró ser bastante inútil en nuestro equipo. Y sin embargo utilizaban este tipo de pruebas, de modo que descartaron a otros que parecían sacar trabajo técnico de cierta calidad.
#21 correcto, he tenido compañeros que se pasaban gran parte del día haciendo éste tipo de algoritmos con lenguajes raros de programación (brainfuck incluido). Luego el curro no salía, claro.
#9 No, tú no has rechazado un trabajo en netflix bay area por +200.000€

ni tú ni nadie que no trabaje ya allí. Y si lo haces, tampoco te pones a hacer el imbécil de pasar pruebas para rechazarlas por los loles
#36 Comprensión lectora... justita.
Se está hablando de empresas que hacen ese tipo de pruebas, no de Netflix en concreto. De hecho, a Netflix lo menciona la persona a la que el responde, como argumento adicional para mencionar que perdieron un buen empleado que se fue a Prime porque las pruebas son una castaña y no garantizan que te quedes con los mejores, que la suerte también importa. Así que el contesta que si, que las pruebas son una tontería que puede dejar fuera a gente buena (mira, como le pasó a Netflix) y que ha rechazado algun trabajo.... no que haya rechazado a Netflix. ¿Mejor así?
#47 respondes a un comentario hablando de netflix, amazon y "esas empresas", si por "esas empresas" quieres incluir a paco & co en tardajos ofertando 20.000€, sólo porque piden 3 pruebas, tu post está mal escrito.

La realidad es que en cualquier empresa importante, esas entrevistas son impepinables, existen con varios niveles de filtrado y nadie se pone a perder 20 horas y 4 entrevistas para rechazarlo así sin más.

Y no, no son una tontería, son un filtro tremendo que deja a los mangurrianes fuera que es de lo que se trata cuando tienes exceso de oferta. Dejar a 10 tíos geniales en la última ronda, habiendo perdido a 5 geniales pero filtrando 400 lamentables en el camino.
#56 yo conozco a alguien que rechazó a google y amazon, tras 7 y 5 entrevistas, como 2 semanas en entrevistas y conversaciones con ellos, para irse a una startup en phoenix. Si, phoenix, ese sitio que a la gente cool de California y bay area le suena a puto pueblucho.

El recruiter interno de google llegó a decirle si estaba out of his mind. El de amazon se rió de él. Tal cual.
#56 sigues sin entender y eso que te he hecho un resumen. El comentario "Netflix" era accesorio para apoyar que las pruebas no son infalibles y dejan gente buena fuera. El tema de la conversación es "las pruebas absurdas" (que no garantizan nada, como le pasó a Netflix... pues yo de las pruebas paso, alguna la hice y renuncié al trabajo... ¿dónde está diciendo que renunció a trabajar en Netflix?). Su post está bien escrito, lee despacio y con atención, los dos comentarios seguidos.
#36 No sabes si te van a ofrecer eso porque el sueldo no te lo dicen hasta la última entrevista. Ya has tardado un tiempo en hacer sus ejercicios y todavía no te han dejado preguntarles nada.
#52 si es "una de esas empresas", sabes perfectamente lo que te van a ofrecer en un rango, y si no lo sabes, en 20 minutos de glassdoor lo averiguas.
#55 También sabes cómo son sus entrevistas, y por lo que veo la Netflix que comentas no siempre hace esas pruebas.

www.glassdoor.com/Interview/Netflix-Interview-Questions-E11891.htm

A veces hacen otras más desarrolladas, dónde te dan un problema y lo has de resolver.. Eso es más razonable, pero ellos han de perder tiempo mirando tu código en lugar de tener un programa que lo haga. Al menos los que piden eso valoran tu tiempo.
#52 Si tu haces esas pruebas y No sabes a que sueldo estas optando, el tonto eres tu. Nadie con 2 dedos de frente entra a un proceso de seleccion sin saber el sueldo del puesto.
#74 Pues es lo común.

Tú haces la prueba y solo conoces el rango salarial, que puede ser amplio porque es una prueba previa a la entrevista en la que hablas de temas técnicos y de la entrevista en la que negocias tu salario. Yo normalmente la cerraba si veía que era automatizada, pero ese día tenía tiempo y quería ponerme a prueba.
Tengo algo más de 8 años de experiencia, certificado hasta las trancas (AWS Pro, GCP, Big Data, Scrum, CKA, etc). Trabajo con Java, Python, Go, .Net, C#, etc. He trabajado en empresas de Austria y Alemania. Y aún así, siempre que cambio de trabajo o tengo idea de hacerlo (cada 2-3 años lo he hecho), me suelo tirar 2-3 meses antes preparándome las entrevistas y las pruebas de código en sitios como hackerrank, leetcode o interviewcake.

Si es cierto que algunas entrevistas suelen ser más suaves, si alguien con quien he trabajado está en la empresa, o teóricas si el puesto es más de arquitectura o de management. Pero yo veo estupendo que haya pruebas de código.

#36 yo también he rechazado buenas ofertas sólo por el hecho de hacer procesos de selección como entrenamiento.
#106 no serían ofertas superiores a las que tenías (no sólo económicamente) y como tú dices, por entrenamiento no por los loles de hacerlas por decirles, "NO QUIERO EL TRABAJO, TE JODES j3j3j3jj3"
#9 No entiendo el “gustazo” de perder tiempo haciendo pruebas para al final rechazarlo. Piensa que a ellos les importa una mierda no se van a sentir aleccionados ni nada de eso. Pero si tú te sientes bien yo me alegro mucho eh.
#39 Prueba personal, quería saber si todavía sabía hacer ese tipo de ejercicios.
#9 Esa superioridad moral...

Un saludo.
#65 Ese es otro tema. Si al menos demuestran que gastan en la entrevista el tiempo que tú inviertes es razonable que quieran ver cómo trabajas. Yo estoy en contra de tener que demostrarles algo "solo" a ellos sin nada a cambio. No tengo nada en contra de las pruebas, solo en contra de las pruebas automatizadas de "combina estos numeritos y estás letritas dentro de este método y pasamos los unit tests para ver si vales) porque por experiencia no demuestran capacidad resolutiva y son una criba que ya ha cribado a los que no tienen tiempo de preparar entrevistas, tal vez porque dedican su tiempo a resolver problemas reales

#70 La de los que exigen eso. Ellos dicen que tienen 500 candidatos, pero también hay un número de empresas. ¿Quieres que te demuestre que soy el candidato que quieres sin que tú a cambio me vayas a demostrar que tengo que perder cuatro horas con tu empresa en lugar de con la de al lado?
#72 eso te lo estás montando tú en la cabeza, nadie ha dicho que no te ofrezcan hablar antes. Aquí se habla de gente que se siente jodida y discriminada por no ser capaces de pasar test básicos de algoritmia y resolución de problemas.

Por mucho que hables con ellos y te digan que te van a dar el oro y el moro si te cogen, seguirás necesitando pasar las pruebas.
#93 No, nadie lo ha dicho, pero lo he vivido. Que te digan que te van a entrevistar, reserves un tiempo para la entrevista, te metas en casa con todo cerrado para que no haya ruido de fondo, mires su web para ver lo que hacen y qué preguntarles, te llamen y te digan "lo primero es que pases el test que te mandamos a tu correo, hale, hasta luego".
#93 Ahí estás equivocado, hay muchas empresas que, siquiera antes de dedicarte 5 minutos a contarte su rollo (que entienden que lo ha hecho el recruiter), van y te sueltan un filtro inicial de prueba de código. Tantas, que en los últimos 4 años, ya hubo más entrevistas donde querían que pasase dicho filtro, sin hablar nada con ellos.

En una llegamos a la entrevista en persona, no había cruzado ni una palabra con ellos más allá de "hola, como estás", y me metieron en una sala, me dieron un problema de distribución, y me dieron una hora para hacerlo, y se fueron.

A los 2 minutos, me levanté, salí de la sala, fui por recepción y les dije que me iba, que muchas gracias. Ni llamaron. El recruiter era la primera vez que trabajaba con ellos y se quedó pasmado.

Como comprenderás, igual que está diciendo #72, sin conocer la empresa o al menos que me vendan su humo, pues en algunos casos no me da la gana dedicar mi tiempo sin que ellos se hayan molestado en lo mismo, antes. No se trata de vender el oro y el moro, se trata de que me cuenten sus valores, qué están buscando y qué esperan de mí como profesional y persona, que me cuenten de su día a día, la organización del trabajo, etc.
#9 Tu día a día no es el de un ingeniero de Netflix.
#89 No creas...

Eso sí, a Netflix le da igual usar la criba porque para trabajar en Netflix sí que hay gente a la que no le importa hacer el pino puente. Que una startup del sector financiero pretenda que gastes un tiempo de tu vida para ganar el honor de ser entrevistado por ellos, que ni siquiera van a revisar ese trabajo más allá de un proceso automatico, siendo ellos los que te han llamado, es lo que no comprendo. Si la gente pasa por el aro es su problema, pero yo lo veo como un aro por el que no hemos de pasar en un mercado en el que hay tanta oferta como demanda y las entrevistas son una negociación bidireccoonal, salvo precisamente para Netflix y cuatro más que igual tienen más tirón.
#6 #9 Acabo de por eso durante 3 meses. Lo que quieren es que pagues LeetCode Premium e InterviewCake (casi 500€ de golpe este ultimo).

He debido de hacer 1-2 tests de esos por semana durante 3 meses (los primeros los de Google y Facebook, que son los que introdujeron esta mierda), para que me acabe contratando una empresa que no hace de eso.

#1 Lo que pasa es que cuando ya tienes un trabajo que te ocupa 50-60h a la semana, lo de estudiar autenticas chorradas no resulta tan sencillito ;)
#128 yo usé Interviewbit para las entrevistas de Google y no pagué un céntimo. Pasé las entrevistas así que para mi fue muy util. Solo pagas si necesitas coaching que para mi es totalmente innecesario.

Lo de autenticas chorradas me parece muy triste. De verdad no usas algoritmos, estructuras de datos complejas en tu trabajo ni necesitas soluciones eficientes?
#178 En ningun momento he dicho que en mi trabajo no necesite soluciones eficientes, estas suponiendo que el memorizar esos algoritmos concretos te da la capacidad de encontrar soluciones eficientes.

Memorizar algoritmos concretos no enseña a aplicar algoritmos.
#181 no se trata de memorizar ningún algoritmo, se trata de deducir soluciones. En ninguna prueba he necesitado saber un algoritmo de memoria. Algo tan básico como un BFS/DFS tienes que ser capaz de deducirlo sobre la marcha.
#9 Perdona, se me ha ido el dedo al negativo sin querer :palm: , lo compenso con positivo en otro comentario
#9 Yo voy en la direccion contraria. Me niego a entrar wn ninguna empresa que no aplique algun codetest o te hagan analisis de tus repos publicos o algo.

Son granjas de ofendiditos que lo unico que quieren es no dar un palo al agua.

Los conceptos de algoritmia y el clean code son fundamentales. Si empiezas a olvidar como resolver problemas basicos no pienses que vas a programar bien, solo sabes hacer chapucerias pegando librerias.
#13 No, si los completas todos te has convertido en un tipo que sabe ordenar eficientemente vectores en una hora, algo que casi cualquier otro empleado válido sabrá hacer en hora y media, con esa media hora para repasar los conceptos teóricos que requieren esos ejercicios y que, si estás trabajando, no los recuerdas al dedillo.

Ahora bien, quién pasa esos ejercicios? Quien no trabaja y se prepara ejercicios de ese tipo durante varias horas al día o quien es bueno en su trabajo y está experimentando con nuevas tecnologías y nuevos paradigmas de programación, no preocupándose de prepararse entrevistas precisamente porque es bueno y no le falta trabajo?

#179 Los conceptos son fundamentales, programar un binary tree contra reloj no lo es. Si quiero que alguien me resuelva algo contra reloj, quiero que al menos parezca un problema real y ver como lo descompone y lo analiza. Las estructuras de datos están en Internet y en una entrevista veo rápidamente si las conoce o no, y si las conoce sabrá implementarlas una vez las haya repasado.

Al final es lo de siempre: Quieres gente que se haya preparado para el trabajo o para aprobar el examen? Más cuando quien sabe hacer el trabajo ya no se prepara el examen de nuevo.
#186 Tambien reconozco que hay entrevistas tecnicas y entrevistas tecnicas. Y buenas y malas.

Basicamente hay dos tipos:

¿Si simplemente te meten tests automatizados? Lo normal es que te dejen usar CUALQUIER recurso y el problema se reduce a "hazme una solucion que funcione con las herramientas que conoces". En java lo tenemos facil por que tenemos muchas colecciones, pero yo por ejemplo tengo ya paquetes mios de estructuras de datos o si no se como construirlos componiendo otras estructuras aunque no sea tan eficiente.
Si usas lenguajes sin colecciones (hola C) tienes que saber implementarlo o tener alguna libreria por ahi si o si.

¿Te preguntan que lo implementes en vivo? Se razonarte un binary tree o WL tree o un trie sobre un white board y saber que expectativas puedo tener de una BD. Nadie en su sano juicio te pedira que lo implementes contra reloj excepto para ver cuan rapido eres capaz de traducirlo. Y si lo hacen, cuando lo hacen lo que buscan es ver si sabes argumentar los tradeoffs (donde el tiempo de implementacion ES un trade off, asi como los agujeros tecnicos que tengas que no vean ciertos corner cases que la experiencia te daria). Estas entrevistas ademas te van a ir cambiando los requerimientos (mas cercano a un trabajo de verdad) para que enseñes si sabes cuando puede ser optimo cambiar una estructura de datos a otra, o una arquitectura a otra, y si estas son mantenibles (facil cambio, 0 acoplamiento...)


Ahora, si te intentan mezclar churras con merinas, ya te puedo asegurar que no, la empresa no es buena.

Y prefero 40000000000 millones de veces un sistema de filtrado objetivo como "hazme este problema" donde puedes tener mas o menos suerte pero es conocimiento seguro (aka usable en todos lados) que te filtren por
-Un CV que puede estar hecho de 40K maneras y que 40K personas tienen opiniones distintas (y muy pocas saben o tienen insights reales y no prejuicios absrudos)
-Un Screening call con mr "soy tecnico pero no soy tecnico pero a ver si pillo el mayor ratio años de experiencia/dinero" y que es facil de engañar
-Referencias (lol)


Finalmente: decir que esto da para tocho post mas largo, pero si queria poner una conclusion.

No hay sistema de seleccion perfecto que no incluya el trabajo con el trabajador previo al contrato. Y esto es MUY, MUY dificil de implementar en muchos sentidos. Todo lo demas sera gamilificable o tendra resquicios ocultos con los que se puede jugar para que no sea correcto.

Hay que partir de eso siempre. Luego entramos en el terreno de los menos malos. Y, aunque lo que dices es cierto, las ventajas superan ampliamente los inconvenientes.
#192 #195 Estoy convencido de que no estamos hablando de los mismos tests.

No tengo ningún problema en que, en un momento de la entrevista en el que ya sé que me interesa la empresa, me llegue un ejercicio técnico (o incluso me den varios días para hacer uno) en el que tenga que elegir la estructura de datos, como comunicar entre distintos servicios, qué dato procesar antes... lo que sea para realizar un ejercicio. Estos ejercicios, por otra parte, los tiene que revisar una persona para ver lo que has hecho, el estilo, la limpieza...

Por desgracia, esto no es así, al menos en las pruebas que se pusieron de moda hace un tiempo y que parece que te piden hacer antes incluso de la entrevista, sin que tú puedas elegir porque te dan una web en la que poner tu código donde ni siquiera puedes usar tu IDE, tu estilo ni nada. Por ejemplo, algo que se ha puesto antes:

leetcode.com/problems/substring-with-concatenation-of-all-words/

No, me niego, salvo que sea el trabajo de mi vida, me piden que haga ejercicios de este tipo y no me apetece. Si quiero perder mi tiempo me meto en meneame, si quiero hacer algo útil buscaré algo que considere interesante, jugar reordenando numeritos y substrings para obtener una entrevista no es algo que me apetezca.Y seguro que si hago varios ejercicios similares a diario, cuando vea este lo pasaré con facilidad, pero trabajaré con la gente que ha invertido tiempo en prepararse entrevistas, por lo que está claro que ha sido gente a la que no le sobraba el trabajo. No ha cribado para quedarse con los mejores, sino que ha cribado para quedarse con los que han tenido que hacerse expertos en entrevistas, que es razonable pensar que no son los mejores sino todo lo contrario.

El trabajo de los ingenieros de Silicon Valley es tener un problema, pensarlo, evaluar qué es lo mejor e implementarlo. Estos ejercicios automatizados, al menos siempre que los he visto, han sido contrareloj y solo demuestran que tienes ciertos conceptos estadísticos y combinatorios tan recientes que los puedes usar sin tener que buscar en google.
#186 ¿pero qué ordenar vectores? Todo el mundo sabe ordenar un vector o puede aprender en un rato. Eso es un problema de nivel fácil.

Los problemas complicados son los que ni siquiera sabes que estructura de datos es la mejor, o en los que los datos de entrada son un array con 10 millones de elementos con los que tienes que hacer algo en un programa que termine su ejecución en no más tiempo que lo que se tarda en recorrer el array (es decir, no lo puedes recorrer dos veces), no puedes usar memoria auxiliar, etc.

El trabajo de muchos ingenieros de software en Silicon Valley son algoritmos supereficientes todo el día. No es programación "de batalla" a la española. Cuando estás trabajando en software que tiene que escalar a millones de personas y cada una de esas personas tiene un coste la eficiencia es lo más importante.
#9 Yo hago entrevistas en trabajos interesantes pero mal pagados para decirles que no. Suelen aumentar la oferta días más tarde.
#218 Eso no es frecuente donde estoy.

Negocias el salario en la última entrevista, por lo que la oferta final suele ser algo que vas a aceptar, o, si ven que no vas a aceptarla, directamente no te la hacen.
#219 Si la hacen y se quedan con un palmo de narices cuando ven que eres el candidato ideal y les rechazas.
#220 No necesariamente. Si el sueldo que has dicho que pides es menor que el que ellos ofrecen, y en la negociación te sugieren que es muy alto para ellos y tú dices que no aceptas menos, no van a entrar en el juego de hacer ofertas para ver si cuela. Si no aceptas una oferta que has dicho que aceptarías, quedas muy mal y es casi seguro que no te harán otra En España es frecuente que se haga, en otros países no tanto. Igual que antes he dicho que tengo mi tiempo en mucha estima, los de recursos humanos y cuentas de esa empresa también tienen el suyo, y no van a perder el tiempo conmigo si ven que estoy jugando con ellos.

menéame