Las entrevistas técnicas son conocidas por sus acertijos. Ya sea que le pidan que escriba un árbol binario en una pizarra, explique un algoritmo de clasificación o implemente FizzBuzz en 10 líneas o menos, debe prepararse para las preguntas de programación técnica en la entrevista promedio.
Pero eso no es lo único para lo que debes estar preparado.
La realidad es que muchos desarrolladores podrán resolver preguntas comunes de entrevistas de programación con poca variación entre las respuestas. Entonces, ¿qué te hace diferente del próximo candidato? Eso es exactamente en lo que nos centraremos en estos cinco consejos.
1. Hable sobre su proceso de razonamiento y resolución de problemas
Lo peor que puede hacer cuando se le hace una pregunta difícil es quedarse totalmente sin palabras. Desafortunadamente, es muy fácil hacer esto por accidente. Cuando se encuentra con un problema que requiere energía mental y concentración significativas, es probable que su primera inclinación sea retirarse a su mente. Si bien esto es natural, tampoco es muy útil para el entrevistador.
El punto de las preguntas técnicas, en parte, es descubrir cómo piensa sobre la resolución de problemas. Cual es tu proceso ¿Cómo desglosas los diferentes componentes? ¿Cómo se llega a una solución? ¿Cómo reaccionas cuando intentas algo que no funciona? ¿Eres mejor experimentando en código o dibujando algo en una pizarra?
Explica lo que sucede en tu cabeza mientras resuelves el problema. Actúe como si estuviera grabando su voz para publicar en línea para enseñar a otros cómo resolver ese problema. Incluso si sus entrevistadores le están dando el espacio para pensar en silencio, puede beneficiarse al explicar su proceso de pensamiento sin que ellos lo soliciten. Esto no solo les ayuda a comprender mejor sus habilidades y pensamiento crítico, sino que también lo hace más memorable.
2. ¿Qué es mejor que resolver un problema en una entrevista técnica? Resolviéndolo dos veces
Muy pocos problemas tienen una sola solución, y todos los problemas tienen infinitas soluciones incorrectas. Entonces, si se concentra en una sola forma de resolver un problema, está perdiendo una gran oportunidad para demostrar su flexibilidad y habilidades.
En lugar de simplemente ir con una solución bien conocida o trabajar en un solo idioma, abra la discusión sobre ese problema en particular y resuélvalo para diferentes escenarios. Por ejemplo, si se le pide que programe FizzBuzz, puede ofrecer hacerlo en dos idiomas, o empleando dos paradigmas diferentes, o quizás tomando algunas restricciones de rendimiento para una solución y restricciones estéticas para otra.
Al validar que el problema puede tener múltiples soluciones, está demostrando su adaptabilidad, flexibilidad y conciencia, todo lo cual infundirá confianza en sus entrevistadores de que podrá elegir la solución correcta entre muchas posibilidades.
Por supuesto, no se exceda: hay un arte de leer cuando responder una pregunta con múltiples soluciones es excesivo o felizmente bienvenido. En caso de duda, no tenga miedo de preguntar a sus entrevistadores si les importa si se toma un tiempo para ampliar su solución con una opción secundaria.
3. No tenga miedo de compartir sus opiniones, cuando corresponda
A veces, a medida que trabajas en los problemas, tomarás decisiones basadas completamente en tu propio gusto y opinión. Y eso está bien: ¡los empleadores están interesados en su opinión! La forma en que piensa y reacciona ante las situaciones marca una gran diferencia en la cultura de una empresa. Tener una opinión también es una señal de liderazgo y madurez técnica como desarrollador. Tener una discusión sobre sus opiniones requiere que haya evaluado otras posiciones sobre un tema determinado.
Recuerde, sin embargo, que las opiniones pueden mantenerse muy de cerca. Si no está de acuerdo con su entrevistador sobre un tema determinado, no se preocupe al compartir esa información. Si bien es bueno tener un punto de vista, también es importante tener en cuenta que compartirlo no siempre es necesario y saber cómo elegir tus batallas. Una buena regla general: no comparta su opinión a menos que se lo pidan.
4. Nunca termine una respuesta con "No sé"
A menos que se enfrente a un escenario de "Kobayashi Maru", nunca termine una pregunta de entrevista con "No sé". Esa no es una opción en el trabajo, por lo que no debería ser una opción en la entrevista.
Por supuesto, no digo que debas saberlo todo. ¡Eso es imposible! Pero debe demostrar que tiene una estrategia para aprender lo que necesita saber para hacer el trabajo. Intenta responder con "No sé cómo hacerlo, pero así es como me gustaría resolverlo". Esta respuesta debería ir más allá de decir simplemente "Google", también. Es mejor que expliques la dirección más probable que investigarías.
Sobre todo, ¡no te avergüences! El aprendizaje es en gran parte el proceso de descubrir las cosas que no sabes. Su empleador no espera que usted sea perfecto, pero sí espera que sea diligente e inteligente, y que nunca renuncie a un problema.
5. Siempre juega para el equipo
A menos que sea un desarrollador independiente, su trabajo siempre se establecerá dentro del contexto de un equipo, y el éxito del equipo siempre es primordial para el suyo. Por lo tanto, su entrevista debe reflejar que no solo le preocupa resolver sus problemas en un día determinado, sino que está enfocado en hacer lo que sea necesario para que el equipo tenga éxito.
Entonces, ¿cómo puedes comunicar esto en una entrevista?
Nunca discuta los problemas como si estuvieran en una aspiradora
Casi cualquier proyecto tendría prácticamente requisitos y límites de recursos, por lo tanto, demuestre su conocimiento del contexto del problema. Un problema que se resuelve bien pero ha superado el presupuesto no es realmente la mejor solución.
Muestre su conocimiento de la experiencia en el equipo existente
A veces, la mejor respuesta a una pregunta es pedirles a otros miembros de su equipo que colaboren con usted, y puede hacer referencia a esas personas en las preguntas técnicas: “Si me presentaran este problema en el contexto de nuestro equipo, probablemente pediría que revisen mi solución también ”. Esto demuestra que está dispuesto a confiar en la experiencia de otros y que su objetivo es llegar a la mejor solución.
Comunique explícitamente los valores de su equipo
Este es un tema lo suficientemente importante como para que salgas y lo digas. Desea asegurarse de que sus empleadores sean plenamente conscientes de que su objetivo es ayudar a la empresa a tener éxito, no solo sentarse en su escritorio y codificar todo el día.
En última instancia, su trabajo como desarrollador no es solo codificar. Es ser un jugador de equipo, un líder y alguien que nunca está dispuesto a renunciar a un problema. Las oportunidades en una entrevista técnica no son solo mostrar que puede cumplir objetivos o escribir algoritmos, sino también ponerse por encima de la competencia y mostrar el valor que agrega a un empleador.