Cómo aprendí a dejar de preocuparme y amar la entrevista

desu

Hola soy @desu

En este hilo voy a recopilar material de calidad para pasar una entrevista de trabajo para una posición de SWE en el sector IT. De las (Amazon, Google, Uber, Microsoft, Airbnb, Linkedin... etc) a pequeñas Startups.

El hilo

Este es el hilo que me hubiese gustado encontrar hace 1 año. Bueno, si me hubiesen dado una buena colleja el primer día de uni también me habría valido. Las collejas que no te dieron en su momento todas de golpe te las va dando la experiencia poco a poco, hija de puta. Para aprender? Hay mil cosas y en github se hacen recopilaciones enormes pero hay TANTO que te distraes... Yo siempre me distraigo con todo, doy mil vueltas porqué no quiero joderla.

Esto es el resumen del resumen y algo de historieta con su tragicomedia. Por desgracia la mayoría de memes que forman mi vida los sufro a diario.

¿Que encontraras?
(En post aparte referenciados)

  • Como reconocer algoritmos, sus patrones #86
  • Como tener el resume, #92
  • Como he preparado la entrevista. Consejos, material, mis apuntes...
  • Como he negociado el sueldo. Referencias a blogs, conocer como funcionan los contratos por Europa vs lo que lees en reddit(usa) etc.
  • Paises para trabajar. Aunque probaré empresas de España también... Aquí hablaré de que sueldos son aceptables centrado en tech hubs europeos, listas de empresas, posibles tax reductions etc.

Sitios de interés

Reddit:
https://www.reddit.com/r/cscareerquestions/
https://www.reddit.com/r/cscareerquestionsEU/

Toque:
https://leetcode.com/
https://www.geeksforgeeks.org/
https://exercism.io/

Resume / Cover Letter

Aparte de reddit, la CMU es una buena fuente:
https://www.cmu.edu/career/students-and-alumni/write-a-resume-or-cover-letter/index.html
(palabras clave de acción, cuantificar y detallar bien TUS logros, NO lo lo que has hecho, tu IMPACTO etc. etc. Saber venderte)

Voy a poner mi resume censurado... Tampoco hace falta más. Hoy en día la gente que tiene un mal resume es gente que ni ha googleado. El resume se tarda un par de días en hacerlo... Hay que dedicarle HORAS. Pedid feedback constante en los foros. Cuanta más gente lo lea y lo entienda mejor es.

Esta en #92


Entrevista técnica

Esto varia según tu posición y experiencia.

Si quieres ser data engineer prepara SQL, algo de big data, system design....
Si quieres ser ML o data science pues preguntas de estadística y probabilidad...
Si quieres ser SWE preparas la entrevista general.

Depende de la entrevista hay varias fases, las que hay que llevar preparadas. Aquí se te van a ir de decenas a cientos de horas de estudio ... Es lo que hay.

Esto es lo que yo preparo y como lo preparo.

Behaviour

Te preparas una tabla en word o excel con tu experiencia laboral y protectos personales.
Para cada elemento te pones dificultades técnicas, conflictos, logros... etc
Ten una respuesta para todo tipo de pregunta de este estilo.

A continuación os pongo mi tabla censurada:

En los recursos de abajo hay una cheet sheat.

Estructura técninca

Recursos: http://www.crackingthepminterview.com/resources.html

Lo peor que te vas a encontrar va a ser un proceso de 4-6 fases. Algo así:

1. Hackerrank / Reto: Te pueden mandar un proyecto para hacer en casa o un reto de hackerrank (esto esta de moda a día de hoy).
2. Skype: leetcode, big O, preguntas teoricas sobre frameworks o tu experiencia...
3. On site: Varias rondas más de entrevistas técnicas, leetcode, patrones / system design.
4. La ultima ronda siempre suele ser alguien del equipo que te quiera fichar o el que decide si hay oferta. Esta fase en FAANG y similares ahora se decide por comité.
5. Oferta, o mejor dicho, negociación.
(Yo no hago nada de deberes para casa que sea más de 2h)

Como grindear

Hackerrank para la primer fase + Leetcode para temas en general.
Si la entrevista va de X lenguaje, buscar en geeksforgeeks que preguntas sobre X lenguaje se hace en la compañia.
Devidir el trabajo en fases, y dependiendo del nivel de dificultad

- Fase 0:

Hacer proyectos y hacerlos en lenguajes que te interese (Rust, Go, Kotlin...)
Hacer algún curso de coursera para pillar bases:
https://www.coursera.org/learn/algorithms-part1
https://www.coursera.org/learn/algorithms-part2
Participar en eventos de competitive programming, hackathons etc.

