¿Por qué no es suficiente obtener un trabajo de desarrollo, si estoy familiarizado con los lenguajes de programación, la sintaxis y puedo construir una aplicación web CRUD?

Depende de mucho más que solo esto. ¿Conoces los lenguajes de programación o estás familiarizado con la programación? Cuando entrevisto a personas, realmente busco para asegurarme de que las personas entiendan por qué están haciendo lo que están haciendo y las consecuencias de elegir hacerlo de esta manera en lugar de la alternativa.

Pero, sinceramente, lo primero que me desanime en una entrevista es una mala personalidad. Recientemente entrevisté a alguien que estaba entrevistando para un puesto de gerente, y él habló sobre todos sus compañeros de trabajo en su trabajo actual. Mantente humilde, inteligente y apasionado.

Además, el área en la que está trabajando tiene mucho que ver. Por ejemplo, SF Bay Area tiene estándares bastante extraños en comparación con el resto de los EE. UU. (Y tal vez otros países).

¿En qué dominios estás entrevistando? Si está intentando ingresar al dominio de Publicación de anuncios, muchos de ellos esperan que ya tenga algo de experiencia en el dominio. O si está tratando de ingresar a una empresa de Plataforma como Servicio, probablemente esperan que se sienta cómodo con las herramientas DevOps.

Simplemente conocer la sintaxis y crear una aplicación web de mala calidad a menudo no es suficiente. Eso es como saber cómo construir un puente, pero no saber dónde está la ubicación correcta para construir un puente. Mucha gente espera más profundidad.

En mi opinión, para aumentar sus posibilidades, también debe aprender sobre programación, informática e ingeniería de software. En realidad, estas no tienen definiciones claras, pero considero que significan:

  • Programación : el arte de construir programas. Aquí caerían cosas como patrones de diseño, principios de programación como SOLID, familiaridad con diferentes marcos y bibliotecas.
  • Ciencias de la computación : la ciencia de la computación (de lo que tratan los programas). No solo lo que debe hacer, sino también por qué debe hacerlo y cómo demostrar que es la elección correcta (para usted u otros).
  • Ingeniería de software : la práctica de construir programas. Sistemas de control de versiones, metodologías de gestión de proyectos (ágil, cascada), trabajo en equipo y por qué la estructura de un programa a menudo refleja la estructura de la organización que lo creó.

La primera es principalmente una actividad intuitiva, la segunda, racional, la tercera, social. Obviamente, los tres son necesarios si desea trabajar en un programa no trivial con otras personas.

Las empresas tienen suficientes candidatos para elegir con mucha más evidencia que sugiere que les irá bien trabajando en proyectos en escala comercial en curso con compañeros de equipo y crecerán en puestos más altos.

La experiencia en una posición similar supera un trabajo con menos alcance y profundidad. Un puesto junior anterior sugiere mejores probabilidades de tener éxito como ingeniero sénior que un título en informática. Un título acreditado en informática de ABET implica mejores probabilidades que menos capacitación.

Las grandes empresas no necesitan considerar empleados de nivel de entrada sin títulos de CS porque las universidades estadounidenses otorgan títulos de CS al doble de la tasa que nuestras empresas están creando trabajos de ingeniería de software. Las pequeñas empresas están contratando con la lentitud suficiente para que puedan requerir algunos años de experiencia de sus empleados más jóvenes y aún así obtener suficientes candidatos. Las compañías más nuevas que necesitan solo unas pocas personas pueden ocupar todos sus puestos con excelentes ex compañeros de trabajo, casi garantizados para sobresalir en sus nuevos roles.

Es suficiente para conseguir un trabajo. Si no está recibiendo ninguna entrevista, tal vez le falte algo fuera de sus habilidades de programación. Si está recibiendo entrevistas pero no está siendo contratado, tal vez tenga problemas para comunicarse bien con los gerentes de contratación. Tal vez has tenido mala suerte y necesitas ser persistente. O tal vez vives en un área donde los trabajos de desarrollador son escasos.

Todos pueden construir un CRUD. Pero, ¿qué tan sucio será cuando se vuelva un poco más complicado?

Es por eso que debes ir a la escuela para que las compañías sepan (casi) con seguridad que tienes todo lo necesario para ser un buen activo para ellos.

Pero nada le impide intentarlo y ponerse en contacto con algunas empresas para explicar lo que puede lograr y qué tan rápido puede aprender. ¡Pero necesitarán algunos ejemplos de tu trabajo!

Y no es porque te sientas cómodo con las herramientas que has usado que de hecho te sentirás cómodo en un proyecto determinado.