¿Cómo puede conseguir un trabajo en una empresa con herramientas y métodos innovadores cuando su empleador actual utiliza técnicas más antiguas o menos innovadoras?

En realidad, hay dos tipos de equipo/empresa de TI. Un tipo trata de seguir todos los estándares industriales y adoptar tecnologías avanzadas (como J2EE, seguridad y otras cosas), mientras que otro tiene estándares bajos y utiliza tecnologías antiguas.

Cuando estoy en una entrevista, a los entrevistadores no parece gustarles el hecho de que mi empresa actual no utilice ciertas metodologías o prácticas. Por ejemplo, para una pregunta: "¿Cómo puede asegurarse de obtener los requisitos adecuados de los clientes?" mi respuesta solo pudo ser: "Tenemos una reunión para discutirlo con ellos".

Si mi empresa no utiliza métodos y prácticas innovadores, entonces decir que aprendo rápido no ayuda mucho. Parece que si no puedes conseguir la experiencia no puedes conseguir el trabajo, y porque no puedes conseguir el trabajo no tienes la experiencia.

¿Qué debe hacer alguien en una situación así?

¿ A qué es una buena respuesta How can you ensure you are getting proper requirement from clients??
@amphibient Supongo que los requisitos deben resolverse con el cliente no solo preguntando, sino que también podría usar la creación rápida de prototipos. El cliente te dirá si tu prototipo funciona y qué le falta. Y no solo le pregunte al "cliente": le pedí al cliente que trajera a uno de los usuarios finales a la próxima reunión. El usuario debe decir entonces si podría trabajar con nuestro prototipo. (¿Adivina qué? Faltaban dos cosas esenciales...)

Respuestas (5)

Sé que puede sentirse como una situación ineludible, pero tenga fe, ¡puede cambiar!

Conoce el Mercado

El primer punto es darse cuenta de que las empresas y el grupo de contratación en general cambiarán con el tiempo. Cuando hay muchos candidatos en el mercado, las entrevistas se vuelven notablemente más difíciles y esperan la última y mejor tecnología porque pueden hacerlo. Cuando el mercado está caliente y los candidatos son difíciles de encontrar, las entrevistas tienden a buscar personas inteligentes que puedan aprender y trabajar productivamente con tecnología y prácticas que son nuevas para ellos. Entonces, a veces, la respuesta es esperar mientras trabajas en tus habilidades. Pero es útil conocer su área: ¿cuántas personas conoce que encuentran trabajo fácilmente? ¿Todos tienen el último conjunto de habilidades?

Incluso en un mercado difícil, no se dé por vencido... pero considere la idea de que su enfoque principal debe ser mejorar su conjunto de habilidades.

Mejorar las habilidades tecnológicas

Algunas habilidades giran en torno al último y mejor conjunto de herramientas técnicas: en software, son cosas como JEE, Ruby on Rails, Eclipse, básicamente cualquier herramienta que se usa como componente en algo o se usa para hacer algo. Estas tienden a ser las áreas que cambian más rápidamente con el tiempo, y el área donde es más probable que un proyecto existente se retrase, ya que inventar un nuevo widget es mucho más fácil que integrarlo en un producto existente.

La buena noticia es que, en un mercado en el que hay más puestos de trabajo que personas, esta es la primera área que recibe indulgencia. Mientras tanto, si estos son sus mayores puntos débiles, le recomiendo que se tome un tiempo extra y trabaje en un proyecto personal no remunerado en sus horas libres. El código abierto o algo relacionado con una pasión personal son buenos impulsores.

O, si realmente necesita capacitación guiada, conferencias, bootcamps o cursos universitarios. Las conferencias lo acercarán a la vanguardia, pero no ofrecerán tanta orientación ni estructura. Los cursos universitarios ofrecen la experiencia de aprendizaje más profunda durante muchas semanas, pero tienden a estar un poco atrasados, ya que lleva tiempo desarrollar el plan de estudios. Los bootcamps flotan en el medio.

Además, averigüe lo que pagará su empresa. Si tiene el respeto de su jefe actual, es posible que pueda vender la capacitación en tecnologías más nuevas para tener algo de experiencia que pueda aportar a la innovación dentro de la empresa, siempre que seleccione cursos que se relacionen de alguna manera con el trabajo que está haciendo. .

Mejora del proceso y la práctica

Cosas como "desarrollo ágil", "desarrollo basado en pruebas" y otras prácticas mejores o recomendadas entran en esta categoría. Algunos de estos requerirían una conversión de todo su equipo para implementarlos; por ejemplo, es difícil tener un scrum solo. Sin embargo, otras pueden ser opciones que puede probar de una manera pequeña en el trabajo. Por ejemplo, en muchos lugares, puede inventar su prueba antes de crear la solución: eso es desarrollo basado en pruebas.

