Yari Taft · 20:10 · https://www.youtube.com/watch?v=rkm5mAymtg4

1. El error que te puede dejar FUERA aunque seas buen programador

0:00 Me acuerdo cuando estaba entrevistando a un candidato para una entrevista técnica y que todo su currículum y suinken gritaban frontend amar no poder. O sea, eran 50 tecnologías de frontend en la lista de tareas, 50 tecnologías en la lista de habilidades y literalmente una al final que sea Python y nada más y por eso se postulado como full stack. Obviamente cuando vi eso empecé a decirle, "Bueno, okay, explícame que es un generator en Python, explícame qué bondades tiene Fast.

0:27 Explícame qué es el Gil en Python."Y obviamente las respuestas serán, eh, bueno, no me así Gil así con ese nombre no lo sé, pero si me decí un solo nombre es obvio que no no sabes. Entonces, sin embargo, cuando le preguntaba por cosas de, "Okay, ¿me puedes explicar qué es el virtual Dom?"Ah, sí, sí, perfecto. El Virtual Dome es una estructura que compara el DOM real con el DOM virtual. se rendería solo la diferencia.

0:51 Y ahí te das cuenta que el tipo era fanático de frontend, no le gustaba nada el backen y puso backen en en en el perfil porque bueno, se busca más fullstack, pero el tema es que después en la tenista técnica se la pasaba insistiendo en mirá que yo soy experto en lo que no necesita nadie, eh, así que contrátenme y literalmente no no funcionaba. Entonces es como obviamente terminamos ese proceso teniendo que elegir a otro candidato porque no estaba alineado con el mercado y lo que no paró de comunicar en la entrevista técnica es que él era exactamente lo que nadie

2. Los 5 tipos de entrevistas técnicas que tenés que conocer

1:21 necesita. Entonces estaba condenado desde el principio. Y por más que suene gracioso y yo te lo digo ahora con estos conocimientos y pueda parecer obvio, la realidad es que este error seguro que lo estés cometiendo también vos en las entrevistas porque lo veo todo el tiempo. He tomado cientos de entrevistas y todo el tiempo veo este error repetido, tanto con los frontenders como otros perfiles, quizás otras tecnologías de backend o lo que sea.

1:43 Y ahora vos podrás estar pensando, bueno, okay, pero es lo que yo sé o lo que a mí me queda cómodo. Y la realidad es que no te va a servir, o sea, y si pensaste en hacer trampa, peor todavía. O sea, se nota aleguas cuando eh vos estás, por ejemplo, te hacen una pregunta de algo que no te queda cómodo y ya miras otra pantalla, a veces hasta cambia la iluminación, tipo quizás estabas en una página con fondo negro, pasaste a una página con fondo blanco, se te ilumina toda la cara de blanco y es obvio que te estás copiando.

2:12 Entonces, la solución no va alrededor de no prepararte, ni tampoco va alrededor de comunicar mal, ni tampoco va alrededor de hacer trampa, porque cualquiera de esas cosas que hagas te van a descartar de todos modos, porque notan, se notan hasta hasta en tu vocabulario. O sea, si vos estás así todo desenvuelto hablando y de repente cuando te hacen una pregunta, sí, el virtual do me está, o sea, es es muy obvio y de eso se trata, de no ser obvios, o sea, se puede ir preparado y eso no es trampa.

2:38 300 entrevistas y también pasé del otro lado, es decir, tuve 300 entrevistas como entrevistado y también como entrevistador y la verdad es que postulando para empresas de afuera, saqué muchos insights y gran parte de eso es lo que te voy a contar el día de hoy. Y no solo eso, al haber sido entrevistado múltiples veces y al haber sido entrevistador, te puedo contar la película de los dos lados del mostrador. Así que te voy a mostrar los cinco tipos de entrevistas técnicas que existen, porque no es una sola cosa y aparte cada una de ellas se prepara de una forma completamente distinta y el error que descarta a más candidatos que no tiene nada que ver con el código y te doy un gran hábito que tendrías que incorporar a partir de ahora mismo y es hablar en voz alta lo que estás pensando.

