Soy ingeniero de software durante 4 años y acabo de cambiar de compañía por primera vez.
La compañía trabaja con programación de pares, y han pasado 3 días, ni siquiera pude escribir una sola línea de código. Es muy frustrante para mí porque era muy productivo en mi empresa anterior.
La base de código es grande, están utilizando 5-6 idiomas / herramientas con las que no estoy familiarizado, como rspec, haml, jazmín y otros. Pero aún así, me siento horrible.
Este fin de semana creé UML para comprender mejor la aplicación, pero aún supongo que no podré escribir una cantidad decente de código esta semana.
¿Esto es normal?
¿Cuál es su experiencia cuando cambia su trabajo y se sumerge en una gran base de código escrita con idiomas / bibliotecas con las que no está familiarizado?
Por supuesto, no estoy pidiendo el tiempo exacto requerido, pero las experiencias pasadas o cosas para hacer el proceso serían geniales.
Por cierto, ya he leído a continuación las preguntas y respuestas, ¿Cómo te sumerges en grandes bases de códigos?
/programming/215076/whats-the-best-way-to-become-familiar-with-a-large-codebase
/programming/214605/the-best-way-to-familiarize-yourself-with-an-inherited-codebase
ACTUALIZAR
¡Todas excelentes sugerencias! Acabo de llegar del trabajo, ¡he trabajado mucho!
Sobre programación de pares:
Generalmente escriben código, ¡y trato de no perder ni un segundo! Si trato de escribir el código, sé que me llevará una eternidad, porque ni siquiera sé qué archivos debo editar, pero aparte de eso, como dije, están usando 6-7 idiomas / marcos que no soy familiarizado y aprender todas estas sintaxis a la vez no es fácil.
Qué tan bien se preparó la compañía para los ingenieros:
No puedo decir que estén bien organizados, esperan que empiece a escribir código de inmediato.
Tomar notas, ser proactivo:
Siempre estoy tomando notas cuando escriben un nuevo comando / o algo sobre modelos de datos. Mis compañeros son personas muy inteligentes y amables, y estoy tratando de hacer muchas preguntas, incluso muchas preguntas estúpidas a veces.
¿Es esto común ?:
@Telastyn, gracias por tus respuestas, me hizo sentir un poco mejor. Parece que mi problema no es tan infrecuente, pero era realmente productivo antes de este trabajo, y ahora me siento realmente inútil y no inteligente.
Espero poder comenzar a resolver errores / implementar problemas muy pronto.
Sobre los frameworks / lenguajes que usan:
Fui realmente honesto al respecto, no dije que supiera algo que en realidad no sé. Pero no esperaba cosas tan diferentes, y desde que comencé a trabajar el día que acepté la oferta, no tuve tiempo para prepararme.
@Southpaw Hare, muchas gracias por compartir tu experiencia. Tienes toda la razón. No hay garantía de que voy a aprender todas estas cosas, pero lo estoy intentando. Al final, es difícil aprender toda la sintaxis a la vez, y creo que ese es el problema principal también. Porque puedo navegar bien en código ruby ya que conozco ese idioma, y navego en códigos js gracias a los inspectores del navegador, pero el problema es escribir los códigos reales con los marcos / idiomas que no conozco.
fuente
Respuestas:
Esto depende de cosas como la complejidad del sistema y qué tan bien está preparada la organización para incorporar nuevos programadores. Puede llevar de 30 minutos a varias semanas. No es necesariamente algo que estás haciendo mal y no debes sentirte mal por ello.
Sin embargo, lo que debe hacer es ser proactivo para solucionarlo usted y los demás. Informe a su gerente sobre sus frustraciones y trabajen juntos para superarlas y mejorar el proceso para otras nuevas contrataciones.
Escriba notas sobre las cosas con las que está luchando, haga una lluvia de ideas sobre formas de solucionarlas o evitarlas, y documente su proceso. Mantenga a otras personas que puedan ayudarlo a estar al día con su progreso y busque ayuda. No hay nada vergonzoso en pedir ayuda.
fuente
Para la mayoría de las bases de código lo es. Demonios, en mi compañía te reunirás con RRHH durante 2 días antes de que puedas tocar una computadora. Es un caso atípico, pero considere cuánto tiempo lleva configurar el entorno de desarrollo, familiarizarse vagamente con el dominio, la estructura del código, las normas del equipo ...
Como líder del equipo, espero que no hagas nada efectivo durante 1 sprint (dos semanas) y trabajes a ~ 50% durante los próximos 1-2 sprints.
fuente
Cambie al otro extremo. Trabajé en una empresa que tenía solo 2-3 idiomas, pero tardó casi un año antes de que los programadores se soltaran en la base del código, probablemente 1 o 2 meses antes de que comprometieran su primera línea de código.
No se castigue por eso, si fue honesto en la entrevista sobre su falta de conocimiento en estas plataformas, sabían en qué se estaban metiendo. Lleva tiempo y el tiempo no se puede expandir, acortar o comprimir, solo asegúrese de aprovecharlo al máximo.
fuente
Realmente depende del trabajo que estás haciendo y del rol en el que estás.
Si está haciendo un trabajo basado en un contrato, se espera que literalmente empiece a ejecutar, utilizando todas las habilidades a su disposición para hacer el trabajo. El trabajo por contrato generalmente está bien definido y usted (por lo general) puede hacerlo, al menos en mi experiencia.
Por otro lado, comencé en un lugar que tenía una enorme base de código heredado con una gran curva de aprendizaje. No se esperaba que escribiéramos el código de producción durante los primeros seis meses que estuvimos allí.
Sea paciente, absorba todo lo que pueda y póngalo en práctica cuando empiece a codificar. Si está hospitalizado o tiene prisa, hay una buena posibilidad en un sistema tan grande que podría terminar rompiendo algo, especialmente si su cobertura de prueba no es brillante.
fuente
Una cierta cantidad de tiempo es absolutamente normal para acostumbrarse a algo tan completamente desconocido: no me culparía ni me sentiría mal. Sin embargo, es importante estar dispuesto a aceptar la posibilidad de que este trabajo no esté dentro de su conjunto de habilidades. Este no es necesariamente el caso, solo vale la pena dejar la posibilidad abierta en su mente.
El problema puede no estar en el tamaño de la base de código, sino en el hecho de que no conoce los idiomas involucrados. En mi propia experiencia personal, tenía un trabajo en una compañía donde no conocía ninguno de los idiomas que se usaban en una base de código bastante extensa. Desafortunadamente, nunca pude aprender esto lo suficiente después de 5 meses más o menos, y fui a otra compañía. Allí, era competente en el idioma principal y, a pesar de que el tamaño de la base de código es comparable, lo hice bastante bien.
Cuando se trata de aprender nuevos idiomas, las personas generalmente piensan que es más fácil de lo que realmente es, y se adhieren a altos estándares para aprenderlos rápidamente. Es probable que te lleve más tiempo de lo que crees, así que tenlo en cuenta independientemente de lo que decidas.
fuente