¿Por qué algunos programadores están desempleados?

Me sorprende no haber visto a nadie más mencionar esto, pero creo que una de las principales razones por las que algunos programadores, al menos en los Estados Unidos, están desempleados es la deslocalización y la contratación de los llamados trabajadores “invitados” en H1B visas

El programa de visas H1B supuestamente se creó para ayudar a aliviar la “escasez” de trabajadores calificados, pero se ha convertido básicamente en una forma de suprimir los salarios. Los salarios de los programadores han sido estables, si no disminuyen por completo, si se tiene en cuenta la inflación. Mientras tanto, supuestamente hay una creciente demanda de programadores. Esto se debe en gran parte a la gran afluencia de trabajadores H1B en esta industria en los últimos 15 años más o menos.

Lo que ha sucedido es que, a menos que sea joven y / o esté dispuesto a correr hasta el fondo en términos de sus expectativas salariales, no podrá encontrar trabajo si es un programador de habilidades de nivel inferior a medio. No todos pueden ser estrellas de rock, e incluso a las estrellas de rock no se les paga lo que deberían. Pero los programadores promedio están básicamente en desventaja competitiva cuando compiten contra los indios y otros trabajadores H1B que viven con 3 o 4 compañeros de cuarto en un departamento provisto por su “patrocinador”, no tienen hijos o cónyuges que mantener, y generalmente solo ahorran el 80% de sus ganancias para llevar con ellos cuando eventualmente retrocedan.

He visto a muchas personas que fueron grandes programadores capacitar a los trabajadores H1B, solo para ser despedidos y no poder encontrar un trabajo por mucho tiempo, porque eran empleados leales que se quedaron con la misma compañía durante demasiado tiempo.

Tienes razón al decir que la demanda de programadores es extremadamente alta en este momento. He cambiado de trabajo 3 veces en los últimos 10 años, y cada vez que decidí hacer el cambio, no me llevó más de 2 semanas, siempre con múltiples ofertas para elegir.