En algunos casos, estas son las habilidades más críticas: cuando una industria técnica desarrolla una forma dramáticamente nueva de hacer las cosas, el cambio para los trabajadores individuales puede tomar una curva de aprendizaje seria. Es probable que una empresa contratante prefiera que los trabajadores hayan hecho la transición en su último trabajo. Afortunadamente, estos cambios importantes no ocurren tan a menudo; estoy pensando en cosas como el desarrollo orientado a objetos y las metodologías ágiles.

Muchos de estos pueden implementarse independientemente de la tecnología actual que se utilice en su trabajo. Además, es posible que pueda abogar por la opción de tomar una pequeña parte del proyecto y probar una nueva práctica con el fin de mejorar su eficiencia/calidad.

Las nuevas prácticas se pueden aprender en conferencias y cursos, pero la mejor manera de aprenderlas es practicarlas. El código abierto u otros esfuerzos voluntarios de grandes equipos pueden ser una excelente manera, ya que el enfoque ideal es trabajar con otras personas que sepan cómo usar estas prácticas mejor que usted para que pueda obtener orientación y consejos a medida que avanza.

Por último - Entrevista

Independientemente de dónde se encuentre en términos de conjuntos de habilidades actualizados, cuando vaya a una entrevista, no se concentre en lo que le falta: concéntrese en lo que tiene y cómo venderse.

Tienes razón en que decir que aprendes rápido es más una promesa que una demostración de tus habilidades. Pero tener algunos puntos de referencia para las cosas que ha aprendido recientemente y qué tan rápido las aprendió es útil como referencia.

Además, no se concentre en la debilidad de sus prácticas actuales, pase algún tiempo en su empresa actual tratando de averiguar por qué son como son. ¿Tiene usted, por ejemplo, relaciones duraderas con los clientes que hacen que sus reuniones de recopilación de requisitos sean menos riesgosas? ¿Tus clientes tienen el compromiso requerido para ser parte de un proceso ágil? Si no es así, es posible que le vaya mejor con el enfoque actual.

Por ejemplo, leyendo la consulta anterior: "¿ Cómo puede asegurarse de que está recibiendo los requisitos adecuados de los clientes? " podría responderse de la siguiente manera:

Es nuestra práctica actual reunir los requisitos en las reuniones con los clientes. Así lo hemos hecho durante mucho tiempo y contamos con la confianza de nuestros clientes después de una larga historia de buen desempeño. Como sabemos que es arriesgado realizar un proceso de desarrollo en cascada, hacemos todo lo posible para examinar los requisitos por adelantado; por ejemplo, si hay una GUI involucrada, enviamos prototipos como diagramas para recibir comentarios de los clientes durante el diseño de alto nivel. Además, si surge una pregunta durante la implementación, así es como la resolvemos...

Sí, es un proceso antiguo recopilar requisitos de esta manera, pero al menos su respuesta es reflexiva y busca equilibrar las fallas en el proceso con un poco de esfuerzo adicional. Si usted es parte de la recopilación de requisitos y ve fallas en el proceso, entonces este es el momento en que debe hablar con su jefe sobre las formas de mejorar la forma en que trabaja su equipo. No necesita un paquete de tecnología completamente nuevo o las mejores prácticas para realizar pequeñas mejoras en su trabajo diario. Y mostrar ese tipo de iniciativa es bueno tanto en tu trabajo actual como en cualquier entrevista a la que vayas. Porque esta respuesta es aún más impresionante:

Solíamos tener una reunión rápida con el cliente. Funcionó bastante bien, pero nos dimos cuenta de que había muchos errores más adelante cuando el cliente vio la GUI implementada. Como trabajo en esa área, hablé con mi jefe y me dejó cambiar el proceso; ahora, antes de diseñar la GUI, le mostramos al cliente algunos diagramas de nuestra intención. Esto ha reducido los errores en un 50%.

Si esta fuera su respuesta, definitivamente lo querría en mi equipo, porque no importa cuán malo sea el proceso de su empresa, puedo ver que usted es un agente para mejorar las cosas. Así que lo más probable es que también haga que los procesos de mi equipo funcionen mejor.

Verdadero. Lo he estado pasando mal en las entrevistas porque los entrevistadores siempre se enfocan en mis debilidades/lo que no sé. Nunca pensé que puedo afirmar que mi experiencia pasada puede ayudarme a aprender rápidamente.

