Industria del software: ¿cómo tener éxito como desarrollador junior?

Estuve pensando un rato sobre el título de esta pregunta y no sé si encaja tan bien o no.

Ya llevo 6 meses trabajando como desarrollador de software (desarrollador de C#) en una de las agencias gubernamentales (15 desarrolladores). Este es mi primer trabajo y antes de empezar a trabajar aquí, había estado trabajando en un proyecto freelance (terminado con éxito, lo que me ayudó a conseguir trabajo aquí).

En la entrevista de trabajo, me dijeron que participaría en la reescritura de un software grande y antiguo (que tiene más y más problemas a medida que pasa el tiempo). Me dijeron que, a pesar de eso, tenían muchos proyectos, así que tendría la oportunidad de ganar experiencia. En resumen, acepté una oferta.

El primer día de mi trabajo descubrí que también había otro empleado nuevo (dedicado a este proyecto, tiene experiencia previa en el desarrollo de bases de datos). Entonces, en suma, 2 empleados nuevos y 1 antiguo (ha estado trabajando durante 6-7 años trabajando aquí), que conoce este proyecto y lo apoya constantemente.

Nosotros (los nuevos empleados) comenzamos a familiarizarnos con este proyecto (yo también tenía algunas otras tareas pequeñas). Después de un tiempo, me dijeron que antes de escribir un nuevo proyecto, sería mejor hacer mejoras en la parte específica del existente. Me dieron las pautas y después de 2 meses terminé con éxito estas mejoras (cambié la base de datos SQL a NoSQL, agregué paginación personalizada, filtrado y mucho más).

Me dijeron que todo estaba bien y que alojarían una nueva versión en el servidor para probar la aplicación, antes de la producción. Lo hicieron después de 2 meses y aún no lo han probado (dicen que no tienen tiempo).

Le he preguntado varias veces al líder de nuestro equipo por qué estaba sucediendo esto y me dijo que realmente quieren comenzar a trabajar en este proyecto, pero no puede prometerme que lo haga. Dice que hay muchas cosas que hay que decidir y considerar antes. Quiero ganar mucha experiencia, así que le pedí que trabajara en otro proyecto en lugar de no hacer nada. Me dijo que lo pensaría.

Después de un mes, nos pidió (a los nuevos empleados) que empezáramos a escribir una versión mejorada de un proyecto muy pequeño desde cero. Este proyecto tiene la prioridad más baja entre otros.

Trabajar en este pequeño proyecto es realmente jugar y no más. No estoy aprendiendo nada nuevo y estoy realmente preocupado por eso . Mi oportunidad de conseguir un ascenso es del 0% según esta situación.

¿Qué hace el líder del equipo? Pasa algún tiempo como gerente de programas y algún tiempo como desarrollador principal. Da pautas a los desarrolladores (5 en total) que están trabajando en proyectos de alta prioridad y, como de costumbre, no les queda tiempo.

¿Qué opinas de esta situación? ¿Qué puedo hacer?

PS Agency también está buscando nuevos desarrolladores...

No es suficiente para una respuesta, pero ... aparte de las cuestiones técnicas, en mi opinión, lo que distingue a un 'simple' programador de un buen desarrollador es que su trabajo no es escribir código. Es para solucionar problemas de su empresa y de los usuarios. Normalmente, esto se hace escribiendo código, pero escribir código nunca debe ser el objetivo, sin importar cuán bueno sea. Escribir un buen código es muy importante, pero porque le permite atender mejor las necesidades de las empresas y los usuarios. Cuando comencé, cualquier aprendizaje básicamente sucedió en mi propio tiempo en proyectos personales, pero no todos tienen el tiempo o el deseo de hacerlo. ¡Otras respuestas dicen correctamente que le preguntes a tu jefe!

Respuestas (2)

Suponiendo que el líder de su equipo sea su gerente directo, programaría una reunión con él para ver cómo define el éxito en su primer año.

En esa conversación, puede mencionar que está ansioso por aprender, tiene capacidad para trabajar en nuevos proyectos y quiere lograr las metas que ha definido y documentado. Este ejercicio le dará una ventana a lo que él espera que logre (y lo que debe hacer cuando no esté trabajando activamente en proyectos) y le dará una ventana a sus intereses, capacidad y entusiasmo por aprender.

Si lo anterior no funciona, otro camino es buscar mentores dentro de la organización que lo ayuden a navegar la dinámica de la agencia, ya que el ritmo y la asignación del trabajo pueden diferir de otros entornos laborales.

Si la situación actual es una excepción y parece haber una pausa en el trabajo, utilizaría su tiempo sabiamente para mejorar sus habilidades de programación: elija / practique un lenguaje de programación que la agencia usa en sus proyectos (aproveche Stack Overflow, etc.). para aprender) y considere contribuir a proyectos de código abierto que sean relevantes para su área de dominio (aproveche GitHub, etc.).