Entonces, ¿por qué es difícil para algunos programadores encontrar trabajo? Aquí hay una lista de algunas razones en las que puedo pensar. La lista realmente no difiere mucho de ninguna otra industria, pero aquí hay algunas razones que son específicas de la programación:

  1. Inexperiencia : puede ser difícil para algunos encontrar ese primer trabajo de nivel de entrada. Muchos trabajos buscan experiencia de 1 a 2 años para un desarrollador junior. ¡Las pasantías pueden ayudar inmensamente! Después de que la compañía para la que estaba haciendo prácticas se hundió, durante el estallido de la burbuja de 2000 Dot Com, terminé comenzando mi propio “negocio de desarrollo web”, principalmente por la experiencia en mi currículum. Con el colapso de Dot Com, me llevó casi un año hasta que finalmente conseguí mi primer puesto de desarrollador junior (aunque estoy seguro de que los trabajos de nivel de entrada son más abundantes ahora.
  2. No mantenerse actualizado con las últimas tecnologías y lenguajes de programación: ¡ Manténgase siempre actualizado con los últimos lenguajes de programación, incluso si su empresa no lo está utilizando actualmente! Mientras estaba en mi segundo trabajo, tuvimos un despido masivo. Afortunadamente me salvé pero me di cuenta de que la mayoría de los despedidos eran empleados mayores que nunca se mantenían al día con los idiomas más nuevos. En ese momento no entendía por qué no se mantenían al día. Después de todo, estaba aprendiendo cosas nuevas de izquierda a derecha. Avancemos 12 años con una casa, una esposa y 2 hijos, y ahora entiendo que ya no es tan fácil encontrar el tiempo para seguir el ritmo. Sin embargo, aunque mi tiempo libre es más escaso, siempre encuentro maneras de hacer un poco de tiempo aquí y allá para mantener el ritmo. ¡NUNCA DEJES DE APRENDER!
  3. Personalidad: Esto es lo mismo en cualquier carrera y, aunque los trabajos de programación ofrecen un poco más de margen en el departamento de personalidad (somos un grupo colorido), su potencial empleador todavía necesita sentir que se siente cómodo con su grupo. La falta de personalidad o una personalidad que choca con los demás a veces puede evitar que encuentres trabajo.
  4. Mentir en su currículum: no mienta en su currículum. Llano y simple. Veo que esto sucede en las entrevistas todo el tiempo y siempre es imposible ir después de eso. Un empleador preferiría escuchar que no conoces una habilidad en particular, pero estás dispuesto a aprenderla, en lugar de atraparte en una mentira cuando comienzan a hacerte preguntas técnicas.
  5. No está calificado para el puesto al que está tratando de postularse: solo porque un empleador solicite un desarrollador sénior con 7 años de experiencia y usted tenga 8 años de experiencia, no significa que esté calificado para un puesto de nivel sénior. He visto desarrolladores que alcanzaron este nivel de salario en sus antiguos trabajos simplemente porque habían estado con la compañía el tiempo suficiente para conocer el negocio por dentro y por fuera, a pesar de que sabían muy poco sobre las tecnologías de programación modernas. Luego desean mantener este nivel de salario en su próxima posición, aunque no necesariamente estén calificados para ello.

Estoy seguro de que hay muchos más que voy a dejar fuera de esta lista, pero esos son los que puedo pensar fuera de mi cabeza.

Sin embargo, en general, si se mantiene actualizado con las últimas tecnologías y trata de tener una personalidad de “jugador de equipo”, no creo que deba preocuparse por encontrar trabajo.

Esta es una gran pregunta que me hago todos los días. Por qué …

  • ¿Por qué las empresas quieren todo en la “nube” pero no sus “desarrolladores de software”?
  • ¿Por qué los desarrolladores TIENEN que reubicarse y estar en el sitio? ¿No pueden los gerentes de desarrollo manejar a su gente sin mirarlos todo el día?
  • ¿Por qué los desarrolladores TIENEN que encajar / jugar bien con su nueva “tribu”? Entonces, ¿estás diciendo que prefieres que todos se vean / actúen como tú? ¿Qué pasa con ese “AHOLE” Steve? Vamos a deshacernos de él … él no es un jugador de equipo, y viejo … (pensando en sí mismo: umm, tienes razón Pat, pero es 10 veces más rápido que tú o yo)
  • ¿Por qué es importante el ajuste cultural? ¿Por qué eso es importante para enviar un producto?
  • ¿Por qué los desarrolladores tienen que tener 10 años de experiencia con tecnología de software que no tiene más que unos pocos años?
  • ¿Por qué tengo que PROBARME una y otra vez en entrevistas telefónicas?
  • ¿Por qué los desarrolladores tienen que saber cómo manejar cada pequeña pieza de un proyecto de software que fue creado por un sabio que no tenía idea de cómo diseñar un proyecto o escribir código que OTROS pudieran mantener y continuar?
  • ¿Por qué, por ejemplo, ya es angular en la revisión 4? ¿Qué hay de malo con las versiones anteriores? Mantener?
  • ¿Por qué los desarrolladores tienen que conocer cada nueva tecnología brillante y brillante que viene de la cartera de Microsoft / Google / Amazon / Facebook que tiene una probabilidad muy alta de ser DESCARGADA en unos pocos años? (Volver a angular) (WinRT / XNA)
  • ¿Por qué las empresas piensan que ELLOS son los únicos que saben cómo desarrollar software y SU manera es la mejor manera de avanzar?
  • ¿Por qué las empresas quieren todo esto y todavía quieren pagar 40 dólares por hora?
  • ¿Por qué las empresas solo quieren contratar desarrolladores “jóvenes”?
  • ¿Por qué las empresas piensan que si obtuviste una maestría / doctorado eres un codificador de producción? Usted no. Oye, tienes grandes ideas, nada personal.

Así que espero que no se ofendan por algunas de las cosas que he dicho, parte de esto fue una broma y parte de eso fue mi sorpresa ante la frustración de intentar conseguir un trabajo de desarrollo de software a mi edad. Un día estarás donde estoy si tratas de permanecer en la industria todo el tiempo que tengo (25 años), lo que no deberías hacer, pero me encanta el software y la tecnología. Es decepcionante recibir entrevistas telefónicas, luego hacer una entrevista cara a cara y ser rechazado porque el gerente de desarrollo quería un “ajuste cultural” más. Sí claro. Quieres decir que no es como yo. Esto sucede MUCHO y está mal, pero sucede.

Todas las buenas respuestas aquí. Yo agregaría un factor general. Un programador tiene que manejar su carrera. Ella / él necesita entender hacia dónde va el mercado y ver las tendencias que se avecinan.

La mayoría de las corporaciones le piden a su CIO que tenga un mayor impacto en el negocio. Para hacer eso necesita innovar. Para innovar, necesita reducir sus costos de operación cada año. Los costos de ejecución siguen aumentando con los nuevos proyectos y la complejidad acumulativa, pero no va a obtener más dinero el próximo año. No haga nada y TI no puede innovar mientras mantiene altos costos. Las empresas se quejan de las cosas interesantes publicadas por los competidores y el CIO puede buscar un nuevo trabajo.

La solución es administrar grandes partes de TI como una “fábrica”: producir productos estándar al mejor precio. Un programador que termina en el lado equivocado de ese problema, técnico para Oracle, SAP, .Net, por lo tanto, está compitiendo en costos. Y las personas una década más jóvenes o que trabajan desde India o Polonia son más baratas. Entonces, si pasaste 10 años para ser bueno en algo que ahora es una mercancía, estás en la caja.

Puede haber una gran variedad de razones para eso. Pero la mayoría del desempleo se debe a ciertas razones:

  1. El problema subyacente es que la mayoría de las personas que realizan la contratación no están calificadas para evaluar a los candidatos.
  2. Falta de voluntad para aprender. El candidato mismo podría ser la razón en algún momento cuando no muestran su disposición a aprender y flexibilidad en términos de tecnología, cambios y ubicación.
  3. Incluso las empresas a veces destruyen las habilidades del candidato con el tiempo al no exponerlos a buenos proyectos / capacitación requerida. Este tipo de comportamiento se observa principalmente en empresas basadas en servicios.
  4. Si el programador comienza su carrera en la MNC basada en servicios, es muy posible que con el tiempo su empleo se ponga en peligro. Esto se debe al hecho de que estas empresas tienen una gran cantidad de proyectos inútiles (en términos de tecnología, trabajo y habilidades).
  5. Es un campo muy vasto. El programador necesita mantenerse actualizado todo el tiempo. Todos los días está surgiendo una nueva tecnología en el mercado y para mantenerse en el negocio, ¡necesita mantenerse actualizado!
  6. La automatización también es la razón de lo mismo. Según la firma de investigación con sede en EE. UU., La industria de servicios de TI de la India perderá 6,4 lakh de empleos ‘poco calificados’ por la automatización en los próximos cuatro años.

Estoy sinceramente de acuerdo en que algunas personas no pasan las entrevistas, pero decir que la mayoría son “no buenas” es el típico esnobismo fantástico de los nerds que nunca crecieron. Me gustaría corregir eso con la verdad.

Realmente tengo experiencia en este: tengo un título en Matemáticas que es exponencialmente más difícil de hacer que CS, principalmente. Pude enseñarme todo lo que alguien necesitaría saber para aprobar cualquier entrevista.

Sé por personas de RR. HH. Que incluso los candidatos con un doctorado pueden estropear un ciclo simple “durante” durante una entrevista debido a NERVIOS. Hola, mi sentimiento sobre mí mismo y, bueno, las opiniones de ese tipo grosero que dice que soy un asco porque es malo, están en juego, sin mencionar mi supervivencia financiera con esta pregunta que alguien eligió de más de 20 capítulos de material y cientos de problemas bien conocidos.

Mis trabajos mejor pagados se obtuvieron con las preguntas más fáciles de la entrevista. ¿Qué dice eso sobre el proceso?

Se espera que lo sepas todo, que seas perfecto como ser humano con personas incluso irritantes como el Sr. Nerd, y que nunca te equivoques porque nunca estás nervioso o afectado por la vida.

Mira hombre, la programación no es ciencia espacial, y francamente, cualquiera que se aplique puede hacerlo. Los procesos de empleo de hoy no siempre son justos.

Además, he observado que personas que cometieron errores obvios, a veces a diario, mantienen sus trabajos bien remunerados. Me sorprendió ver a un líder que obviamente estaba tratando de despedir a la gente que no le gustaba, tener éxito. Ser empleado no equivale a ser un genio, una persona emocionalmente estable o inteligente. Depende de qué tan bien juegues el juego político que requiere una vez que hayas despejado el conocimiento para llegar allí.

Desde la perspectiva de la India principalmente y algunas reglas universales.

  1. La automatización está eliminando algunos trabajos, por lo que invariablemente llegaremos a una etapa en la que no es necesario que las personas realicen trabajos mundanos.
  2. Tecnologías obsoletas : los programadores Flash tenían una gran demanda en algún momento entre 5 y 7 años atrás. Las personas que se adaptaron bien a ese aprendizaje pasaron al desarrollo web. Los que no fueron excluidos. Casos similares para muchas otras tecnologías.
  3. Paquete incompleto : algunos programadores son excelentes en la codificación, pero no son buenos en otros aspectos como el trabajo en equipo, la comunicación al menos. No fueron recogidos en muchas buenas compañías. Estas personas son buenas para el inicio de una etapa temprana, pero eventualmente se convertirán en un cuello de botella. Las grandes empresas los evitan por completo. Para demostrar mi punto, mire qué tipo de personas contratan empresas como TCS, Infosys, HCL, Tech Mahindra, Wipro y muchas empresas de consultoría para campus universitarios. La persona tiene entre 21 y 23 años, académicamente bien, prefiere niña, comunicarse bien.
  4. Parte de un mal ciclo económico : en 2008, me estaba yendo bien para la startup con la que estaba trabajando. Estaba trabajando en un motor de publicidad basado en la ubicación. Entonces, de repente, el 85% de la gente de mi compañía fue despedida. Yo fui el seleccionado. No era un mal desarrollador teniendo en cuenta que estábamos trabajando en el reconocimiento de voz y también mis compañeros de la compañía. Es solo que fuimos golpeados por algo llamado evento Black Swan.
  5. Completamente incompetente : algunos candidatos, especialmente con tiendas de consultoría como TCS, Infosys, HCL, son empleados falsos. Son francamente incompetentes para hacer su trabajo. Están dentro por suerte, conocen a alguien, jugaad y gerentes de contratación incompetentes. Nadie toca cuando las cosas están bien, pero cuando las cosas están mal son las primeras en ser cortadas.
  6. Desajuste de la demanda y la oferta : con las tendencias tecnológicas cíclicas, algunos empleos no tienen demanda. Por ejemplo, Java, todos escriben que conocen Java y en este momento hay más en el lado de la oferta.
  7. Concéntrese en generalistas versus especialistas : en la actualidad, las empresas están contratando desarrolladores de full stack competentes. Estos desarrolladores tienen todas las habilidades generales, especialmente para un proyecto de desarrollo web y hacen más, ya que conocen tanto el front-end como el back-end.

Los programadores pueden estar desempleados por una amplia variedad de razones.

  1. No son muy buenos y no pueden pasar una entrevista.

o bien, pero …

  1. No pueden pasar una entrevista porque sus habilidades de entrevista no representan adecuadamente sus habilidades laborales.
  2. No están interesados ​​en los tipos de trabajo de programación disponibles. Por ejemplo, Bob quiere ser un programador de juegos en el juego X y no está dispuesto a considerar el juego Y o los trabajos de programación no relacionados con el juego.
  3. No buscan un trabajo de la mejor manera, por ejemplo, se postulan a trabajos en sus sitios web en lugar de trabajar a través de contactos, solicitan trabajos para los que no están calificados, no tienen buenos currículums, etc.
  4. No están dispuestos a trasladarse a donde están los trabajos.
  5. No quieren trabajar en este momento.
  6. Tienen algunos atributos que los hacen difíciles de emplear: no juegues bien con los demás, etc.

Me imagino que un gran porcentaje es el primer elemento, no son muy buenos. Solo terminar un título no lo convierte en un programador que se puede emplear, al igual que terminar un título de MFA no lo convierte en un escritor que se puede emplear: requiere habilidades y talento además de esa credencial.

Es difícil pensar por qué algunos programadores están desempleados, sin embargo, la demanda de desarrolladores de software aumenta cada día. Sin embargo, esto es cierto porque algunos programadores carecen de una o más de las cosas que voy a enumerar a continuación para usted.

  1. No hay suficiente experiencia: para ser empleado como programador, debe tener una buena experiencia en la creación de aplicaciones de software. No hay un momento en el que una empresa esté dispuesta a contratar a alguien que tenga poca o ninguna experiencia en el desarrollo de software. Así que trabaje y comience a desarrollar aplicaciones por su cuenta para obtener más experiencia.
  2. Pereza: algunos programadores son demasiado vagos y no se mantienen al día con las novedades de la industria de la tecnología de la información. Como la industria es muy dinámica y las cosas cambian con el tiempo, es fácil para cualquiera que no quiera quedarse atrás con lo que han pasado con las nuevas metodologías. Por ejemplo, generalmente se lanza una nueva versión de PHP cada dos meses y se emplean nuevos métodos mientras se descartan los antiguos. Por muy bueno que sea su conocimiento, aún necesita seguir aprendiendo y mantenerse al día con los cambios actuales.

Para evitar el desempleo como programador, le sugiero que asista a una buena escuela de programación como Holberton School y aprenda las metodologías adecuadas que se utilizan en la programación actual. Vaya allí y aprenda con otros cómo crear sistemas de software competentes desde cero y pronto se convertirá en un buen programador.

Descubrí que cualquiera que fuera competente y pudiera programar no estaba desempleado. De hecho, tenían reclutadores llamando a sus puertas.

A medida que uno envejece, el “ageismo” a veces tiende a interferir. Pero estaba dispuesto a trabajar como casi cualquier nivel de desarrollador. Solía ​​no ponerme fuera del mercado. Acabo de disfrutar la programación.

Luego, están aquellos, como yo, que después de programar durante más de 40 años, se han retirado. Uno todavía tiene reclutadores llamando, porque no pueden encontrar suficientes personas calificadas para desarrollarse.

Entonces, cuando no pueden encontrar suficientes personas calificadas para desarrollarse, me parece que si eres competente y quieres programar, puedes vivir bien como desarrollador.

Además de las otras respuestas, una cosa que he notado entre las personas que conozco personalmente es la falta de pasión.

La falta de pasión, o incluso la falta de interés básico en la programación, es algo que muestra cuando un posible empleador lo entrevista.

Incluso si tiene las credenciales (múltiples pasantías, un título relevante y calificaciones decentes), si no tiene pasión e interés en la programación, tendrá dificultades para encontrar un trabajo.

¿Por qué es importante tener pasión? Si un candidato está calificado, ¿no debería simplemente contratarlo?

Lo importante de trabajar como programador es que se espera que estés constantemente aprendiendo cosas nuevas, exponiéndote a nuevas ideas y situaciones, y se espera que aprendas y te adaptes.

¿Crees que alguien que odia la programación va a hacer esto una vez que comience a trabajar, o se haya establecido en su trabajo?

Dada la elección entre un candidato apasionado que puede tener un poco menos de experiencia y uno que tenga todas las credenciales, pero sin pasión, la mayoría de los empleadores elegirían al primer candidato.

Hay numerosos motivos. Entonces, además de muchas otras respuestas aquí, agregaré una cosa que observé muy a menudo cuando era copropietario de un negocio:

Una cosa que noté con frecuencia entre los desarrolladores de software y los empresarios clásicos (como los que contratan) fue que no podían “venderse” a sí mismos porque no parecían seguros debido a su elección de palabras. Muchos usan palabras como “eso debería funcionar” o “bueno, sí, en teoría debería …” y otras oraciones como esa.

Si bien eso tiene mucho sentido cuando hablan con su propia especie, los empresarios pensarán “él no sabe” o “no está seguro acerca de sus habilidades”. Esa redacción muestra una falta de confianza en una situación en la que eso es lo último que se debe mostrar.

A menudo es útil ponerse en el lugar del otro. ¿Qué pavimento contrataría para la entrada de su nueva mansión?

El que dice:

  • Bueno, sí, creo que podemos hacer eso o …
  • Eso no es absolutamente ningún problema. Hacemos proyectos aún más grandes todo el tiempo, el mes pasado lo hicimos …

El primero en realidad puede ser más “honesto” porque sabe sobre el demonio en los detalles, pero vender funciona de manera diferente.

En general, el que está haciendo la contratación también está empleado. Las personas empleadas (inteligentes) quieren proteger sus traseros. La mejor manera de hacerlo es contratar personas que parecen ser de bajo riesgo. Si el desarrollador hace un mal trabajo, puede ser muy importante si es probable que también parezca competente para los demás y no solo para el que lo contrató.

A veces necesitaba mantener a mi socio comercial de 25 años (que nombró a nuestra empresa) alejado de algunos clientes. Era un ingeniero inteligente y un abridor de puertas para las empresas más “informadas” pero tóxico para los que no entendían la complejidad involucrada.

Se podría decir que las personas que hacen la contratación no tienen la calificación para contratar realmente a los mejores y eso incluso podría ser cierto. Quizás sea así, incluso la mayoría de las veces. En realidad, sin embargo, esto no importa. Es más fácil trabajar en sus propias habilidades de auto-marketing que esperar a que el mundo cambie.

Por supuesto, uno debe tener las habilidades para respaldar la (nueva) confianza en sí mismo …

Problemas sistémicos:

  1. La mayoría de las organizaciones tienen un proceso de contratación deficiente que está sesgado hacia un cierto tipo de personalidad. El tipo de personalidad deseada varía y cambia de forma caótica e impredecible con el tiempo. Las habilidades de programación no se evalúan adecuadamente, por no mencionar las otras habilidades necesarias en la ingeniería de software moderna. Las habilidades de entrevista son atroces en este campo, tanto entre los entrevistadores como entre los entrevistados.
  2. Discriminación por edad masiva y generalizada contra cualquier persona mayor de 30 años (a menos que sean alguien mundialmente famoso como Ken Thompson). También hay prejuicios importantes contra las mujeres y las personas de color no asiáticas (en general, tienen que estar sobrecalificadas y luego se cagan por estar sobrecalificadas).
  3. Buen cuasi-nepotismo anticuado. Hay una nueva tendencia masiva de personas que contratan a sus amigos de la universidad para los lugares de elección, lo que conduce a una ventaja de reputación que se basa en sí misma. Cada vez más, el éxito en este campo se trata más de quién conoce que de lo que sabe.

Asuntos personales:

  1. No estar dispuesto a desarrollar nuevas habilidades, ya sean técnicas o personales.
  2. No ser lo suficientemente abierto para aceptar nuevas ideas y formas de hacer las cosas. O, por el contrario, sentirse demasiado atraído por el “nuevo calor” y volverse loco con el mantenimiento del sistema. Este es un obstáculo para muchos, ya que tomar conciertos de mantenimiento socava la capacidad de aprender cosas nuevas, ¡pero supongo que esta es la vida que hemos elegido!
  3. Poco dispuesto o incapaz de trasladarse a los mercados donde se encuentran los trabajos. Esto es desconcertante, ya que la videoconferencia es omnipresente, pero la realidad es que las personas que ejecutan este juego quieren algo de tiempo cara a cara, y eso generalmente será en la sede de la compañía o en Seattle, Austin o Silicon Valley. Por supuesto, el último caso apesta, ya que estos lugares se están volviendo demasiado caros para vivir, incluso en el extremo superior de la paga profesional de TI.

La mayoría de las empresas en realidad no quieren “programadores informáticos”. No hace falta mucha habilidad o experiencia para hackear algún código para automatizar una tarea o proporcionar una función.

Lo que las empresas suelen querer en realidad son “ingenieros de software”. Hay una gran diferencia entre el código que funciona y el código que funciona y también es mantenible .

Ayer realicé una entrevista, y el candidato y yo hicimos un par de ejercicios de programación, resolviendo un problema trivial. Resolvió el problema fácilmente, y su solución fue rápida y simple, pero aún así lo rechacé. ¿Por que hice eso?

Era evidente que consideraba que la audiencia de su código era la máquina que lo ejecuta. Si bien ese lector en particular es importante, también es vital que un profesional de software se dé cuenta de que las personas leerán su código, posiblemente en los próximos años. Y esas personas necesitarán hacer cambios.

¿Quieres detalles? El candidato no pudo extraer líneas lógicas idénticas en un método y llamó al método varias veces. Sí, solo eran unas pocas líneas de código, pero él solo lo copió y lo pegó en el editor. Además, algunos de los nombres de las variables eran solo letras simples, no descriptivas en absoluto. Y cuando le pedí que me mostrara que funcionaba, simplemente ingresó los valores de prueba a mano, en lugar de tomarse un par de segundos para hacer un método de prueba simple que se pueda llamar con diferentes entradas.

En resumen, él era un programador, no un ingeniero.

Porque no todos quieren un trabajo estúpido …

Y esto sucede para cualquier otro campo. No todos los médicos tienen trabajo, no todos los abogados tienen trabajo, no todos los poetas tienen trabajo … etc.

Algunas personas quieren ejecutar sus propias startups … ese era su sueño cuando decidieron convertirse en programadores.

Algunas personas quieren trabajar como contratistas independientes, y no como empleados, porque les da la flexibilidad con la que han estado soñando.

Mientras que para otros, aún no es hora de conseguir un trabajo … entre otras razones.

Aparte de aquellos que son conscientes y parte de lo que está sucediendo, están aquellos que son víctimas de las circunstancias.

Por ejemplo, en esta era y época, un buen programador simplemente no podría conseguir un trabajo, incluso si él quisiera, está calificado y realmente aplicado, debido a los procesos de contratación extravagantes .

Es decir, reclutadores inexpertos que realmente no saben cómo obtener talento técnico y el uso de escáneres de currículum que verifican los currículums rellenos de palabras clave y no la capacidad real de entregar.

Luego está el grupo que consiguió un trabajo pero fue despedido por una buena razón ( no pudo entregarlo ) o simplemente por algún jefe egocéntrico que siempre está buscando a alguien a quien culpar por su propia incompetencia.

Pero si realmente necesita clavar el trabajo de un programador, comience por construir una cartera sólida que luego pueda mostrar a su posible empleador …

Salud.

La industria es muy dinámica y cambia muy rápidamente.

Algunas comunidades de programación están muy unidas y no están dispuestas a poner a la gente al día con tecnología especializada, es casi imposible descubrir todas las tecnologías y procesos aleatorios que implementa cada empresa, los mejores programadores son ágiles y pueden trabajar fácilmente en diferentes entornos, pero eso requiere mucho esfuerzo.

desafortunadamente hay mucha arrogancia en el campo y los programadores a menudo se tropiezan entre sí o consideran que su código es el mejor. A menudo no están dispuestos a aprender cosas nuevas. En mi opinión, este es un problema tanto del lado de la entrevista como del lado del entrevistador. El cambio ocurre a menudo y necesita poder adaptarse independientemente de su posición.

Algunas entrevistas son charlas personales sobre el historial de trabajo, otras son slogs de codificación de 4 horas, no hay coherencia en las entrevistas.

Personalmente, creo que la industria necesita atenuarlo, el candidato perfecto realmente no existe, podría estar pasando por alto a un candidato realmente bueno en base a que no conocen algunos conocimientos de programación triviales. Una vez contraté a dos tipos, uno que estaba haciendo una programación realmente compleja basada en cuaterniones y otro que apenas podía hacer trigonometría. Para mi sorpresa, el tipo que no podía hacer trigonometría era el mejor empleado, ya que el otro tipo estaba únicamente interesado en su investigación. La industria necesita enfocarse en crear equipos viables y no buscar el codificador de vaqueros que solo tiene todo el conocimiento pero que arruinará el equipo y el producto si se van.

La ingeniería de software recibió un impulso masivo hacia una fuerte especialización por parte de empleadores y empleados. Pero especialmente los empleadores, quieren invertir lo mínimo antes de que comiencen a obtener el retorno de su contratación.

Esta es una tendencia preocupante que tenemos en muchas industrias, especialmente en Estados Unidos: invierta lo menos posible en los empleados. También puede ver las tendencias de contratación, en comparación con el pasado. Antes de que una licenciatura solía ser respetable, incluso hoy en día la maestría puede no ser suficiente. Otro ejemplo es la capacitación en el trabajo, que fue la base de la lealtad mutua de la empresa.

En pocas palabras, la especialización y la mercantilización habían alcanzado nuevos niveles, que causan desempleo incluso en una industria con alta demanda.

En 1999, el Congreso aprobó la regla de inmigración H-1b que permitía a las empresas solicitar visas de trabajo para llenar trabajos no cubiertos. El 1/2/2000, casi nada salió mal. La mayoría de los programadores que trabajan en el error Y2K fueron despedidos. Todos estos programadores estaban trabajando por una buena paga, y de repente nada.

Los salarios son un gasto enorme en el resultado final de una empresa. Menos gastos = mayor beneficio neto. Casi todas las empresas que emplearon programadores estadounidenses, los despidieron y contrataron H-1bs a la mitad o menos de lo que ganaron sus predecesores. En algunos casos, grandes compañías poderosas compraron casas y alojaron a sus empleados H-1b en un entorno de tipo “cuartos de esclavos”.

¿Por qué pagar por buenos trabajadores estadounidenses cuando una empresa puede conseguir extranjeros a la mitad del costo?

Solo he realizado trabajos de contratación, fallando cada entrevista de trabajo de programación que he tenido. Puedo decir inequívocamente que la contratación es mucho más difícil que ser un empleado, por lo que, según todas las definiciones, debería ser contratado mañana, ¿verdad?

Pensé mucho en esto y llegué a algunas conclusiones simples:

1- Soy autodidacta. Por supuesto, hay muchos programadores autodidactas en este mundo, por lo que no debería ser un problema total.

2- No soy exactamente un “ajuste cultural”. Prefiero no meterme en todo esto, pero por decir lo menos, no soy una buena opción para una empresa que parece un dormitorio universitario, y yo ” No estoy realmente interesado cuando el entrevistador es tan bueno como una cometa cuando me está hablando.

La calle va de muchas maneras aquí, pero creo que, en general, mi actitud es que soy una buena persona, pero enfocada en seguir siendo profesional. Muchas compañías están buscando amigos, y dado que no tengo una red de otros programadores, no tengo universidad, etc., es difícil evaluar si soy material amigo.

3- Mis proyectos son demasiado complejos. No me di cuenta de esto cuando comencé a aprender, pero hay un límite superior para la complejidad que los empleadores aceptarán. Un proyecto demasiado complejo es un indicador de que a) no puedo trabajar con personas, b) voy a vivir como un mendigo, ahorrar mi dinero y marcharme, y / o c) no podría haberlo hecho Yo mismo, tan claramente, soy un mentiroso.

