¿Por qué las entrevistas de ingeniería de software senior son tan difíciles en estos días?

Vi una publicación de una mujer en LinkedIn que hablaba sobre los tipos de trabajos de nivel de entrada con los que comenzó que ya no existen. Estaré por siempre agradecido con las personas que me ayudaron por esto.

El campo ha madurado. Al igual que cualquier mercado maduro, los primeros usuarios ya cobraron o lo hicieron con mucho menos de lo que los recién llegados pueden o podrían. Para hacerlo ahora tienes que ser muy hábil o comenzar de la nada (trabajar para el maní). Y cuanto más madura esto, más desaparece la opción “trabajar por el maní”. Podrías haber comenzado con nada o incluso negativo antes. Ahora, la expectativa es mucho mayor y es cada vez más difícil llegar a un lugar en el que pueda confiar solo en su experiencia.

El negocio y la administración ahora es muy inteligente y técnico. Muchos son desarrolladores anteriores, y los que sobrevivieron al sacrificio del punto com bust y pasaron a la locura de inicio son sobrevivientes. Saben cómo saber qué es un buen desarrollador y qué no. Esto siempre ha sido cierto, pero cada vez es más cierto.

Las expectativas de los usuarios han aumentado. Tal vez no sea tan importante cuando se trata de B2B, pero cada pequeña cosa lo hace mucho más difícil. Muy importante cuando se trata de usuarios finales exigentes con cultura social gamer consciente de la cultura televisiva.

El aumento del desarrollo basado en procesos (obtener X puntos por sprint, etc.) significa que la empresa ya no quiere esperar 1 o 3 o 6 meses para una nueva función. Lo quieren ayer y dedican menos tiempo a herramientas o bibliotecas o marcos. Eso se ha convertido en el dominio de código abierto o empresas ricas en efectivo. Por lo tanto, es probable que su inicio sea un lugar que tenga una medición (haga la función X en días Y) en lugar de cualquier lugar que lo guíe o capacite durante semanas o meses antes de que algo salga o construya una base durante seis meses o un año. Por lo tanto, la idea de ascender lentamente se ha ido por la ventana, de hecho, ascender lentamente es para los expertos o educados a los que se les permite hacer arquitectura … los no calificados son los que probablemente serán abofeteados con una medición. Obtenga 2 puntos este sprint o te has ido. Este desarrollo basado en procesos o ingeniería basada en procesos es la razón por la cual las “habilidades de comunicación” son más importantes que nunca. Nadie quiere pagarle a alguien para que se dé cuenta al pasar días haciendo pequeños ajustes, todos quieren pagar por alguien que tomará la iniciativa y pedirá ayuda.

Afortunadamente hay formas de evitar todo esto

  • Hacer código abierto. Esto es y siempre será respetado. Significa sacrificar tu tiempo personal, pero hay formas de evitarlo. Puede minimizar el tiempo y aún tener un alto impacto. Puedes contribuir de una manera pequeña pero significativa. Puedes trabajar en una empresa que le gusta el código abierto.
  • Tener una buena marca, especialmente marca técnica. LinkedIn, YouTube, Twitter, lo que se te ocurra. Puedes hablar sobre Quora, etc.
  • Sé realmente bueno en los fundamentos para pasar esas entrevistas. Ahora hay toneladas de libros en todas partes, como Cracking Code Interview, etc., y las preguntas que los lugares harán son temas de CS de primer o segundo año. Puede tomar Harvard CS50 y obtener el conocimiento o actualizar. Puede obtener una medición real de su habilidad como Hacker Rank, etc., y presumir al respecto.
  • Obtenga una habilidad de nicho que no sea webdev y no sea JavaScript (y no es un requisito para un título, lo que hace que la habilidad sea más rara). La base de datos es buena y los que sobrevivieron décadas tienen algo en común: son buenos en RDBMS y lograron sacar provecho de eso de alguna manera. Pero hay otros. Programación integrada, programación de juegos, codificación corporativa de scripting de shell (DevOps) con Java y .NET cualquier cosa para demostrar que usted es más que un tipo JS frontend que puede ser reemplazado por el próximo nuevo hot.
  • Acostúmbrate a trabajar con otros programadores. Ve a hackatones, sé obstinado. No tiene que ser una mariposa social, pero sí tiene que defender sus opiniones y defenderse. Y tener opiniones, incluso si están equivocadas. Esconderse en una esquina escribiendo código ya no funciona por muchas razones, incluida la ingeniería basada en procesos mencionada anteriormente. Si no hablas ni haces preguntas, estás jodido.
  • Haz tu propio proyecto a largo plazo. Esta idea de “hacer una aplicación lo más rápido posible o ir a la bancarrota y comenzar desde cero” no es la única forma de hacer las cosas. Presta atención a la forma en que los programadores mayores hacen las cosas, lee The Art of Unix Programming y aprende las viejas formas Jedi. Si puede crear diez aplicaciones con el mismo código, o crear un código que lo haga diez veces más productivo, o crear un código que pueda traer entre empleadores (sí, puede hacerlo, pero con cuidado no puede usar el equipo o el tiempo del empleador y no puede compita con ellos o con su IP), entonces puede avanzar lentamente durante años y desarrollar una ventaja insuperable. Esto es más posible que nunca ahora, porque casi en todas partes respeta el código abierto o sabe lo que es.

