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.
- ¿Cuál fue el aprendizaje más sorprendente de tus primeros seis meses en ingeniería de software?
- ¿Cuál es la diferencia entre ingeniero asociado e ingeniero de software asociado?
- ¿Es el desarrollo integrado un buen lugar para comenzar tu carrera? ¿Qué tan fácil es cambiar más adelante?
- ¿Es cierto que algunos desarrolladores profesionales pueden llegar a dominar cualquier lenguaje de programación en solo 48 horas?
- ¿Quora es para ingenieros de software educados de Ivy-League?
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”.