Soy lo que se llama “alto riesgo”, aunque no estoy de acuerdo con esta evaluación.

Creo que el mejor camino es hacer el mínimo absoluto que necesitas para conseguir un trabajo, y luego enfocarte en ser entrenado. También reconozca que los empleadores realmente no saben lo que quieren, y todos esos requisitos sobre años de experiencia, tecnología, etc., no son más que una lista de deseos.

Ignora todos los blogs sobre lo que se requiere para conseguir un trabajo. He visto mi perfil de github tal vez 5 veces a lo largo de los años, y solo 2 entrevistadores han discutido algún código en mi github.

No creas la exageración de ser apasionado, impulsado o cualquier cosa de alta mentalidad sobre la que los bloggers escriban. Nunca he entrevistado o hablado con una compañía que se preocupa lo suficiente como para mencionar estos temas, casi nunca discutí un proyecto, y cada vez que mencioné mis “proyectos de pasión, me encontré con una mano agitada. Me sorprendería si a los bloggers, cuando realmente los empujan contra una pared, les importara un ápice estas cosas.

No creas que ser increíble cuenta para nada. He conocido a muchas personas increíblemente inteligentes y amables que lucharon como locas para encontrar un trabajo, incluidos los principales mantenedores de marcos populares y lenguajes de programación. He visto muchas personas empleadas que podrían codificar mucho.

