¿Cómo colaborar en el equipo de javascript cuando no sabes Javascript?

Empecé un nuevo trabajo hace 3 meses. Durante el proceso de la entrevista, me dijeron que podía elegir el idioma que quisiera usar para hacer el proyecto. Hace un par de semanas comenzamos el proyecto y me dijeron que debo usar Node.js, mecanografiado, programación basada en eventos y express, ninguna de las cuales son cosas que conozco.

Nunca antes había trabajado mucho en ningún tipo de javascript , pero tengo muchos años (> 5) de experiencia en python/java, así como una pequeña experiencia en matraz. Como tengo una variedad de experiencia en programación, asumí que podría aprender sobre la marcha.

El proyecto solo tiene otro desarrollador, y ha utilizado estas tecnologías ampliamente. ¿Cómo puedo contribuir a este proyecto de manera efectiva? No quiero "obligarlo" a hacer todo, pero eso es lo que está sucediendo: trato de ayudar en pequeñas formas y, a menudo, lucho por producir algo útil. Le expliqué la situación, y ahora me evita y hace todo por su cuenta. He intentado "ponerme al día" con él, charlas breves para hablar sobre el progreso del proyecto, pero parece que lo estoy obligando a explicarme todo lo que me ha hecho. Probablemente, es molesto para él.

Tenemos un equipo ágil completo de 11 personas que incluye 2 ingenieros de software (incluido yo mismo) y un líder técnico. Mi jefe (con quien me entrevisté y sabe lo que yo sé/no sé) no está en el equipo ágil.

Solo el otro ingeniero de software sabe que no conozco las tecnologías subyacentes (el líder técnico no sabe lo que sé o no sé). No se lo omití a nadie intencionalmente. Realmente pensé hasta hoy que podría aprender la tecnología muy rápido y no importaría (he aprendido otras tecnologías rápidamente antes; C# fue muy fácil para mí desde que conocía Java).

Por un lado, el enfoque más simple es : "simplemente aprenda programación javascript, mecanografiada, express y controlada por eventos". Con optimismo, esto llevaría al menos unos meses. Sin embargo, el proyecto vence dentro de 3 meses. Realmente no sé qué tan realista es este enfoque.

Un segundo enfoque es : simplemente pregunte al otro desarrollador cuál es la mejor manera de ayudarlo, haga lo que dice, manténgase fuera de su camino y no lo moleste. Esto podría incluir cosas de desarrollo, garantía de calidad, refactorización de código/eliminación de olores de código, cualquier otra cosa que pueda hacer. Bueno, si hago este enfoque, entonces se puede percibir que contribuyo mínimamente al proyecto, y puedo terminar recibiendo una mala revisión de desempeño o tal vez incluso despedido.

Un tercer enfoque es: decirle al líder técnico que no conozco las tecnologías subyacentes. El mejor de los casos es que ajusta sus expectativas a la baja y me da más margen para contribuir con lo que pueda a medida que aprendo, o podría ser colocado en otro equipo/proyecto. En el peor de los casos: me echan del equipo o incluso me despiden.

Por el momento, estoy probando una combinación de los dos primeros enfoques. ¿Es esta mi mejor ruta? ¿Hay algún enfoque que desconozco? ¿Qué enfoque debo tomar aquí?

Soy consciente de que no puedo "esconderme", ya que cualquiera que mire el repositorio de código (como el líder técnico) podría ver que realmente no estoy contribuyendo. Y será obvio según lo que diga que logré o no logré durante los scrums diarios y otras recuperaciones. Por otro lado, parece contraproducente "anunciar en voz alta a todos que no sé nada de esto".

" Durante el proceso de la entrevista, me dijeron que podía elegir el idioma que quisiera usar para hacer el proyecto" ¿La persona que le dijo esto está involucrada en el proyecto actual de alguna manera?
@sf02, esa persona es mi jefe y no está involucrado en el proyecto actual.
Tal vez deberías hablar con él y recordarle tus conocimientos y lo que te transmitieron en la entrevista.
Muchos votos negativos silenciosos sobre este: ¿a alguien le importa explicar por qué los votos negativos? ¿Es esta una mala pregunta sobre el lugar de trabajo?

Respuestas (1)

Olvidó el cuarto enfoque, que son los 3. Primero, habla con su líder técnico y le cuenta sus deficiencias. Les haces entender que sabes que no eres ideal en el proyecto y que estás listo para hacer lo que sea necesario para contribuir y hacer que el proyecto sea un éxito. En segundo lugar, hablas con el otro desarrollador y vas directo a la honestidad. Acepte las partes "basura" del proyecto siempre que pueda y libérelas para hacer la máxima contribución. Obtén sus opiniones y consejos durante la revisión del código y sé siempre receptivo a los comentarios. Tercero, ponte manos a la obra y empieza a aprender. JavaScript es (en mi opinión) un lenguaje bastante simple y con experiencia en programación, debería poder realizar la mayoría de las tareas una vez que domine los conceptos básicos.

La honestidad y una actitud positiva son tus amigos aquí. Admita sus defectos en esta área y haga todo lo que pueda para solucionarlos, ya sea aprendiendo a convertirlos en puntos fuertes o eliminando las tareas banales de los otros desarrolladores y haciéndolos más productivos. Una actitud positiva es de mayor ayuda en la mayoría de los equipos que las habilidades muy avanzadas. Preséntate, contribuye donde puedas y prepárate para aceptar comentarios y aprender.