3:21 Eso te ayuda en todo tipo de entrevistas. Explica qué vas a hacer antes de hacerlo. Es literalmente el gesto que te salva de parecer un tramposo y el que justamente es senior le importa más tu forma de pensar, tu forma de relacionar conceptos más [música] que el hecho de si te acordas o no una definición de memoria. Sobre el final del video, si querés te cuento a modo anecdótico cómo fue que encontramos que encima esta persona estaba haciendo trampa, por lo cual si ya estaba descartado desde antes cuando vimos que hacía trampa, mucho más todavía.

3:50 Primero, saquémonos de encima el mito de que la entrevista técnica es una sola cosa. No, tenés muchos tipos de entrevista técnica. Por eso muchas veces cuando un alumno le pregunta, "Okay, ¿qué entrevista te van a evaluar?"No, una técnica. Ah, bueno, es como decirme, "¿A qué país vas a ir?" No, a uno. Es como, "Okay, bueno, buena suerte llegando a un país y no sabes ni siquiera dónde vas a ir."Entonces, esto es exactamente lo mismo.

4:09 Tenés que desde la entrevista de recursos humanos averiguar qué tipo de entrevista técnica te van a tomar. Y acá justamente te vamos a explicar los distintos tipos que te pueden llegar a evaluar. La entrevista número uno son las entrevistas de diseño de arquitectura, design system, diseño de solución.

4:23 Lo puedes tener con todo los nombres que te guste. [música] En definitiva, es que te plantean un sistema y tenés que diseñarlo a nivel de componente. Por ejemplo, si yo quisiera hacer un Twitter propio, ¿cómo lo pensarías? ¿Qué base de datos elegirías? ¿Con qué servicios de la nube lo depollarías? ¿Cómo harías el backend? ¿Cómo harías el frontend? ¿Cuándo harías comunicación sincrónica? ¿Cuándo harías asincrónica? ¿Dónde pondrías web sockets? ¿Dónde pondrías webhooks? Todo ese tipo de comunicación, todos esos componentes que hacen a la solución es lo que el entrevistador quiere que vos le des.

4:53 Y lo que se suele hacer también en este tipo de entrevistas, que a mí me encanta, es que en el medio de que vos me estás planteando la solución, yo te cambio las reglas. Es como, bueno, mira, la aplicación anduvo bárbaro y ahora hay que darle servicio a 50,000 usuarios. ¿Cómo lo cambiarías? ¿O qué le agregarías?

5:09 Entonces, la idea es ver si la arquitectura que vos planteaste es flexible ante los cambios de requerimientos. Y si no lo es, ya sabes que está mal. Estas entrevistas para mí son las que más se muestra el Señority por escándalo, porque justamente te muestran que conoces de back, de front, de deployment, de base de datos, o sea, es el lugar para brillar si sos un senior de ver como Dios manda. El segundo tipo de entrevistas son las entrevistas de live code, algoritmia, estructura de datos, como quieran decirle.

5:38 La realidad es que este es el terror de la mayoría de los developers porque son entrevistas altamente académicas y probablemente si no fuiste a la universidad y no te gusten para nada porque te piden como calcular la complejidad algorítmica, porque probablemente si nunca programas en vivo te pongas nervioso, porque tenés que conocer ciertas estructuras de datos y algoritmos que a lo mejor no estás familiarizado a trabajar y más aún ahora con la época de la inteligencia artificial donde cada vez menos se programa y aparte porque te pide lógica.

6:06 Obviamente estas también hay distintas formas de prepararlas y de hecho si te gustaría un video en el que te explique cómo hacer para pasar cada una este tipo de entrevistas, podés comentar pidiéndomelo, que si llegamos a varios comentarios lo voy a hacer el video. Tercer tipo de entrevista y esta es una

3. El terror de todo programador: Live Coding

6:21 de las más habituales, la famosísima entrevista teóricotécnica, que son preguntas de concepto y pueden ser de todo. Puede ser de programación orientada a objetos, de patrones de diseño, de patrones de arquitectura, de Solid, de ados, de tu framewor, de tu lenguaje, de cómo harías si una aplicación está lenta para hacer el debugging, de cómo, por ejemplo, escalarías un servicio de paralelismo, concurrencia, o sea, puede ser un poco de todo, pero por más que te parezca infinito, la realidad es que no es infinita la lista de preguntas y se puede recontrapreparar.

