¿Me será difícil encontrar mi primer trabajo de programador/a?

Mujer con gesto de desesperación frente a su portátil

En los últimos años, la industria del desarrollo de software ha experimentado un crecimiento exponencial. Cada vez más empresas están digitalizando sus procesos y necesitan profesionales que les ayuden a hacerlo. A pesar de esto, muchos juniors están teniendo dificultades para encontrar su primer trabajo en el sector. Si te estás planteando dedicarte profesionalmente a la programación, ¿qué puedes hacer para sortear este obstáculo?

¿Qué serás después de estudiar, developer o estudiante?

Delante de los ojos de una empresa que está buscando developers, tú tienes que presentarte como developer. Es cierto que algunas empresas tienen programas de prácticas para estudiantes recién salidos de bootcamps o de FP, pero la mayoría de las ofertas de trabajo que verás en internet son para developers.

"Pero cuando busque empleo yo ya seré developer porque habré terminado mis estudios", dirás. La realidad es ésta: a la empresa le importará un pimiento que sepas mucho JavaScript o que tu proyecto final sea una app con sockets, tiempo real y generación de vídeo 3D con IA. Eso no te presentará ante ella como developer.

La clave está en qué tipo de junior vas a ir modelando durante tu formación. Dependiendo de lo que trabajes más, tu perfil será el de un/a estudiante recién salido de un curso o el de un/a developer que conoce lo que necesita la empresa.

¿Qué podrás ofrecer a una empresa cuando acabes los estudios?

Te voy a plantear dos perfiles, perfil A y perfil B, y luego te voy a preguntar cuál crees que va a encontrar trabajo antes.

Perfil A:

  • Durante sus estudios se ha enfocado en que el código funcione, en saber implementar las cosas más difíciles.
  • Ha dado más importancia a que se vieran avances en la pantalla que a que su código fuera legible por humanos.
  • Sabe usar Git, pero no es lo más importante para él/ella. Va haciendo commits cuando se acuerda.
  • Ha programado un juego espectacular, pero no ha hecho tests.
  • Es capaz de explicar perfectamente cómo funciona un algoritmo de ordenación, pero no le ha dado importancia a las conversaciones de código en las Pull Requests.
  • Crea unas webs preciosas pero no se centra en la accesibilidad y no se esfuerza por utilizar herramientas para mejorar la performance.
  • Se lo ha pasado muy bien en el curso programando cosas muy chulas, pero no sabe gestionar la frustración.
  • Ha trabajado en equipo pero no está preparado/a para ser mentorizado/a por alguien con más experiencia sin tener que estar preguntando cada vez que surge un obstáculo.

 

Perfil B:

  • Durante sus estudios ha trabajado aplicando metodologías Agile.
  • Está acostumbrado/a a discutir el código con sus compañeros/as y a dar y recibir feedback.
  • Se ha centrado en aplicar Clean Code para producir código legible y en aplicar buenas prácticas. Tiene en cuenta el concepto de deuda técnica.
  • No ha desarrollado ni una sola feature en front o back sin haberla testeado.
  • La mayor parte del tiempo ha programado en pair programming y sabe gestionar las dificultades inherentes a esta forma de trabajar.
  • Siempre desarrolla teniendo en cuenta la Integración Continua y utiliza Git para conseguir ciclos de entrega cortos.
  • Conoce el ciclo de vida del software y los procesos de entrega de valor, y está habituado/a a entender el software desde una perspectiva de producto.
  • Tiene práctica trabajándose el naming, porque sabe lo importante que es que el dominio del negocio esté plasmado en cada variable, módulo, clase o interfaz del código.
  • Utiliza el enfoque BDD para desarrollar desde la funcionalidad y entendiendo siempre cada artefacto desde su API pública. Intenta siempre depender de abstracciones y no de implementaciones. Esto le permite aplicar técnicas de refactoring con seguridad.
  • Su manejo del dominio del negocio y del lenguaje ubicuo le permite hablar con todos los equipos que entran en juego en el desarrollo de un software.
  • Ha trabajado durante todo el curso con un enfoque multidisciplinar que le permite encajar en equipos T-shaped.
  • Se ha peleado con tantos setups distintos que ha entendido la importancia que hay que darle al tooling usado para desarrollar, y puede pelearse con cualquier nuevo setup que se encuentre en la empresa.

 

Ya sabes qué perfil tiene muchas más oportunidades de encontrar trabajo que el otro, ¿verdad?

¿Cómo debes afrontar el aprendizaje de la profesión?

Si has llegado hasta aquí, es que te has dado cuenta de que el perfil B es el que tiene más posibilidades de encontrar trabajo. Pero, ¿cómo se consigue ser un perfil B?

A programar se aprende con cursos online y con videotutoriales. Pero no te van a contratar por saber programar. Si tu intención es buscar trabajo de developer, aprende la profesión. Y eso sólo lo puedes hacer en un entorno donde puedas entrenar las habilidades que te van a pedir en tu futuro puesto de trabajo.

Elige un camino formativo donde el foco se ponga en adaptarse a un entorno de desarrollo de software. Donde se te enseñen las metodologías que se usan en las empresas, donde puedas realmente moldearte como un/a profesional de la industria. Elige un camino formativo donde puedas practicar las skills que realmente van a aportarle valor a las empresas.

Si quieres aprender JavaScript, hay cientos de miles de tutoriales, vídeos, libros y cursos. En cambio, si quieres que tu entrada en un equipo no le suponga un gran esfuerzo a la empresa -eso es al fin y al cabo lo que van a evaluar para contratarte-, elige un camino donde puedas aprender bien la realidad y las prácticas de la profesión.

Nuestro curso 😊

Si has elegido convertirte en el perfil B, en The Refactor Project te invitamos a conocer nuestro curso Crafting en Desarrollo Web Profesional, donde el principal objetivo es convertirte en 4 meses en un/a developer de perfil B y sin haber programado previamente.

El foco de este curso no es simplemente enseñarte a programar, sino que te conviertas en un/a profesional de la industria, atractivo/a para las empresas de desarrollo de software.

Desde el primer día vas a estar trabajando con metodologías Scrum y eXtreme Programming (XP), y todo lo que programes lo vas a hacer aplicando Clean Code y testing. Trabajarás con mentalidad DevOps y dominarás Git y GitHub, implementando CI/CD y pipelines con GitHub Actions.

Al desarrollar, aprenderás a hacerlo poniendo al/la usuario/a en el centro. Todas tus interfaces tendrán en cuenta la accesibilidad, la User Experience y la performance, tomando en cuenta métricas como las Core Web Vitals.

En el curso tendremos contacto con las empresas del sector, para que puedas conocer de primera mano cómo es el día a día de un/a developer en una empresa de desarrollo de software. Tendrás la oportunidad de conocer juniors que ya están trabajando y que eligieron el mismo camino que tú.

Al terminar el curso, por tanto, no serás un/a simple estudiante que acaba de finalizar sus estudios, sino que serás un/a developer y te podrás presentar a las empresas como tal.

Consejos finales

Mírate nuestro curso 😉