Así que sí, es “más difícil” que hace diez años o antes, pero hay muchas más opciones para mostrar que antes y muchas formas de enfrentar los desafíos. También hay muchas formas de sobrevivir además de “ser genial en las entrevistas”.

Dejando a un lado si la pregunta planteada es verdadera o no, aquí hay algunas variables a considerar.

  1. Tamaño del campo. Hay aproximadamente 3.6 millones de “desarrolladores de software” en los Estados Unidos hoy en día. [1] Hace diez años, al menos una publicación esperaba un crecimiento en el empleo de ingenieros de software del 38 por ciento. [2] Cuanto más grande es el campo, mayor es la competencia.
  2. Disponibilidad de conocimiento disponible gratuitamente en Internet. A finales de los 90, no hubo desbordamiento de pila. MSDN era una farsa miserable de un sitio, ya que Microsoft todavía estaba muy cerrado, muy propietario, y solo quería darle información a cambio de una transferencia directa de dinero. La mayor disponibilidad de conocimiento no solo ha mejorado nuestro campo en general, sino que también ha aumentado el conocimiento técnico relevante que tienen la mayoría de los entrevistadores.
  3. Entrevistas como una habilidad. Un gran técnico no es necesariamente un entrevistador mediocre. Afortunadamente, la referencia al número 2, la habilidad de las entrevistas, particularmente las entrevistas tecnológicas, ha sido mejorada por la proliferación de conocimiento en Internet.
  4. Competencia offshore, habilitada por la mejora de la tecnología (de nuevo, Internet). Esto quizás esté vinculado al n. ° 1: cuantas más personas en el campo, más competencia. Pero a este respecto, el precio es una consideración especialmente importante. Tienes que justificarte a ti mismo, y tu tasa, contra los recursos baratos en alta mar. Claro, todos sabemos que, en general, por razones que van desde la habilidad hasta la comunicación y el escenario de gestión, la costa rara vez ofrecerá el tipo de velocidad y calidad que verás en tierra, pero cuando puedan “comprar” 3+ de ellas para costo de usted, los empleadores se interesan.

Personalmente, siento que mis últimas entrevistas han sido las menos difíciles, técnicamente, de mi carrera. Dicho esto, he estado trabajando para los socios de Microsoft, haciendo consultoría, donde los aspectos técnicos son importantes, pero también lo son las personas y las habilidades comerciales.

También me arriesgaría a que este tipo de cosas sea, como muchas cosas, cíclicas. Estoy seguro de que las entrevistas de COBOL en las compañías de mainframe a finales de los 70 fueron difíciles como pelotas la mayor parte del tiempo. Los ingenieros de software de hoy están entrevistando tecnologías y procesos que, en su mayor parte, han existido durante 10 o 15 años, o más.