6:51 Para mí son de las entrevistas más fáciles de preparar, es ponerte una o dos tardes y con exámenes de práctica libre los terminás sacando. Lo que termina pasando en este tipo de entrevistas es que la mayoría de los programadores van sin preparación, después te hacen una pregunta conceptual y te va mal, ¿por qué no estudiaste?

7:07 Es como obvio, si vas a un examen sin estudiar, te ves mal. Entonces estudia y prepárate. Y aparte no es un detalle molesto que me pide el entrevistador, es literalmente la tecnología con la que trabajas todos los días de tu vida. Tendrías que entenderla perfecto para dar buenas soluciones. Entonces, no te lo tomes como una molestia, tómatelo como una profesionalización de lo que estás haciendo porque es lo que es. El cuarto tipo de entrevista técnica son las entrevistas de plataforma,

7:31 particularmente a mí no me gustan ni un poco, que es cuando te dan un link y te dicen, "Tenés una hora para resolverlo desde que lo abriste. ¿Es un desafío o algo por el estilo?"A veces te hacen preguntas teóricas, a veces te dan ejercicios, a veces te dicen, "Decime cuál de estos tres códigos resuelven tal cosa."La verdad es que a mí no me gusta mucho porque suelen evaluar muchas cosas de memoria y a veces me parece que no

7:51 dan cuenta realmente el nivel del candidato porque a lo mejor no pudiste

4. El error que MÁS candidatos cometen

7:55 resolver el ejercicio y la plataforma te lo va a categorizar mal y te va a dejar afuera cuando a lo mejor un entrevistador se da cuenta que pensaste todo perfecto, que entendé los conceptos y que si tenía 10 minutos más lo resolvía bárbaro. Entonces, lamentablemente, todo eso se pierde en una entrevista de plataforma y se suelen preponderar un montón de preguntas muy de memoria, como mandar ciertos argumentos en distinto orden una función y ver qué pasaría, como si uno fuese un compilador humano, cosa que para mí no tiene ningún tipo de sentido.

8:21 Y el quinto tipo de entrevista son las entrevistas de Take Home Challenge. Esto quiere decir que te pueden dar un fin de semana para resolver un ejercicio y vos tendrías que entregarlo de la mejor forma posible. Acá donde todo el mundo la caga es que normalmente lo entregan así no más. O sea, si el ejercicio me pide a, te entrego A y punto. Cuando en la realidad quieren ver cómo te manejaste con el git, quieren ver cómo te manejaste con el proyecto, si lo despolyaste, si hiciste el back, si hiciste el front, si cumpliste todas las consignas, si lo hiciste con buenas prácticas, si documentaste, si lo testeaste. que la mayoría de los programadores ni siquiera saben testear, o sea, no saben usar correctamente unit testing e integration testing.

8:57 Algunos ni siquiera saben lo que es un MOC, por lo cual usan todo con las dependencias reales y necesitan que una API esté levantada para poder correr los test, cosa que está completamente erróneos y ya está. Demuestra que no entendés el concepto de lo que es un test. Entonces, todo ese tipo de errores son los que te tienes que ahorrar en este tipo de entrevistas. Si te gustaría nuevamente que te explique en un video cómo hacer para resolver esto, comentame y lo puedo armar.

9:20 Y ahora me podrá decir, "Okay, Shari, pero ¿y cómo sé cuál me van a tomar?"Bueno, obviamente, como te dije antes, eso lo tenés que preguntar en la entrevista de recursos humanos y también depende del señority y de la empresa. O sea, no es lo mismo una empresa que te paga $1,000 por mes a uno que te paga 8,000 o 10,000. Obviamente el nivel de complejidad va subiendo. A un junior probablemente no le pregunten algo de arquitectura superclejo y a un senior seguramente vayan por el lado de arquitectura y temas bien complejos como paralelismo y concurrencia.