Primero, hay partes del trabajo que dependen totalmente de ti, así que mejóralas. Si estamos discutiendo el desarrollo de software, es su elección si escribe pruebas unitarias y cómo lo hace, qué políticas elige y sigue con respecto al nuevo código que escribe. Puede ser complicado con el código heredado, pero aun así, puede desarrollar algún tipo de guía sobre cómo refactorizarlo. Puede ser más complicado si tiene la propiedad colectiva del código en su empresa, pero teniendo en cuenta que es una de las prácticas maduras, es probable que esto no sea un gran problema.

En segundo lugar, hay muchas fuentes donde puedes aprender cosas nuevas fuera de tu lugar de trabajo. Cuántos libros ha leído recientemente sobre las áreas que tiene en mente al hacer una pregunta. Incluso si realmente no puede aplicar todo lo que se describe en Clean Code , probablemente debería saber, al menos en teoría, cómo se pueden hacer las cosas correctamente. En términos de gestión de requisitos, el libro de Dean Leffingwell es un buen punto de partida. Estos son, por supuesto, solo ejemplos; hay muchas fuentes excelentes en Internet entre las que puede elegir.

Tercero, una vez que conozcas el oficio en teoría, aplícalo en la práctica. Convence a los miembros de tu equipo de que debes probar un par de cosas nuevas. Tan triste como es, la mayoría de las empresas que hacen un trabajo mediocre con la forma en que hacen su trabajo simplemente no saben cómo hacerlo mejor. En tal caso, sus colegas deberían seguir felizmente su ejemplo en la adopción de nuevas prácticas.

Cuarto, no se concentre tanto en una tecnología específica. Una cosa es poco probable que cambie a menos que cambie el proyecto. Otra es que un buen desarrollador no debe estar tan apegado a un solo lenguaje de programación o marco. Cambian demasiado rápido. Por cierto: cuando estoy reclutando, espero que conozcas muy bien las tecnologías en las que trabajaste activamente y el resto, no tanto. Entiendo que no aprenderá a programar en una tecnología específica de un libro; tiene que pasar algún tiempo usándolo antes de dominarlo.

En una nota al margen: si después de una entrevista mi impresión es que solo aprendes cosas que te dicen que hagas en el trabajo, eso me dice algo importante sobre tu disposición a aprender .

+1: En general, esta es una gran respuesta. La última frase es perfecta, tienes que demostrar que aprendes lo que crees que es necesario, y es aún mejor si intentaste (y conseguiste) impulsar las cosas nuevas en tu empresa actual. Solo no estoy de acuerdo con el primer punto: muchos equipos de programación tienen pautas de codificación y prueba muy sólidas (al menos fue el caso en la mayoría de los proyectos en los que participé).

Demostrar experiencia laboral externa.

Lo bueno de la programación es que puedes demostrar fácilmente habilidades que no están relacionadas con tu empleo. Si desea trabajar en nuevas tecnologías, trabaje en esas tecnologías, escriba sobre ellas, contribuya a algunos proyectos de código abierto, cree una cuenta de github y publique algún código propio que demuestre lo que puede hacer. Pon todo esto en tu currículum. Mostrará que a pesar de que su empleador utiliza tecnologías antiguas (como J2EE), usted está interesado y puede aprender nuevas tecnologías.

En lugar de enfocarse solo en aquellas empresas que usan herramientas que le gustaría usar pero en las que no tiene experiencia, busque algunas empresas que estén en transición, tengan trabajo para el que esté calificado y trabajo para el que necesitará aprender las tecnologías. Por lo tanto, obtiene el trabajo para el que está calificado y luego, después de impresionarlos con su maravilla general, se vuelve relativamente fácil pasar a un puesto que utiliza las cosas más nuevas.

Además, considere las empresas más pequeñas. A menudo pagan menos y, por lo tanto, tienen menos opciones de contratación, por lo que su falta de experiencia puede no ser tan desalentadora, pero pueden ayudarlo a obtener la experiencia que necesita para el trabajo que finalmente desea.

Primero, puede usar esto como una razón para cambiar de trabajo. Asegúrese de hacerles saber que:

  1. Usted es consciente de estos y los ha utilizado en su propio tiempo.
  2. Estás abierto al cambio y dispuesto a aprender cosas nuevas.
  3. Tiene un historial comprobado de ser capaz de aprender nuevas tecnologías.

De alguna manera, habrá menos candidatos que tengan experiencia con las tecnologías más nuevas. Hay un punto en que los más nuevos se vuelven más populares.

Necesitan saber que no estás usando las herramientas antiguas porque te resistes al cambio.