Todo se reduce al ajuste cultural. Si no puede convencer al empleador de que se ajusta a su personalidad, entonces no está obteniendo el trabajo, y eso es todo.

Intentemos responder a este problema con un enfoque diferente:

  1. Imagine un país donde las enfermeras se gradúan todos los años en masa; aprueban los exámenes de licenciatura con gran éxito, pero solo hay entre 15 y 30 hospitales por provincia o perfeccionamiento. La misma situación se aplica a los estudiantes de TI que se gradúan en este país hipotético.
  2. Imagine un país donde el trabajo por contrato se ha convertido en la norma en los sectores privado y gubernamental. Las personas son contratadas pero no tienen seguridad laboral. Cuando terminan los proyectos o contratos, queda desempleado.
  3. Imagine un país donde las escuelas de TI enseñan tecnologías de programación y lenguajes de programación que son obsoletos. Estos estudiantes de TI practican y estudian algo que la industria informática ya no quiere. Después de recibir un diploma, también se encuentran incompetentes y obsoletos. No quedan ofertas de trabajo para estos graduados de TI.
  4. Imagine un país donde las escuelas de TI prestan más atención a generar ingresos que a la educación. Lo que enseñan está actualizado, pero tienen miedo de perder a sus estudiantes en otra escuela de informática cercana, por lo que los dejan pasar a pesar de que el rendimiento de los estudiantes está por debajo del promedio. Imagínese contratar a estos graduados porque su formación es impresionante en el currículum. Una vez que termina la luna de miel, el divorcio se convierte en parte del plan.