9:45 Si apuntas a empresas de Estados Unidos que te paguen bien y prepárate para que te tomen las entrevistas más difíciles que hay. Y sé que hay mucha gente que se queja de las pruebas, que te dice, "Up, esto no tiene nada que ver con lo que voy a hacer programando y todo y es como, bueno, okay, listo. Mientras vos te quejá, otro que no se queja, pasa la entrevista y eran $8,000 por mes. Entonces vos puedes elegir cuál que cuál de los dos quieres ser.

10:07 Ahora bien, hasta acá hablamos de la parte técnica, pero te dije al principio que el error que más candidatos descarta no tiene nada que ver con el código y es esto que viene

5. ¿Te están mirando cuando usás IA en una entrevista?

10:16 ahora. Presta mucha atención porque esto lo veo todas las semanas. El error de la comunicación y en concreto tres cosas que se repiten constantemente. Falla número uno, no responden la pregunta. Por ejemplo, te doy ejemplos reales. Le pregunto a un candidato, "¿Cuál fue tu experiencia en tal equipo siendo tal tarea?" y me responde con un monólogo diciéndome un millón de borudeces que no tienen nada que ver y se va tanto por las ramas que me dijo de todo menos lo que le pregunté, porque literalmente no me explicó la experiencia en ese trabajo.

10:47 Me pasa también que le pregunto, "¿Cuánta experiencia tenés en Java?"No, bueno, yo cuando arranqué era trabajaba en Visual Basic y manejé este framework y después eh me gustó JavaScript, aunque siempre fui más del back, pero bueno, ahora me gusta el front, aunque cada tanto he tocado y te cuentan la historia de su vida, terminó la respuesta de 3 minutos y medio y no te dijo cuántos años tiene la experiencia en JavaScript. Hola, más graciosa. Ah, no, desde que arranqué es como, ah, dale, bárbaro, espérame que te leo la mente, así veo cuando arrancaste y calculo.

11:14 Amigo, te estoy preguntando cuántos años experiencia tenés en JavaScript. Respondemme fucking cuántos años tenés de experiencia. Yael, no es tan difícil. Si te pregunto, te pregunto por un número, me decís el lunes, terminó. Eso es comunicación, comunicación efectiva, ¿entendés? Entonces, en vez de asumir que el entrevistador te lee la mente o en vez de irte por las ramas contestando boludeces, concéntrate en lo que te están preguntando y respondé lo que te están preguntando. Es tan sencillo como eso.

11:39 Falla número dos, no justificar las decisiones. Por ejemplo, elegiste una tecnología y claramente la elegiste porque te gusta, porque te queda o sos fanático de Java o de Punet o lo que sea. Entonces es como elegí. NET porqueaguante.net. Ah, bueno, sí, sos resenior y haces eso. O sea, ¿cómo no podes hacer? No podés contestar eso. O sea, obviamente no es que contesten eso realmente en una entrevista, pero te das cuenta que la decisión es claramente por la cuestión de comodidad.

12:05 Y cuando te preguntan, ¿no? Bueno, porque punto te hace soluciones muy escalables y performantes y es como es el famoso decirme que no sabes nada sin decirme que no sabes nada. Bueno, literalmente eso, porque a ver que una solución sea performante, escalab son cosas que son humo, no es nada concreto, no me estás diciendo realmente nada concreto. Ahora, distinto sería si vos me decís, "No, mira, elegí Python porque tenemos muchos proyectos corriendo cosas de inteligencia artificial de forma local."

12:34 Entonces, por este motivo nos parece que lo más lo que más sentido tiene es correr un backen en Python. Bueno, okay, puede tener sentido. O que me diga, mira, la verdad queremos manejar varios threats de ejecución en simultáneo, entonces por elegimos, por eso elegimos Java, porque con la JBM podemos tener múltiples threads. Okay, te lo tomo. Es un motivo concreto y válido. Ahora, no porque es performante y impulsa buenas prácticas. Es humo, humo, como decirte, nada, porque está rebueno.

13:00 Eh, contestar eso es lo mismo, porque no me estás contestando nada. O sea, en cualquier lenguaje puedes hacer código performante con buenas prácticas. O sea, son todos los lenguajes a día de hoy más o menos parecidos. Contestar algo así de vago es lo mismo que no contestar nada. Y de hecho, tarea para el hogar. Si no sabes cuáles son las bondades del lenguaje y framework que manejas todos los días de tu vida, te tocaría averiguarlo, porque siempre hay un motivo por el cual elegir uno versus el otro.