Cuando Internet todavía era nuevo, y HTTP1 y HTML4 eran cosas, y CSS no lo era, y Java era nuevo, y .NET todavía era solo un brillo en los ojos de Bill Gates, y oye, ¿qué es un marco de JavaScript? Las habilidades y la familiaridad de todos todavía estaban madurando. Claro, nuevas cosas siguen apareciendo, pero durante los últimos 5 a 10 años, ha sido, en mi opinión, mayormente incremental. A finales de los 90 y principios de los 00, viste muchos cambios disruptivos y acelerados. Era más para mantenerse al día y conocer.

Notas al pie

[1] India superará a EE. UU. En número de desarrolladores para 2017

[2] https://money.usnews.com/money/c

Contratar a un desarrollador senior es como invertir en energía eólica. Cuando el viento se aprovecha adecuadamente, puede producir toneladas de beneficios para todos nosotros, como en este parque eólico.

Fuente: https://media.giphy.com/media/On

Pero al mismo tiempo, si elige el equipo incorrecto, no lo administre bien o elija el entorno incorrecto para invertir en esto:

Fuente: https://media.giphy.com/media/MX

Del mismo modo, un ingeniero senior es una gran inversión para una empresa. Lo mejor creará los productos que harán que su empresa sea excelente. Lo peor puede costarle mucho dinero a su empresa, según nuestra estimación de hasta $ 485,371.38. Por lo tanto, tiene sentido que una compañía quiera estar absolutamente segura de tener a la persona adecuada antes de dar el paso.

Parte de los problemas es que no es suficiente simplemente contratar personas inteligentes. Un gran ingeniero suele ser excelente en un entorno determinado. Esta es una combinación de tecnologías utilizadas, gestión y las fortalezas del equipo del que forman parte. Pero pueden caerse si el entorno es incorrecto, al igual que la turbina eólica rota de arriba. Probablemente estaría bien en un entorno diferente, pero cuando lo pones en una situación para la que no fue diseñado, se rompe. Pero el interrogador original no está completamente fuera de lugar.

Muchas de las pruebas utilizadas para entrevistar a los desarrolladores senior son irrelevantes para el trabajo.

Las pruebas de algoritmos, las entrevistas de pizarra y las pruebas de opción múltiple tienen muy poco que ver con el trabajo de un ingeniero de software senior. En cambio, tiene mucho más sentido probarlos en la tarea que realmente tendrán que hacer, como una tarea que refleja su primer día de trabajo utilizando una plataforma como Devskiller. Estos no solo acelerarán el proceso para los candidatos, sino que también serán relevantes para las habilidades necesarias para el trabajo al evaluar a los candidatos en el entorno adecuado, aumentando la experiencia de los candidatos y la calidad de la contratación al mismo tiempo.

Cuando te entrevistan para un ingeniero de software sénior, se supone que debes saber lo suficiente sobre las cosas.

Estarás guiando a tus juniors en lugar de aprender cosas. Obviamente, es 10 veces más difícil que el CEO o VP porque se espera que codifique para no administrar su equipo.

Se espera que tenga los conocimientos suficientes para guiar a sus juniors.

Se espera que seas un modelo a seguir para que los juniors admiren y dediquen su tiempo a una codificación efectiva.

Se espera que conozca de principio a fin un ciclo de desarrollo de software junto con otras operaciones y responsabilidades clave de un desarrollador.

Debes ser la cara del equipo de desarrollo frente al cliente. Serás la cara de tu equipo en el que el cliente tiene que confiar.

Las expectativas de un ingeniero de software senior son mucho más de lo que piensas. Si no eres lo suficientemente fuerte como para manejar cosas desde el nivel básico hasta el experto, simplemente significa que no puedes ser elegible para ese rol.

No puedes contratar y entrenar personas inteligentes. Si las compañías podrían haber hecho eso, entonces ¿por qué deberían darle un papel separado de “Senior”? Incluso podrían contratar a un graduado de IIT y entrenarlo para hacer el trabajo. Pero ellos no.

Esto se debe a que hay innumerables cosas que se aprenden a través de la experiencia que a través de conceptos y teorías. Y esa experiencia siempre importa y es por eso que los Seniors en TI son más valorados.