- Fase 1: LC + HR
Hackerrank easy 10 (para pillar como van)
Leetcode easy 80
Leetcode medium 10
LC ratio 8:1, 8 easy, 1 medium.

Fase 2:
Subir dificultad, bajar tiempos de resolución.

El mejor consejo que he leído, mido los días en horas de estudio, no importa cuantos resuelvas, dedícale horas... Mira las soluciones y estudiarlas y ya volverás si no te sale. Cuantifica en horas no en resueltos porqué te vas a rallar.

Es un gran consejo, ahora lo aplico a la lectura, intento leer una media horita cada día, me dan igual las páginas o los capítulos. Mido en tiempo, en esfuerzo. Lo puedes aplicar a cualquier cosa.

System Design

Va bien leer blogs de engineering de Twitter, Uber, Linkedin, Netflix etc...

https://github.com/donnemartin/system-design-primer
https://www.educative.io/collection/5668639101419520/5649050225344512

Conocimiento general de arquitecturas modernas y luego prepararte las típicas por si cae.

55
Ranthas

Soy el primero que hace la broma tonta o pone un meme a raiz de tus posts en feda, pero este hilo es 10/10

Lo seguire de cerca y gracias por el aporte

Hipnos

Aprende a expresarte. Yo tengo bastante mano con las entrevistas.

¿Por qué? Porque llevo 15 años de puto dungeon máster y nadie de rrhh es más listo que mis jugadores. Improvisar es vivir.

11 4 respuestas
desu

#3 He editado el hilo 50 veces ya. Lo leo y re-escribo. Voy a hacer un bucle hasta que sea entendible. Sin más. Toda la parte que estoy poniendo de introducción no la tengo preparada y estoy improvisando algo para dar movimiento al hilo.

1 respuesta
Hipnos

#4 No lo digo por tu hilo, lo digo por las palabras que eliges. Hasta tu respuesta es tremendamente analítica.

Tener buena expresividad en el trabajo facilita todo: desde evitar conflictos, negociar mejor, convencer a la gente de que sus expectativas son irreales, etc.

La mayoría de la gente que conozco que está enquistada en un puesto de trabajo mediocre es porque no tiene una buena expresividad oral y escrita. No dudo de que seas alguien inteligente, simplemente te doy mi visión de que igual hay skills que puedes ganar y te van a hacer tirar esos dados con más probabilidad a tu favor.

1 1 respuesta
X-Crim

Con quien te gustaría competir en una entrevista por el mismo puesto? Le ganarías? Debe ser del foro

1 respuesta
Peinacabras

Menudo sueldo de mierda

espikiller

Lo que está claro que en este país sin contacto las posibilidades se reducen infinitamente.

1 respuesta
desu

#5 Si es un tema que tocaré y es de los más difíciles la verdad.

Yo lo trabajo día a día y lo tengo presente, sobretodo porqué tengo que justificar detalles técnicos a gente que no toca el código y es complicado entender una solución sin comprender el problema...

Para mi día a día me gusta el estilo de explicar a un niño o for dummies como quieras llamarlo.
1 Olvido todo lo que sé
2 aplico empatía
3 explico para un niño sin suponer nada...
4 pregunto por feedback constante y vuelvo a 3

Otro tipo de comunicación me cuesta muchísimo más, emails, protocolos, eso va con la experiencia porqué cuesta que alguien te mande correos de muestra o cosas de ese estilo xd.

2 respuestas
Hipnos

#8 La verdad es que solo he hecho en mi vida una entrevista por contactos. El sueldo era una basura y ni siquiera quiso contratarme hasta que tuviera más estudios. No puedo estar más en desacuerdo.

#9 Puedes hacer un ejercicio muy sencillo y bastante didáctico.

Coge un concepto complicado. Busca a alguien que no tenga ni idea y explícaselo hasta que consigas dos cosas:

  1. Que lo entienda perfecto al nivel de poder explicárselo él a otra persona
  2. Que se lo cuentes tan bien que lo perciba como algo interesante

Una parte importante de la expresividad es ser claro y fácil de entender, pero otra muy importante es no aburrir. Y esta se nos olvida con bastante frecuencia. No es trivial explicar algo complicado sin que alguien se aburra.

Uno de mis jefes anteriores perdía el interés a los dos minutos de la conversación, aunque le estuviera contando algo importante. Fué todo un reto llegar a entenderme con él.

1 2 respuestas
espikiller

#10 yo no sé donde te mueves tú laboralmente, en el sur y en Extremadura especialmente ya te digo yo que si.

desu

#6 Solo compito contra mi mismo. Lo malo buscar competencia en otros es que cuando la superas no te sigue valiendo para motivarte.

