Un poco de historia:
Soy uno de los dos desarrolladores de software de mi empresa y actualmente estamos trabajando con C++ en máquinas integradas. Mi compañero de trabajo trabaja con C desde hace mucho tiempo y ahora mi jefe quería mejorar el desarrollo usando C++. Después de una pasantía dedicada a hacer aplicaciones web, mi jefe me pidió que trabajara con estas máquinas sin saber nada de la máquina en sí.
Cuando asumí que mi jefe sabía que solo había hecho cosas en C ++ en la escuela y que no había hecho nada más personalmente, pero que quería saber más sobre cómo desarrollar software en máquinas integradas.
La fuente de mis problemas:
Entonces, como dije, comencé de nuevo como una rosa desarrollando software para máquinas que nunca antes había visto. Estos tienen un programa muy complejo construido de una manera muy compleja que a veces carece de las capacidades de programación orientada a objetos y C++ (dado que todo estaba construido en C antes (lo cual no sé y mi jefe lo sabía)) y estoy teniendo muchas dificultades. entender cómo funciona, por qué algo se construyó de cierta manera, qué tipo de idea hay detrás de algo, etc. etc. etc.
No puedo preguntarle al Senior ya que hizo cosas en C y no está programando esta nueva máquina (o de todos modos lo está haciendo con C y no quiere aprender C++) y de todos modos está demasiado ocupado.
Sin embargo, a pesar de todos estos problemas, logré controlar la situación y al menos comencé a saber cómo hacer algunas pequeñas cosas, y para mi jefe todo iba bien... hasta ahora.
El problema real :
Ahora, después de un mes, debido a dificultades de la empresa, me piden que use las funciones del Arquitecto y no las que estaba haciendo por mi cuenta. Él es el hombre detrás de escena que escribió todo el sistema operativo de la máquina y no puedo contactarlo desde que dejó la empresa y puede ayudarme justo cuando lo llaman para "consultoría".
El problema es... que no puedo saber qué hace y se comporta una función, porque el comportamiento de la función está cerrado en archivos *.a. Cuando pregunté a través de uno de los raros correos que pude enviar, la respuesta fue "el nombre de la función y los parámetros deberían aclarar las cosas, de todos modos tienes mucha documentación".
En realidad... a esta documentación le falta información (está como un 30% completa para hacerse una idea). Y de todos modos, explica en general lo que hace una función, suponiendo que sé cómo funciona el sistema operativo, cuál es el propósito de cierta idea u otras cosas aleatorias que no podía ni imaginar.
Tengo muchos problemas en mente, cuál es dejar esta empresa y buscar desarrollo web (que realmente me llamó la atención), pero antes de acostumbrarme a ideas extrañas, solo quiero preguntar:
¿Es común trabajar como desarrollador sin tener la posibilidad de saber cosas vitales en el proyecto?
En realidad estoy entendiendo un poco aquí y allá. Pero realmente me piden que resuelva un rompecabezas gigante sin saber cómo se verá la figura final. Como este es mi primer trabajo, no sé realmente qué hacer, tal vez esto es común en las empresas y solo me estoy desanimando.
Es completamente normal que se le pida a un desarrollador que haga milagros en este tipo de situaciones, en una mala compañía .
He trabajado en cooperativas donde el propietario de la empresa esperaba que superara a Bill Gates y revolucionara su negocio. Hice lo mejor que pude, pero seamos honestos, no resultó exactamente como ellos esperaban.
El problema es que muchos gerentes no entienden el desarrollo de software .
No entienden cuán diferente puede ser un idioma de otro. No entienden que ciertas áreas de desarrollo no están muy relacionadas con otras (desarrollo web versus programación de máquinas, por ejemplo). No entienden el cronograma para entregar un paquete de software complejo, las implicaciones de cambiar el alcance del proyecto, incluso de una manera aparentemente pequeña, etc.
Estos son problemas con los que te vas a encontrar constantemente en el transcurso de tu carrera. Deberá aprender a comunicar sus inquietudes, estimar los plazos de entrega (tómese el tiempo que cree que tomará y multiplíquelo por 3 es una buena regla) y también aprenda cuándo es el momento de GTFO.
Esta empresa suena caótica y mal organizada. Además, la persona a cargo claramente no tiene idea de qué diablos le está pidiendo y le brinda poco o ningún apoyo.
En este punto, puede hablar más, expresar sus preocupaciones y explicar cuál es su propio plan y cronograma para cumplir con sus demandas.
Por ejemplo, puede solicitar unos días para simplemente experimentar con la biblioteca y ampliar sus conocimientos. Es posible que no les guste, pero debe explicarles que, sin una mayor comprensión, es probable que no tenga éxito en sus tareas.
También me gustaría abordar el comentario que le has hecho a Kilisi:
no tengo intención de estudiar c++ en casa o algo así
Como desarrollador, tendrás que mejorar constantemente tus conocimientos a lo largo de tu carrera. Sólo un desarrollador muy pobre se estanca.
No estoy diciendo que debas sacrificar tu vida personal, sin embargo, si se requiere un poco de esfuerzo adicional para tener éxito a largo plazo, entonces no seas tan negativo acerca de dedicar unas horas de tu propio tiempo a aprender. una nueva tecnología
En última instancia, si lo que quiere hacer es desarrollo web, entonces debe buscar un nuevo trabajo.
No es común asignar a alguien nuevo en la industria tales tareas a menos que se considere capaz. Parece que te han tirado al fondo (lo cual es bastante común).
Tienes que hablar con tu jefe al respecto. Específicamente, necesita construir su base de conocimiento con el producto solo para comenzar. Puede avanzar después de esa conversación.
Aparte de las otras respuestas. Se espera que los desarrolladores usen repositorios para almacenar su código. Incluso si dejan la empresa, deben dejar la fuente a la empresa que ha pagado por su trabajo. Creo que recuperar el código fuente será útil no solo para usted sino también para la empresa que puede perder este conocimiento si se olvida. Es posible que necesiten cambiar una función en un archivo .a y nadie podrá cambiarlo.
Supongo que este código era de su propia empresa. Hay algunos casos puntuales en los que el código fuente no está disponible. Eso podría incluir:
Cuando se codifica contra el código de otras compañías, esta situación es bastante común e inevitablemente dificulta las cosas. Un buen código generalmente no necesita demasiada explicación, pero un buen código no es la norma y el código fuente es útil para depurar cuando no sabe qué sucede. Buena suerte.
Lilienthal
MarkWuji
Brandín
MarkWuji
Lilienthal
MarkWuji
jamesqf