No creo que todos sean así … Ni siquiera creo que la mayoría sean así.

Mi trabajo actual (ingeniero principal – un paso más allá de “Senior”) incluía una recomendación de un reclutador – una llamada telefónica de 30 minutos – luego una entrevista cara a cara de 6 horas, que se realizó completamente con un recorrido por el edificio , una conversación amistosa con otros ingenieros y el dueño de la empresa y un largo almuerzo con el equipo. No escribí una sola línea de código durante todo el proceso: la entrevista fue divertida y pasaron tanto tiempo ‘vendiéndome’ el trabajo como me pasé vendiéndome a ellos. Me ofrecieron el trabajo al día siguiente.

Entonces, no, no todas las empresas son así.

Las empresas más pequeñas tienden a dedicarse más a la “intuición” y a mirar su currículum que a las pruebas de programación reales. Saben que si trabajé durante años aquí y allá y fui promovido dos veces mientras estuve allí , entonces debo ser bastante capaz.

Las compañías más grandes que tienen que contratar a MUCHAS personas necesitan cierto grado de automatización en el proceso de contratación, y eso involucra todas las cosas que mencionó.

SIN EMBARGO: La expectativa de que puede “aprender en el trabajo” es en gran medida ingenua. Si una empresa puede elegir entre un empleado que sabe lo que necesita, frente a uno que será en gran medida improductivo durante varios meses, ¿por qué elegirían al que tiene que aprender cosas? Si tiene que aprender en el trabajo, solo obtendrá el trabajo si no había candidatos que no tuvieran que aprender nada, o a menos que tenga algo MUY especial para usted.

Entrevisto a Oracle DBA, no a ingenieros de software.

Aunque el contenido de la entrevista para un DBA es diferente al de un SE, la intención es la misma:

  1. encontrar personas que puedan resolver problemas
  2. encuentre personas que ya entiendan los conceptos centrales de la tecnología en cuestión
  3. encontrar personas que están haciendo este tipo de trabajo porque les encanta

La mayoría de las personas se quedan cortas en cualquiera de estos 2 puntos.

En muchos casos, la gente ha estado haciendo este trabajo durante muchos años, pero aún no comprende los conceptos básicos de cómo funciona una base de datos.

Esto los clasifica como ‘operadores’, no como DBA.

Alrededor del 10% de los que pasan una prueba previa a la entrevista están invitados a la entrevista.

En algún lugar entre 50% – 60% (SWAG – No tengo métricas para esto) de los entrevistados pueden ser invitados a continuar el proceso de contratación.

Cuando entrevisto a personas, hago preguntas difíciles.

La razón para hacer preguntas difíciles es esta; Quiero saber lo que ellos saben.

La única forma de conocer el nivel de conocimiento y habilidad de un individuo es hacer preguntas progresivamente más difíciles y profundizar en temas más profundos.

Un concepto central de la base de datos Oracle, por ejemplo, es cómo funcionan los mecanismos de coherencia de lectura.

Todos los DBA deberían poder guiarme a través de este concepto a un nivel lógico. No es raro que los DBA con muchos años de experiencia no puedan hacer esto durante una entrevista.

Las entrevistas realmente buenas son donde no solo conocen el proceso lógico, sino también algunos de los mecanismos internos del proceso.

Es por eso que las entrevistas técnicas de alto nivel son difíciles.

Por cierto, si cree que las entrevistas son difíciles, intente estar en una llamada de puente con un cliente durante una emergencia, y el CTO y / u otros ejecutivos de alto nivel están en la línea.

Mi hijo de 10 años está resolviendo problemas de corte de varillas y cambio de monedas mientras escribo esto. Ha estado conmigo en la ferretería varias veces y usa moneda todos los días para comprar cosas. Entonces, él tiene la edad suficiente para relacionarse con los problemas.

No tiene que esperar hasta el segundo año de ciencias de la computación e ingeniería para iniciarse en la programación dinámica. Quiero que crezca pensando, aprendiendo y aplicando DP (y otras técnicas de resolución de problemas) como “sentido común”. De hecho, no he usado el término DP en ningún lugar cuando hablé con él.