Voy a dejar de responder estas cosas, no es un AMA.

#10 Habrá un apartado de eso también en los recursos, aplicado en dar buenas presentaciones, ser carismático y hablar en público.

Te estas adelantando mucho de nuevo.

2 respuestas
X-Crim

#12 que gran verdad desu. Pero si hubiera otra persona para el puesto que tú quieres y fuese del foro... quien te gustaría que fuera??

B

Siempre aprendiz.

#9desu:

tengo que justificar detalles técnicos a gente que no toca el código

Yo lo que he aprendido es que si te tienes que justificar demasiado, es que haces algo mal. Se tiene que evitar, quiero decir, seguramente la justificación se deba a que estas tocando cosas que no tocan para el tiempo de desarrollo asignado, con lo que no estas cumpliendo con tu tarea. Se tiene que tener muy claro el objetivo de tu tarea y no distraerse. Eso no quiere decir que no seas observador o crítico con la base del proyecto, lo puedes ser pero apuntatelo para comentarlo en el futuro, lo que no debes de hacer es arreglar cosas que no tocan en ese momento.

Tuve un colega que estaba obsesionado con encontrar fallos y mejorar el codigo base, se pasaba el dia discutiendo con el jefe. No duró ni 3 meses.

Luego tambien es importante que en la empresa en la que estes tengas a las personas adecuadas para hacerles los comentarios técnicos. No es de agrado molestar a tu jefe constantemente, mejor hacerlo al colega que te hayan asignado como tu "superior".

En general, para evitar dar verbosea técnica a gente no técnica, intentar abstraer lo que has echo en posibles cambios de la funcionalidad y darse cuenta de si realmente merece ser comentado.

1 respuesta
desu

#14 No me veo capacitado para tomar decisiones en proyectos medianos/grandes. Para lo demás el spoiler:

NSFW

El problema es que en mi empresa tenemos tanto trabajo que no se hacen las cosas bien. Yo lo entiendo y si alguien lee el spoiler que no se lo tome a malas. Entiendo que se hace mal porqué no da tiempo a hacerlo bien. Pero bueno, hay pequeñas cosas que a la larga uno se da cuenta y te molestan. He estado trabajando meses en codigo que se ha tirado... A ver, si vas a ser autoritario hazlo desde el principio y avanzo mi trabajo, dar vueltas es de tontos. /rage

edit: no quiero que sea un hilo para contar en lo que estoy ahora ni que sea de rage, estos temas/preguntas es lógico que salgan porque si busco trabajo es porque no estoy conforme.. Pero bueno, que nadie se tome algo negativo y si quiere discutir algo que me lo diga porqué no quiero que nadie se lleve una opinión errada de mi. Voy a intentar actualizar mañana el hilo y dejarlo bastante completo para así no liarme con preguntas personales y que se centre en el hilo resumen más.

1 respuesta
nerkaid

Esto es un poco como cuando ves a un Youtuber de 13 años dándote lo que él considera los mejores consejos para un juego del que no tiene ni puta idea.

17
Soulscx

#15 una duda q siempre he tenido, como es tu vida social, tienes contactos, conoces mucha gente?

Camperito

#3 Que gran sabio HIpnos, igual por eso se me dan tan bien las entrevista, siempre lo bordo

bLaKnI

Que tienes, ¿23-24 añitos mas o menos no? Según dices te falta el TFM, luego ¿estas estudiando una ingeniería en plan Boloña de estos no? Nuevos grados y tal...
Luego ERES MUY JOVEN. Tienes tiempo para subir. Empieza en cualquier sitio, coge confianza, y aprende lo que es el mundo laboral de verdad, ya que se aleja mucho de lo que estas contando. Al final, no importa una mierda todo lo que has dicho. Todo esto, cuando entres en un sitio concreto, se presupondrá.
Ser ingeniero, de cualquier rama, significa justamente esto: ser ingeniero. No hay más.
Déjate de métodos. Se resolutivo.
Y por supuesto, no dejes tus objetivos a un lado. Acaba en una de las grandes, como deseas. Pero sube pasito a pasito.

RosaNegra

Me parece muy interesante tu hilo, en general. No solo aplicable a otros campos. Lo único que no me ha quedado claro de lo que dices es:

El tiempo no es importante, es lo único que importa.

¿Cuál es el transfondo de tu frase? Porque es un tanto ambigua según como se lea.

Zoko

Rechazar entrevistas es algo que merece la pena mencionar? Si en el Linkedin te pasas el día rechazando entrevistas :/ Digo yo que tendrá más sentido poner ofertas rechazadas.

Buen hilo.

1 respuesta
Soraghatsu

#12 oye que yo trabajo en AMA

RosaNegra