13:24 Falla número tres, menospreciar lo que hiciste. Me pasa todo el tiempo que cuando entrevisto algunas personas para procesos de entrevista y demás, quizás les pregunto, "Okay, ¿qué hesiste tener proyecto?"No, bueno, hice points en el backend y capaz muere la respuesta ahí y es como, "Okay, pero y no no definiste el esquema de la base de datos, no definiste."Ah, sí, sí, eso también. ¿Y por qué no me lo decís? O sea, es como literalmente si yo te tengo que sacar las palabras de la boca, ¿qué voy a asumir? que después cuando trabajemos vas a trabajar igual me vas a haber hecho 10 cosas, vas a comunicar que hiciste una y si yo no adiviné que vos hiciste las otras nueve, probablemente voy a asumir que no las hiciste y capaz que sí las hiciste.

14:07 Entonces, tenés que comunicar lo que hiciste porque lo peor de todo es que ya lo hiciste. O sea, la parte difícil que era hacerlo ya lo hiciste y ahora que solamente tenés que comunicar que lo hiciste, no lo haces. Entonces, lamentablemente, no solamente alcanza con ser bueno, hay que parecerlo. Entonces, si vos haces las cosas y después no las comunicas, sos bueno y no parecés bueno. Y como no parecés bueno, lo que yo voy a asumir es que no sos bueno.

14:28 Y es una lástima porque en realidad sí lo sos. Entonces, tenés que acostumbrarte a explicar todo lo que estás haciendo con lujo detalle. O sea, es un poco un proceso de venta el tema de la entrevista porque soy en algún punto yo mismo vendiéndome a mí mismo como el mejor candidato para que la empresa contrate. Entonces, imagínate que si a lo mejor te cuesta en español, imagínate hacerlo en inglés para una empresa de Estados Unidos en el cual tenés que explicar tu razonamiento en inglés y aparte tenés que seguir vendiéndote y promocionar lo que estás haciendo.

14:56 Entonces, si sos de las personas que dicen, "No, yo lo leo y lo entiendo, pero no lo hablo."Y no te sirve. O sea, lamentablemente te quedas corto y es un problema de comunicación, ya no tiene nada que ver lo técnico. Entonces, la última cosa de este bloque es la inteligencia artificial. La verdad que en las pruebas técnicas, en la mayoría de ellas está prohibida y tiene lógica. O sea, la IA te resuelve casi cualquier problema en segundos, pero lo que se está evaluando no es la IA.

15:19 O sea, porque si yo quiero evaluar la IA, me siento con Cloud, empiezo a hacerle pregunta y me doy cuenta si sabe o no sabe, pero yo quiero saber si vos sabés. Entonces, lo que se está evaluando es tu razonamiento y tus conocimientos. O sea, yo quiero ver si vos entendés la solución, cómo pensás una solución, cómo la implementass, qué herramientas utilizas, porque después el que va a guiar la inteligencia artificial sos vos. Entonces, si yo me doy cuenta que vos me podés explicar con el razonamiento, me podés justificar qué tecnologías elegirías, por qué, cómo, etcétera, listo, esta persona va a guiar bien a la inteligencia artificial.

15:53 En cambio, si no entendés nada de todo eso y encima te doy una inteligencia artificial, es como un mono con una ametralladora, no, no me sirve. Y ahora sí, lo que te prometí con la anécdota del principio, ¿cómo hacemos los entrevistadores para cazar a los tramposos en 2 minutos? Y te va a sorprender de lo fácil que es. Del otro lado de la pantalla, los entrevistadores estamos mirando mucho más que el código y hay señales que te delatan como tramposo al instante.

16:17 Miradas constantes hacia un costado, como por ejemplo consultando otra pantalla, que de repente el color de la página cambie y tenías un fondo negro, de repente cambia un fondo blanco y de repente ahora sabes la respuesta que no te salía ni loco y que lo estás leyendo de una forma mega mecánica que no tiene nada que ver con la línea base de tu comunicación anterior. de repente que se escuche el teclado. Muchas veces tienen teclado mecánico que se escucha cuando están tipeando y se nota cuando uno está tipeando pues está mirando otra pantalla