Les puedo asegurar que mi hijo no es (va a ser) único. Hay millones de niños que han aprendido a resolver problemas como un pasatiempo. Algunos de ellos ya han completado la escuela y están en el mercado laboral. Estás compitiendo contra ellos y muchos más solucionadores de problemas más inteligentes, jóvenes y trabajadores en la cola.

Para responder a su pregunta, sí, la barra se sentirá realmente alta para los roles de ingeniería de software si no ha crecido resolviendo problemas (tanto en la escuela como en la industria). Y es por esta razón que las personas simplemente cambian a la vía de administración después de un tiempo.

Diferentes empresas tienen una cultura de ingeniería diferente. Por lo tanto, el proceso de contratación dependerá de la empresa con la que se esté entrevistando e incluso puede variar de un equipo a otro dentro de la empresa.

a. Es injusto dar un problema complejo de la vida real y esperar que un candidato entrevistado lo resuelva en pocas horas bajo presión. Por lo tanto, las preguntas formuladas durante una entrevista tienden a ser de alcance limitado, a excepción de las entrevistas de diseño.

si. Dado que está solicitando un puesto SWE, es justo evaluar sus habilidades para resolver problemas. Eso significa que debería ser capaz de encontrar soluciones simples y limpias (algoritmos) para problemas complejos e implementar (codificar) sus ideas.

C. De todos modos, utilizará la pizarra (algún día) para discutir sus ideas con sus colegas. Esperar que alguien codifique en una pizarra no es irrazonable y los entrevistadores entienden que codificar en la pizarra no es lo mismo que codificar en su máquina. Todos los entrevistadores razonables tienen esto en cuenta. Para superar este problema, algunas de las empresas están avanzando hacia la ronda de codificación de máquinas.

Si está solicitando un puesto de alto nivel en un equipo, debe ser lo suficientemente bueno como para revisar el trabajo de los ingenieros junior (revisiones de diseño y revisiones de código). Por lo tanto, se espera que pase el proceso de entrevista diseñado para roles junior. El hecho de que se espere que le des dirección al proyecto y mueva las métricas en la dirección positiva, no significa que alguien tenga que contratarte solo en base a tus experiencias pasadas. Contratar a alguien en función de su título en puestos anteriores es simplemente ridículo a menos que sean expertos en su campo (personas que han demostrado su valía).

Si crees que eres lo suficientemente bueno para un papel y que encajarás en la empresa, también pasarás el proceso de la entrevista (algún día). No culpes al proceso de la entrevista.

Depende de dónde se entreviste, pero muchas empresas se toman el proceso de contratación mucho más en serio y evalúan muchos factores más allá de una recomendación o reputación cuando contratan a nuevos ingenieros de software senior. Las cosas han cambiado. Las personas valoran las habilidades de liderazgo y la cultura de la empresa más que nunca. Incluso si ha sido un ingeniero de alto rendimiento en el pasado, si es una pesadilla con la que trabajar, tendrá dificultades para pasar la primera fase de una entrevista.

Ahora hay más competencia, por lo que estar bien equilibrado lo llevará tan lejos como sus capacidades técnicas y de ingeniería. Debe estar dispuesto no solo a trabajar duro como ingeniero de software, sino estar preparado para llevar a cabo la misión y liderar al equipo para lograr los objetivos de la empresa. Como ingeniero senior, usted es un gasto potencial enorme si no funciona. Las empresas quieren protegerse contra las pérdidas que provienen de una mala contratación o contratar a alguien que no se queda, por lo que hacen que el proceso de la entrevista sea mucho más intenso para disuadir a las personas de ir a trabajar. Un proceso de entrevista difícil ayudará a revelar a los gerentes de contratación si el candidato individual quiere quedarse o no.