#21 Las tiene puestas.

1 respuesta
Zoko

#23

Precisamente, tiene puestas entrevistas rechazadas, no ofertas rechazadas.

verseker

En la última entrevista que fui iba nervioso pero hacía tanto calor y la falta de ascensor para subir a un tercero me hizo cambiar mi perspectiva y pasó esto tal que así. Va sin coña. Obviamente no me cogieron.

-¿Qué esperas de nosotros?
-Un trabajo y un sueldo, desde luego no una epifanía laboral.
-Nunca sabes dónde puedes tener una epifanía laboral.
-En un trabajo cortoplacista sin posibilidad de renovar seguro que no.

-¿Dónde te ves dentro de 5 años?
-Pues fundamentalmente trabajando, espero.

Esas preguntas fueron las 2 últimas, el resto sobre el CV.

Tremendos estos del ECI.

1 respuesta
revol360

Big data en cárnica (esp, 20k)
Big data en banca(esp, 22k)
ML en en banca(esp, 18k)

Como para no rechazarlas, menuda mierda de sueldos.

B

Solo puedo decirte que me siento muy identificado. Lo sigo de cerca

RosaNegra

#25 Lol...

Eso es ir un poco de sobrado. Para eso, mejor te hubieras relajado un poco. Sin ir con prisas y ya está. Prefiero decirles que si me dan 5 minutos para recomponerme que hace muchísimo calor, que llegar ahí sofocado.

Pero vamos, yo también tengo una que perlita:

Entrevista para Massimo Dutti. (Ojo al dato, que yo voy con pintas. Dilataciones, pendiente con cruz invertida, tatuajes, etc.)

  • "Estamos buscando alguien para 20 horas. Alguien dinámico, solvente. Que sepa manejar caja y atender a clientes ¿Tienes experiencia en comercios y venta al detalle, ¿no?."
  • Si, bueno. Está todo en mi currículum. He trabajado en X y en Y haciendo Z y F. 20 horas, ¿repartidas en cuántos días? ¿Turno fijo o rotativo? Pero lo que quiero saber, lo primero, es cuánto pagáis.
  • "Ah, bueno... Pues mira el sueldo son unos 650 euros (quiero suponer que brutos, porque Inditex paga una basura) y sería turno de mañana o tarde de refuerzo rotativo. Quizás algunas semanas en turnos de media mañana hasta por la tarde.
  • Ya... Bueno, pues mira, te comento. Yo lo que he venido es para ganar dinero. Me da igual si son 20 que 30 horas, pero quiero tiempo para mi. Obviamente, no voy a aceptar turnos de media mañana, porque no. De hecho, vengo a esta entrevista porque, bueno, a ver qué me ofrecíais. Básicamente porque tengo otro trabajo que me están esperando a que les diga algo. Y depende del que más me interese pues en el momento que decidáis y me llaméis pues digo si sí o si no. De hecho si tienes otra persona, te diría que no contaras conmigo. Además, no busco turnos partidos, ni jornadas completas, ni nada. Quiero tiempo para hacer mis planes, que para mi es lo más esencial.
  • (Cara de poker de la tía). "Bueno, pues nada. Entiendo tus exigencias, pero buscamos otra cosa. Aún así, en caso de contar contigo, te avisaría. Porque también tengo otra chica que me interesa para entrevistar, y como me has dicho lo otro..."
  • Sí, sí. Sin problema, ya vamos hablando. Un placer.

...
Al día siguiente.

  • "¿Rosanegra? ¡Hola! ¿Qué tal? Soy X, del Massimo Dutti, que estuviste ayer haciendo la entrevista con nosotros. (kawaii voice ;D)
  • Ah, ¡sí! Dime. (Me va a decir que me peine)
  • "Mira, era para decirte que he estado barajando la entrevista de ayer y que estamos interesados en contar contigo. Y no te preocupes por los horarios de media mañana y demás, que eso ya lo arreglo yo." (Voz de smiley face tipo ¡soy una encargada enrollada!)
  • Ah... Sí. Mira, que no me interesa, me voy al otro trabajo. ¡Suerte con la otra chica!

... Y la colgué.

Una pena, porque estaba bien buena.

1 respuesta
NeV3rKilL

Empiezas como tu y terminas como Joshua Fluke pero sin el canal de youtube.

https://www.youtube.com/channel/UC-91UA-Xy2Cvb98deRXuggA

Si vales en informática te haces freelancer. Si no vales te haces asalariado.

1 respuesta
HeXaN
#29NeV3rKilL:

Si vales en informática te haces freelancer. Si no vales te haces asalariado.

Claro que sí, hombre xD

6 1 respuesta
Tema cerrado