Felicitaciones por conseguir su primer trabajo y parece que está ansioso por comenzar con su curva de aprendizaje. ¡Buena suerte!

Gracias, considerando la situación, a corto plazo practicar es la mejor opción y lo hago todo el tiempo, pero a largo plazo creo que cambiar de trabajo será la mejor manera..

He visto esto muchas veces, tanto con el gobierno (que tiene una asombrosa acumulación de código heredado que necesita ser reescrito con urgencia) como con muchas empresas grandes y antiguas. Eres joven y necesitabas un primer trabajo, por lo que eras un buen candidato. Puede funcionar para ti siempre y cuando no caigas en lo que me gusta llamar la "trampa del primer trabajo".

He observado que las personas que tienen su primer trabajo justo después de terminar la universidad tienen una gran renuencia a seguir adelante, incluso si el trabajo ya no es adecuado para ellos. Mi primer trabajo fue para una empresa que entró en el capítulo 13 y me debía tres meses de salario atrasado (que nunca recibí, a los inversores de la empresa se les pagaba primero). Literalmente fui una de las últimas personas en irse. Estaba trabajando en otros dos trabajos solo para pagar el alquiler, porque me sentía desleal ante la idea de "abandonar la empresa cuando me necesitaban". Después de ese primer trabajo, aprendí que la lealtad a la empresa debe terminar cuando dejen de enviar cheques de pago.

Algunos años más tarde, trabajé para una gran empresa cuya política era contratar siempre recién graduados de la universidad (tal vez por el factor de la lealtad). No puedo decirte cuántas conversaciones escuché entre personas que odiaban su trabajo y se hacían miserables quedándose, pero que, cuando se les sugirió que podrían salir y buscar otro trabajo, te miraban sin comprender o te miraban mal. mirada de venado en los faros. Simplemente no entendían que hay muchos trabajos por ahí.

Tu primer trabajo es importante. Estoy absolutamente de acuerdo con @Pchandrasekar, esta es una oportunidad para aprender nuevas habilidades y debes concentrarte en adquirir las últimas habilidades tecnológicas y practicarlas tanto como sea posible. Siempre que su trabajo actual le permita usar estas habilidades tecnológicas, no importa en absoluto si los proyectos se usan o se descartan. Ese no es tu problema, ni debería tener ningún efecto en tu carrera.

Cuando voy a una entrevista de trabajo, quieren saber en qué proyectos he trabajado; cuál es la tecnología, cómo resolvió los problemas técnicos, etc. NUNCA nadie me preguntó qué hizo la empresa con el proyecto o si todavía estaba en uso. No les importa

Entonces, mientras esté usando sus nuevas habilidades, esta es una gran oportunidad y debe quedarse mientras la situación le permita usar esas habilidades. Pero si alguna vez caes en la "trampa heredada", donde tienen un código heredado con tecnología "antigua", que quieren mantener o refactorizar, no reescribir, entonces saca tu currículum y encuentra otro trabajo antes de que termines en los programadores. cementerio.

Hace unos veinte años cometí el error de tomar un trabajo haciendo VB 6, que, incluso cuando era nuevo, no estaba bien considerado en la comunidad de programación. Era un poco como dBase; tan fácil de usar que casi cualquier persona podría tomar un manual y aprender a usarlo, incluso si no tuviera experiencia previa. Entonces, cuando terminó ese trabajo, me encontré prácticamente sin empleo. Los posibles gerentes tomarían mi currículum, verían que mi tecnología más reciente fuera VB y luego me archivarían. Esto no fue solo mi imaginación; los reclutadores en realidad me decían que por eso no podían conseguirme entrevistas. Me tomó casi un año de estudio intenso y algunas decisiones profesionales creativas para volver a encarrilar mi carrera de codificación.

El entorno de codificación actual es altamente competitivo y de alta presión. Debe poder demostrar que estaba utilizando la última tecnología en su trabajo. No te quedes atrás, sigue adelante si no te ofrecen las oportunidades que necesitas.

Tengo algo que le dará un buen uso a su experiencia de VB... Busque algo llamado "Automatización de procesos robóticos" y UiPath. Ese ecosistema está basado en VB.NET y es un campo muy solicitado en este momento...