Para los ingenieros de software senior que desean practicar entrevistas simuladas de forma escalable, puede hacerlo en línea con plataformas como Pramp. Te emparejarás con otro ingeniero de software de un nivel de habilidad similar, por lo que obtendrás práctica útil y relevante. Puede completar problemas de práctica, que serán útiles para las partes técnicas de la entrevista (incluso si es realista, nunca tendrá que hacerlo una vez que esté realmente en el trabajo), así como la parte de habilidades de comunicación de la entrevista.

Foto de Simon Abrams en Unsplash

Porque las expectativas del ingeniero senior son bastante altas.

Como ingeniero sénior, no solo escribe código, define la filosofía de desarrollo del equipo, los mentores de ingenieros junior, se espera que sean expertos en diseño, que trabajen bien con los gerentes de productos / negocios y manejen las dependencias entre equipos y lo hagan. estimaciones casi perfectas.

Entonces, usted ve que un ingeniero superior es como una navaja suiza, que tiene que ser un maestro de muchos rasgos y equipos enteros u organizaciones dentro de una gran empresa depende en gran medida de sus ingenieros superiores para salvar el día una y otra vez.

Guía de entrevista para ingenieros superiores.

Déjame intentar ayudarte a prepararte mejor para una entrevista de ingeniería sénior.

Un poco sobre mí: he tomado cientos de entrevistas de codificación en Amazon, Microsoft y Flipkart . Y recibí ofertas de la mayoría de las grandes compañías tecnológicas. (no presumir, solo establecer credibilidad).

Dado que usted es alguien con 3 a 5 años de experiencia en desarrollo de software, debe ser bueno en la resolución de problemas y las preguntas estándar sobre algoritmos y estructuras de datos.

Acing en System Design

Una cosa que he visto a los ingenieros superiores fallar en la entrevista una y otra vez es el diseño de sistemas a gran escala.

A veces simplemente no tienen la experiencia de construir grandes sistemas o no saben cómo dividir un problema de diseño en componentes manejables más pequeños.

A diferencia de la codificación automática o la resolución de problemas, las rondas de diseño son más abstractas y muy difíciles de aprender con solo leer. El diseño es más un arte que una ciencia, al igual que la pintura o la música.

No hay sustituto para la experiencia real, pero cuando se trata de entrevistas, hay un patrón y es predecible. Si sabe qué / cómo está siendo evaluado, hay formas de dominarlo. Las entrevistas son más acerca de cumplir con las expectativas de alguien y la forma en que responde una pregunta en lugar de obtener la respuesta correcta.

Aquí está mi respuesta detallada de Quora sobre cómo dominar una ronda de diseño en grandes compañías tecnológicas como Google, Facebook, Amazon :

La respuesta de Mohan Gupta a ¿Cómo me preparo para responder preguntas de diseño en una entrevista técnica?

Espero que esto ayude.

No he participado en una entrevista de Sr. SE durante mucho tiempo. Pero miro en el mercado laboral. Esto es relativamente simple de explicar:

  • La selección de un CEO o un VP se trata de estrategia, no de escribir código o ejecutar una prueba unitaria. Es muy diferente
  • Todos los elementos que mencionas ya deberían ser parte de las habilidades de SE SE y la práctica diaria. Un Sr. SE no está allí para aprender eso. Pero para manejar eso con una sola mano. Lo siento.
  • Hay mucha oferta en el mercado. Si echa un vistazo a algunas preguntas en Quora, hay muchas personas que buscan un cambio de carrera en ingeniería de software.
  • Hay mucha gente que hace que su experiencia de desarrollo sea relativamente desestructurada (llamémoslo MOOC y tutoriales puros). Y tener algo de experiencia. Y probablemente sean buenos codificadores.
  • La gran pregunta es: ¿están todas esas personas en el lugar para asumir un puesto de Sr. SE? ¿Tienen las habilidades para eso?
  • Dada la amplia disponibilidad del candidato, las empresas están preparadas para ser selectivas. Tan selectivos como quieran. Si tiene que elegir entre un SE o aspirante realmente experimentado y experimentado, ¿invertiría durante un año para tener un Senior? ¿O contratarías a un Senior?

Hice algunas de estas entrevistas y conseguí trabajo en ellas. (Así que supongo que ya no estoy tan nervioso).