Además de mil razones más publicadas por otros aquí …

More Interesting

¿Qué hace un ingeniero de software en ISRO?

Después de aprender los conceptos básicos de un lenguaje de programación, por ejemplo, variables, tipos de datos, matrices, funciones, etc. ¿Cuál es el siguiente paso?

¿Qué tipo de análisis se puede hacer con los datos de IoT?

¿Qué tan significativo es el cálculo y las matemáticas cuando se convierte en ingeniero de software?

¿Qué debo hacer para seguir aumentando mis conocimientos y habilidades como ingeniero de software? Específicamente, ¿qué habilidades debería mejorar para trabajar en empresas como Google, Twitter, LinkedIn, etc.?

¿Cuáles son algunas palabras de moda para indicar que un ingeniero de software ha trabajado en aplicaciones grandes?

¿Es necesario ser bueno en programación para convertirse en un buen ingeniero de software porque la ingeniería de software generalmente no necesita programación?

No soy una persona orientada a los detalles, pero me gusta cómo el desarrollo de software puede cambiar la vida de las personas, ¿me gustaría codificar?

¿Qué quiere decir la gente cuando dice que un lenguaje de computadora es difícil que otros?

En ingeniería de software, ¿existe tal cosa como 'escribir demasiadas pruebas'?

No puedo formatear ni convertir mi tarjeta SD del sistema de archivos exFAT de 64 GB a FAT32. ¿Qué se puede hacer?

¿Quién es un ingeniero de plataforma? ¿En qué se diferencia del ingeniero de software y devops?

¿Vale la pena hacer un E-MBA de IIM Bangalore? Trabajo como SSE, gano alrededor de 50 mil rupias por año (32 años) y tengo un B.Com.

¿Qué opciones tiene un ingeniero de software harto en la vida, excepto por el sufrimiento?

¿Cómo es el proceso de entrevista en Microsoft Irlanda?