16:45 porque entonces obviamente que te das cuenta que la persona está haciendo trampa no es muy difícil realmente inclusive se nota por la cadencia con la que estás hablando, porque quizás vos decís, como dije antes, capaz vos decís, "No, bueno, porque nos manejamos con esto deología, etcétera, etcétera."Okay, me puedes explicar que se vivir en Python. Sí, sí. Tecleada, tecleada, tecleada. mirando para el costado, se me ilumina la pantalla de blanco. El Gillen Palton es una estructura muy utilizada por es como, "¿No venías hablando así?

17:12 ¿Por qué de cosa que es obvio que está riendo, es muy tonto, o sea, es como muy infantil?"Entonces, justamente para mí la mejor forma de pasar una entrevista es estando preparado, no queriendo hacer trampa último momento para safar. Y aparte la otra forma de agarrarte no solo es viendo esos comportamientos que ponele que podés entrenarte para disimularlos bastante, sino que lo otro es, okay, me diste la solución, ¿no? Y pasó los tests, por ejemplo, en el caso en L code, bárbaro, listo, genial.

17:42 Ahora, ¿por qué hiciste esto así? ¿Por qué elegiste este algoritmo? ¿Por qué elegiste esta tecnología? ¿Por qué tomaste tal decisión? Listo. Si lo decidió la IA, probablemente respondas cualquier cosa y si está bien resuelto, o sea, es como, si vos me implementaste un binary search y te estoy preguntando por qué lo hiciste así y no me sabes explicar que es un binary search, es obvio que no lo hiciste vos. Entonces, justamente eso se trata. Es muy fácil, se nota en 2 segundos con una persona que entiende de lo que está hablando.

18:07 Y la segunda y especialmente mi favorita son los test en caliente. Es decir, te sumo una prueba unitaria ahí en vivo, a veces con un escenario directamente inválido, te pregunto, ¿qué crees que va a pasar con esto? Y no te dejo, no te dejo programar, te lo pregunto así al pasar al aire para entender tu forma de pensar, no lo vas a poder improvisar realmente. Y ahí es donde es el que se copió se hunde. Ahora, el consejo final y el más importante del video es pensá lo que vas a hacer antes de hacerlo y qué estás haciendo mientras lo haces.

18:38 Normalmente el que hace trampa, como te dije antes, tipea en silencio, responde mecánico, todo, y el que sabe te explica todo. Es como, mira a ver, dado la naturaleza del problema, me parece que podremos aplicar un binary search. Déjame que lo sigo leyendo bien y ahí te confirmo y es como, okay, no me acabo de dar cuenta que no, que esto por un Binary search no se resuelve porque el array no está ordenado, etcétera, etcétera. Y te voy explicando todo.

19:01 En cambio, obviamente si si me estoy copiando es muy obvio, ¿no? No hay tal camino de pensamiento. O sea, es como pasé de no saber nada ya darte la solución sin camino de pensamiento. Y aparte, como digo, inclusive hasta si yo creí que la solución iba por un lado y después iba por otra, está bien, porque es la forma en la que yo pienso y razono y te muestro, te subcomunico que sé lo que es un binary search y sé en qué casos aplica y me acabo de dar cuenta que en este caso no aplica.

19:27 Entonces, fíjate como aún entre comillas habiéndome equivocado, te demuestro que sé versus la otra persona que te responde bien de una y es obvio que es mentira, o sea, que es trampa. Y ahora que ya sabes cómo es una entrevista técnica real, los cinco tipos que existen, los errores de comunicación, lo que descarta la mayoría y que mira de verdad el entrevistador, si querés llevar esto al siguiente nivel, te digo algo. ¿Es posible como programador o ingenier trabajar remoto para Estados Unidos desde Latinoamérica ganando entre 5000 a 8000 por mes desde tu casa?

19:58 Y para eso, justamente, tengo un video en el que te explico paso a paso cómo hacer eso. Si te interesa, lo encontrás en la descripción de este video.