Desde mi perspectiva (es decir, la mía personal), hay dos cosas que me preocupan al contratar a alguien para trabajar en mi equipo:

1) ¿Cómo puede saber si alguien puede “aprender rápidamente en el trabajo”, como usted dijo?

2) Para un rol superior, ¿cómo reacciona la persona bajo presión?

Las pruebas o las sesiones interactivas de pizarra son una herramienta que puede ayudar a desarrollar estos detalles. Las personas pueden mentir en sus hojas de vida, y lo hacen. También he visto personas contratadas con la esperanza de ‘aprender rápidamente’, y no lo hacen -> causando esfuerzo y tiempo desperdiciados para ambas partes.
Es importante comprender que el objetivo no es responder correctamente las preguntas, sino demostrar que cuando se enfrenta a una pregunta que no conoce la respuesta, cuando está bajo presión, piensa y se comporta de acuerdo con un ingeniero ‘senior’ (o cualquier nivel de rol para el que vayas). Si muestra profesionalismo, hace buenas preguntas y muestra un análisis lógico sólido, demuestra la capacidad de “aprender rápidamente en el trabajo” para desempeñar un papel de ingeniero.

Además, si al principio no tiene éxito, los buenos ingenieros aprenden más e intentan nuevamente.
Si no eres fuerte en las pruebas en las entrevistas. Míralo como un desafío, y trata de mejorar y desarrollarte. He visto a ingenieros mayores y más experimentados tropezar cuando caen en la trampa de los derechos o “Lo que solía hacer era …”, cuando realmente deberían continuar enfrentando nuevos desafíos con los brazos abiertos y probar cosas nuevas.

Puede separar a los candidatos que realmente están interesados ​​en el papel (si tiene una oferta de solicitantes). Pasé 1 mes después del trabajo estudiando un idioma que no había usado desde la universidad para un trabajo. Puse el esfuerzo, tomé su tarea en serio y obtuve una oferta de trabajo. La búsqueda de empleo también es una competencia entre los solicitantes. No es un derecho solo porque he demostrado ser un senior en un papel pasado.

Solo podía especular, pero como desarrollador front-end que también ha trabajado como redactor, gerente de proyecto, editor, entrenador y algunas otras cosas, me arriesgaría a suponer que mucho tiene que ver con una economía laboral desequilibrada donde el empleador siente que tienen las tarjetas. Tuve entrevistas en las que me pidieron que escribiera libros electrónicos completos antes de ser considerado, me pidieron que creara sitios personalizados para contratar gerentes y otros escenarios desiguales. Como editor y corrector de pruebas, tuve entrevistas en las que me pidieron que hiciera pruebas y me disculpe respetuosamente cortésmente. Doy exámenes, pero generalmente no me va bien si los tomas: no sabes lo que se te pedirá y, por lo general, hay diferentes maneras de resolver problemas relacionados con el trabajo en la vida real. Luego trabajé en grandes corporaciones globales donde me dijeron que la mayoría de los empleados tenían “libros de cocina” y un código de Google que necesitaban para arreglar las cosas y luego probaron lo que hicieron.

Las situaciones varían y tienes que mantener la cabeza en alto, estar orgulloso de lo que has logrado en la vida, ser fiel a ti mismo y si las pruebas te hacen sentir incómodo, o son en gran medida una pérdida de tiempo, si eres alguien (como yo) quien se pone nervioso al asar a la parrilla o simplemente sabe que siempre hay más de una forma de desollar a un gato y las pruebas no miden si realmente puedes hacer el trabajo o no solo si puedes responder o no a las preguntas de la prueba, es mejor mirar diferentes tipos de situaciones de trabajo e ir a empresas que quieren resultados y no puntuaciones altas en los exámenes. Siempre les digo a las personas con las que entrevisto que probablemente tengo soluciones diferentes a las que pueden haber leído o lo que está en su folleto de prueba, pero sus problemas se resolverán y resolverán y obtendrán más clientes y ganarán más dinero si son dispuesto a escuchar

Solo mi humilde opinión.

