Soy un recién graduado de la universidad (¡en mayo pasado!). Mientras todavía estaba en la escuela, quería asegurarme de que tenía un trabajo antes de graduarme, y muy temprano (probablemente demasiado temprano) en mi búsqueda de empleo me decidí por uno en una región a la que esperaba mudarme después de la licenciatura. .
Sin embargo, he estado adivinando esta decisión durante meses, por varias razones. Una es que no tengo muchos desafíos en el trabajo y siento que no he mejorado mucho en la programación desde que comencé aquí. Sin embargo, siempre puedo hacer tiempo para trabajar en código abierto (y en el pasado) fuera de mi trabajo, así que tengo un lugar para superar esta decepción. Más importante aún, estoy preocupado por el hecho de que mi trabajo es básicamente trabajar en una aplicación web Perl vieja y chirriante (usando Mason y un extraño ORM interno).
¿Me estoy disparando en el pie trabajando con una tecnología que ya no es popular y que realmente no me ayudará a conseguir un trabajo en el futuro? Raramente veo trabajos de Perl, y cuando lo hago, generalmente está haciendo algo que no me interesa (cosas de desarrollo web front-end).
La programación de sistemas, la visualización, la programación de redes o, al menos, las cosas de desarrollo web de back-end son el tipo de temas en los que realmente me gustaría trabajar: no parece que mi experiencia laboral actual me esté ayudando a posicionarme haciendo cualquiera de estas cosas .
Respuestas:
En primer lugar, ¡ deja de pensar que tu trabajo no te está llevando más lejos hacia el trabajo de tus sueños! ¡Todo trabajo lo hace! ¡Todo depende de ti!
Entonces, las formas que lo ayudan son las siguientes:
Y no se quede en este trabajo por mucho tiempo si no está satisfecho con él , ¡lo suficiente como para aprender habilidades básicas, mostrar su disposición a aprender y su fuerza de voluntad para superar el aburrimiento de sus tareas!
Cuando solicite su segundo trabajo en un futuro más o menos cercano, ¡aún puede ser tratado como un desarrollador junior! Debes tratar de enfatizar lo que has aprendido en tu primer trabajo, cómo afrontaste tus problemas de mantener el código heredado y el sistema brownfield, cómo lograste extender tus horizontes y qué nuevas características interesantes has aprendido allí.
Nunca, nunca diga durante la entrevista de trabajo que está aburrido con su trabajo actual y esa es la razón por la que está buscando otra cosa. "Aburrido" es tan subjetivo y a menudo significa que no eres lo suficientemente bueno como para soportar el desafío de aprender las cosas en tu posición actual y aplicarlas en consecuencia. Muestre su disposición a aprender, a ampliar su conocimiento y obtendrá el trabajo de sus sueños, estoy seguro.
fuente
Los primeros trabajos en la industria del software a menudo son trabajos malos. Si bien aprenderá algunas habilidades de programación, la educación más importante que está recibiendo es cómo trabajar en una empresa.
Apareciendo en un horario regular, trabajando más de 8 horas al día, utilizando software de control de fuente, tratando con jefes y compañeros de trabajo, recibiendo esa llamada de las 3 a.m. porque el servidor de producción se ha caído y necesita reparaciones ... esas son las habilidades que usted ' Estás aprendiendo de tu primer trabajo.
Dicho esto, si estás aburrido y no disfrutas lo que haces, renuncia. Si cree que este trabajo no lo ayudará a alcanzar su objetivo profesional eventual, renuncie. Hay muchos trabajos para personas con talento.
fuente
Consideraré diferentes aspectos de su pregunta por separado:
fuente
Lo que usted llama tecnología "fuera de estilo" es de lo que se trata la mayoría de esta industria. La razón es simple: se realiza más desarrollo para mantener los sistemas existentes que otros nuevos. E incluso cuando se desarrollan nuevas, a menudo se desarrollarán utilizando tecnologías que son más antiguas, pero probadas y que se ajustan a un paisaje arquitectónico más grande. Esta es solo la realidad del desarrollo de software. Pocos desarrolladores están en una posición en la que siempre puedan trabajar en la "vanguardia" de la tecnología.
En mi opinión, hay menos gloria en trabajar con [inserte una nueva tecnología súper genial aquí] que en entregar a tiempo, dentro del presupuesto y de acuerdo con las expectativas. Eso es algo que solo puedes aprender a través de la experiencia y que es completamente independiente de la tecnología. Yo diría que estás en un buen curso en este momento. Siga aprendiendo el oficio y el arte del desarrollo de software en el trabajo y manténgase al día con la curva tecnológica lo mejor que pueda fuera del trabajo. Así es como la mayoría de nosotros lo hacemos.
fuente
Disintiendo con todos los demás, este trabajo bien podría lastimarte . Regularmente entrevisto a candidatos que intentan escapar de su primer trabajo después de la universidad. Por lo general, estaban atascados usando un lenguaje que tiende a usarse para mantenimiento más una tonelada de "marcos" internos. En otras palabras, han aprendido a usar algunos juegos de herramientas a los que nunca más tendrán acceso, perdiendo el tiempo en lo que respecta a la empleabilidad.
Además de eso, la mayoría de las tiendas de mantenimiento a las que he estado expuesto no le enseñan las habilidades que necesita para ser parte de un esfuerzo de desarrollo real. Cuando estoy entrevistando a alguien que sale de su primer trabajo, quiero saber que entienden:
La mayoría de estas habilidades las adquirí en mi primer trabajo al exponerme a personas inteligentes y trabajar con ellas todos los días. Si cree que no está aprendiendo nada (sobre software o negocios), comience a buscar otro trabajo.
Editar: Como nota al margen, recuerdo la búsqueda de trabajo fuera de la universidad. Estaba en una feria de carreras y comencé a hablar con alguna compañía que trabajaba con bufetes de abogados. Comencé a preguntarles sobre sus prácticas de desarrollo, y resultó que estaban haciendo todo en VBA. Les agradecí su tiempo y salí de allí.
fuente
Si yo fuera usted, sin duda consideraría hacer algo de lectura y programación después del trabajo en otro idioma (por ejemplo, Python, Java, Scala, Ruby, C ++, etc.), de modo que cuando solicite otro trabajo, pueda demostrar que tiene conocimiento de idiomas que están en uso más amplio que Perl. Además, si tiene otras áreas de interés, definitivamente leería un poco más.
Por otro lado, tenga en cuenta que muchas técnicas de programación que está utilizando son probablemente las mismas independientemente del lenguaje de programación.
Entonces, nuevamente, mi sugerencia sería: no te preocupes demasiado, pero comienza a aprender algo nuevo en tu tiempo libre. Tan pronto como haya reunido suficiente conocimiento seguramente encontrará un trabajo más emocionante.
fuente
Si ya no quieres trabajar en Perl, está bien.
El hecho de que Perl no tenga mucho flash actualmente, no significa que no sea popular.
Me gustaría señalar que el impulso de Perl ha aumentado dramáticamente en los últimos 5 años.
Ha habido versiones más estables de Perl en cada uno de los últimos 2 años, que en cualquiera de los años anteriores.
La mayoría considera que Moose se encuentra entre los mejores sistemas de objetos de Perl hasta la fecha, y solo se remonta a principios de 2006. Los siguientes sistemas de objetos más populares son básicamente sistemas de objetos de Moose simplificados .
Si desea una prueba de cuán popular es Moose , vea cuántos módulos CPAN dependen de Moose .
Entre los módulos que requieren Moose se encuentra Dist :: Zilla , que siempre ha requerido Moose . En caso de que no lo supiera, Dist :: Zilla es posiblemente la mejor forma de construir y lanzar módulos CPAN .
También todavía hay algunos proyectos nuevos y geniales que están usando Perl. La extensión de Lacuna para uno.
fuente
Alguien tiene que recoger la basura, limpiar los baños, cavar zanjas y trabajar en McDonalds. En este momento estás haciendo la versión de desarrollo de software de eso.
¡No hay nada malo en reconocer eso y aspirar a algo más grande!
¡Lo que haces ahora definitivamente da forma a lo que harás mañana, el próximo año y los próximos diez años!
¡Cualquier otra persona que diga diferente está tratando de mantenerte deprimido o sentirse mejor por estar en el mismo lugar deprimente!
En cuanto a Perl, está fuera de estilo en el sentido de la palabra "Carrera". Como a menos que quieras hacer una carrera como el chico Perl , comienza a aprender algo más nuevo y más en boga. Python, Java, C # abrirán más puertas y serán más comercializables o algo que está a punto de llegar a lo grande en unos años más como Erlang.
Dicho todo esto, * aprender a no hacer ** es tan valioso como hacerlo , y aprender de los errores de los demás es menos doloroso que aprender de los suyos.
Ahora mismo estás aprendiendo lecciones sobre ambas cosas.
fuente
Todavía hay mucha demanda de personas buenas con Perl. Descubrirá que la industria de las redes y muchos trabajos de administrador de sistemas basados en * nix usan perl ampliamente.
Dicho esto, me hago eco de otros que sugieren empujar tus propios límites. Incluso si solo está trabajando con Perl, encuentre formas de optimizar y optimizar los programas. Por ejemplo, si ve un enfoque lineal adoptado con un programa (a menudo el signo de un programador inexperto), ¿puede encontrar una manera de modularizar el código para mejorar la capacidad de mantenimiento? La habilidad básica de leer un poco de código, independientemente del idioma, y optimizarlo y transformarlo en un mejor código es una habilidad muy solicitada.
fuente
network programming
, o al menos cosas de desarrollo web de back-end son el tipo de temas que realmente disfrutaría trabajando en "hmm ... no lo que leo ... y hay trabajos en esas áreas ... por ejemplo, industria de redes, como se dijo. Trabajo para una empresa de Internet de nivel 1, perl se usa ampliamente para el trabajo de back-end.Busque oportunidades para desarrollar y mantener experiencia en otros idiomas, mientras demuestra que es un empleado dedicado que puede enfrentar el desafío. Conduzca usted mismo para mantener un rendimiento de trabajo constante de la más alta calidad que pueda lograr, y use cualquier tiempo libre para realizar más trabajo o, si se le permite, crear cosas que le permitirán desarrollar habilidades y conocimientos en otras áreas. Incluso una demostración simple que resuelva un problema comercial real de una manera diferente (con un lenguaje más en boga) le permitirá mejorar sus habilidades y mostrarle a su jefe que está pensando activamente fuera de la caja. Solo tenga cuidado de no ser visto como eludiendo sus otros deberes simplemente para trabajar en proyectos paralelos.
La dedicación es la clave. No se espera que los graduados tengan años de experiencia en muchos idiomas. Siempre puede pasar un año desarrollando habilidades de comunicación esenciales y demostrando que puede superar el desafío, incluso si el desafío es mirar más allá de lo que siente que es "aburrido". Aprenda a vender sus habilidades cuando llegue el momento de seguir adelante. Se espera que continúe aprendiendo en el trabajo y que muestre al próximo empleador que está buscando activamente mejorar sus habilidades.
Recuerde, a nadie le gusta emplear un "sabelotodo". Siempre he buscado contratar personas, incluso para puestos de alto nivel, que quieran aprender y crecer más.
fuente
Schwern
Solía pensar exactamente lo mismo que tú en muchos sentidos. Salí de la universidad con fuertes habilidades en Java y Python. Mi primer trabajo fue trabajar con Delphi. Inmediatamente me preocupé por esto, pero como no tenía empleo y recién salía de la universidad, decidí morder la bala y tomar el trabajo, ya que tendría experiencia trabajando como programador, independientemente del idioma.
Mi segundo trabajo consistió en trabajar en un gran banco haciendo desarrollo de Smalltalk la mayor parte del tiempo, con un poco de Perl y Java. Mis amigos se rieron de mí porque no podía conseguir un trabajo como desarrollador principal de Java y me dijeron que estaba dañando mi currículum. Ahora estoy ansioso por comenzar un nuevo trabajo en unas pocas semanas que tenga todas las tecnologías con las que quiero trabajar y tenga un mejor salario.
Obviamente, no puedo decir que su experiencia será la misma que la mía, pero hay algunas lecciones que puede extraer de ella para reflexionar. En primer lugar, la programación es secundaria a lo que haces. Si tiene buenas habilidades de modelado de dominio y puede aprender los procesos comerciales rápidamente, eso pagará más dividendos a largo plazo en lugar de evitar aprender cómo funciona el negocio y pasar más tiempo especializándose en problemas menores, lo que he visto en la mayoría de los lugares He trabajado.
La segunda cosa que debes recordar es que estás en el reloj de otra persona. Si desea opinar sobre qué hacer y tener control total sobre todo, entonces comience su propio negocio. He visto a demasiadas personas unirse a una empresa y gemir sobre tecnología heredada, lo hice yo mismo cuando me gradué. Por lo general, estas personas se consideran tóxicas para el lugar de trabajo y no duran mucho. La clave para recordar es que la tecnología está ahí para apoyar el negocio, no al revés. Lo mejor que puede hacer en estas situaciones es crear oportunidades a partir de ellas, de lo contrario, es hora de empacar y salir y buscar un empleo alternativo, pero va a encontrar que cada empresa para la que trabaja tiene problemas de algún tipo.
Más allá de lo que he mencionado, diré que no quieres parecer "institucionalizado". Lo que quiero decir con esto es que está atascado en el uso de lenguajes y tecnologías particulares y no puede ir más allá. Desea cultivar cierta flexibilidad en su carrera, que incluye habilidades de modelado de dominio. Desde que comenzaste en tu carrera, te señalaré un buen material que desearía tener disponible para mí cuando comencé:
El programador apasionado
El programador pragmático
Diseño impulsado por dominio
El programador de carrera
fuente
Codifica un poco fuera del trabajo, pero todavía no siento que te estés haciendo daño. Eres un empleado reciente, así que eres un desarrollador de nivel de entrada: en esta etapa del juego deberías aprender cosas como el Ciclo de desarrollo y cómo se deben hacer las cosas.
Busca algunas cosas fuera del trabajo para que puedas rellenar tus estadísticas. En mi opinión, puedes codificar o no puedes. El lenguaje y la sintaxis se pueden aprender, pero la capacidad de pensar y resolver problemas por su cuenta no se puede.
fuente