No creo que lo sean. He estado escribiendo software durante casi 30 años y he estado en ambos lados de la entrevista muchas veces. Sobre todo, diría que las entrevistas de ingeniería de software son cada vez más fáciles, no más difíciles. No estoy buscando trabajo, pero la última vez que fui entrevistado, lo más técnico que obtuvo fue algo así como “cuéntame sobre el último marco que aprendiste / usaste”. Solía ​​haber muchas preguntas técnicas detalladas sobre algoritmos, estructuras de datos … en mi humilde opinión, se trata más de encajar socialmente en el grupo.

Sí, es triste cómo se llegó a este estado. Tiene varios sitios web dedicados a nada más que enseñarle cómo pasar estas preguntas de la entrevista. Me recuerda a la escuela secundaria y al SAT. Y la mayoría de las veces, una vez que ingresas, nunca usarás estos algoritmos inútiles.

¿Cómo han estado los ingenieros de software tan condicionados para aceptar esto en la industria? Es casi como si no tuvieran poder, pero acepta que es un hecho que todos deben ser tratados como estudiantes para tener un trabajo en la industria, sin importar cuánto hayan hecho en el pasado.

Y todo lo que codificas no te pertenece. Escritores, estrellas de televisión, poetas, artistas, arquitectos, compositores, cantantes, ilustradores, atletas, todos tienen protección para su trabajo / cara / personaje y obtienen ingresos a través de los años. Sin embargo, por alguna razón, los ingenieros de software se consideran afortunados de tener una vida tan grandiosa y no esperar más.

  1. Aún necesita saber si ese alguien es inteligente.
  2. La abrumadora mayoría de los trabajos de SW en el mercado no lo harán pasar por este tipo de entrevista. Simplemente no son las compañías brillantes sobre las que lees aquí o techcrunch.
  3. Los lugares que hacen esto suelen ser aquellos donde el pago total es alto. FB, Google, etc. Tienen muchos más solicitantes que puestos. Para que puedan ser tan exigentes como quieran.

El otro día, Scott Johnson escribió un gran artículo sobre el proceso de búsqueda de empleo: Diez cosas que aprendí de una búsqueda de empleo para un rol de ingeniero superior. Vale la pena leerlo.

Trabajo sin contacto y, aunque no podemos garantizar que las entrevistas no sean difíciles, estamos trabajando para delinear el proceso de cada empresa para que sepa por adelantado qué esperar. También les damos comentarios constructivos y anónimos de los candidatos, para que puedan elegir cambiar su proceso de entrevista.

Son difíciles porque los tipos de sistemas que se desarrollan y mantienen son complicados y hay mucho dinero dependiendo de que estos sistemas funcionen correctamente. Además, hay muchas personas hoy en día que tratan de ingresar a trabajos de alta tecnología no por amor a la ingeniería, sino por el dinero, lo que a menudo significa que sus habilidades son débiles. Entonces, la combinación de estos dos factores significa que las entrevistas deben ser difíciles para eliminar a estas personas.

Es verdad. No puedo pensar en otras industrias profesionales donde se espera que alguien tome una prueba como parte de un trabajo. No veo arquitectos, abogados, médicos, dentistas, directores generales, astronautas, científicos, etc. que tengan que tomar una prueba como parte de una entrevista. Es solo en tecnología que las personas tienen que someterse a estas pruebas ridículas a pesar de un fuerte currículum y referencias.

Es curioso que los desarrolladores de software sean tratados como estudiantes de secundaria y asuman que no saben nada a pesar de una experiencia laboral de 10 años. Solo otra área que se me ocurre es el deporte. Pero estos son contratos multimillonarios con personas que ganan entre $ 10 y $ 20 millones al año y se supone que deben entregar un producto entretenido.

Los chicos de CS son malos para simplificar la forma en que abordamos los problemas, por lo que la cantidad de software complejo con el que tienes que lidiar sigue creciendo: no he visto innovaciones que simplifiquen el desarrollo del software de manera significativa en décadas, en su mayoría son vendajes.

Como tal, constantemente se le pregunta si puede lidiar con el montón de basura existente, en lugar de tener buenas ideas para desenterrar.