¿Mi lugar de trabajo carece de orientación o es mi falta de habilidades?

Soy graduado en ingeniería mecánica y recientemente me uní a una startup. Tengo un buen conocimiento de Python y Machine Learning.

Inmediatamente después de una semana, me pusieron en un proyecto relacionado con el procesamiento de imágenes, donde se me pidió que detectara objetos en el video en vivo desde una cámara web. Me sugirieron que hiciera eso usando TensorFlow, del cual no tengo idea. Así que cloné un proyecto de Internet que era similar al proyecto en el que estoy trabajando.

Seguí las instrucciones mencionadas con el proyecto pero no obtuve los resultados esperados. Ahora no puedo seguir adelante y no sé qué más hacer. Encontré muchos problemas, como algunos errores, problemas de memoria .

Lo que hice fue buscar el error en la Web e intenté encontrar una solución. El repositorio del proyecto que cloné tiene muchos archivos interrelacionados y no entiendo nada de lo que dice. No tengo a nadie que me guíe.

¿Es la misma situación en cada inicio, lo que implica:

  • Carezco de las habilidades apropiadas?

o

  • ¿Es falta de orientación por parte de la empresa?

Soy el único en el proyecto y no tengo compañeros de equipo en este momento.

Editar: algunas aclaraciones que me gustaría hacer aquí. Sí, soy ingeniero mecánico y no es inusual aquí en la India (especialmente en las empresas emergentes) contratar personas de otros campos en el dominio de la informática.

Y con respecto a mi conocimiento en Python y ML, conozco la teoría detrás de los algoritmos de ML y también tengo un conocimiento decente en Python. Pero Tensorflow es una biblioteca de aprendizaje profundo con la que no estoy familiarizado. Y cloné un repositorio que se hizo en Tensorflow, no en ninguna otra biblioteca, así que seguí sus recomendaciones.

También traté de ver los conceptos básicos de Tensorflow. Pero me di cuenta de que tomará mucho tiempo. Algo que no puedo hacer en una oficina tipo ambiente. Le había comunicado lo mismo al gerente y estuvo de acuerdo en que también lleva tiempo. Aún así, se me acerca con frecuencia y me pregunta si está terminado o no, lo que me da pánico. Incluso entonces no tengo idea de cómo proceder sobre cómo aprender sin ninguna guía. Claro que puedo aprender algo pero termino con muchas dudas y cosas que no están claras.

Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat .

Respuestas (6)

  • Carezco de las habilidades apropiadas?

o

  • ¿Es falta de orientación por parte de la empresa?

Ambos.

  • Careces de las habilidades requeridas para la tarea (no es tu culpa, pero es verdad). Ciertamente no se puede obtener el conocimiento de la noche a la mañana. Debe comprender el alcance y solicitar la capacitación requerida para actualizarse sobre el dominio y la tecnología. Solo así podrás progresar.

  • La empresa debería haber organizado la capacitación/orientación requerida, ya sea interna o externa, antes de asignar el trabajo a alguien con poco o ningún conocimiento sobre el dominio y la tecnología. En lugar de descargar el trabajo en alguien, deben tener una planificación adecuada que incluya capacitación e inducción.

En pocas palabras: no es demasiado tarde: informe a sus superiores sobre los obstáculos de inmediato y solicite ayuda / soporte y recomiende capacitarse en la tecnología / dominio / conjunto de herramientas.

Consejos concisos y al punto!
@JoeStrazzere en ese caso, asumiría que la empresa no tiene un grupo de recursos asignado. ¿Atraerías a alguien al azar y le asignarías trabajo al azar, sin conocer primero sus habilidades? Además, OP dijo que fueron incluidos en el proyecto, por lo que tampoco aparece como una opción de OP.
@JoeStrazzere No estoy necesariamente en desacuerdo, pero por lo general lo que he encontrado es asignar un mentor en un equipo para el nuevo miembro y asignarle algo de trabajo, para que sepa con quién debe comunicarse. Nadie lo sabe todo, y si estamos hablando de novatos, pueden usar un poco más de orientación que la que OP tenía aquí. Claro, haz que se enfrenten a desafíos, pero asegúrate de que conozcan los medios para superarlos. Hacer que se sientan impotentes dejándolos solos no va nada bien, en mi humilde opinión.
@JoeStrazzere Oh, y ya le sugerí a OP que se comunique con su gerente en busca de ayuda y capacitación, según sea necesario. Sin embargo, sigo sintiendo que es el gerente quien debería haber hecho esto, no un extraño al azar de Internet.
La única habilidad transferible útil que aprendes en la universidad es "cómo aprender". Si el OP no aprendió eso, él / ella no tiene el conjunto de habilidades requerido para ningún trabajo tecnológico. Si la empresa quería contratar a alguien que necesitara que lo llevaran de la mano en cada paso del camino, bien podrían haber elegido a un egresado de la escuela secundaria, no a un graduado universitario.
En una pequeña empresa emergente, es probable que todo el mundo esté volando por los aires. Los técnicos que iniciaron la empresa deberían tener un buen conocimiento de su tecnología central, pero más allá de eso, hay mucha improvisación y descubrirlo sobre la marcha.
Oh, no. Me acabo de dar cuenta de algo. El OP tiene un título en ingeniería mecánica ... La startup quería un especialista en aprendizaje automático ... ¿Qué obtienes si quieres que alguien trabaje en una máquina ? Oh. Sí. Oh sí. Si tu puedes... :(

Veo una serie de banderas rojas aquí.

En primer lugar, eres un recién graduado, es decir, sin mucha experiencia en desarrollo de software.

Segundo, te graduaste en ingeniería mecánica, no en software.

¿Y te dan como primera tarea reconocer objetos en una transmisión de video?

¿En serio?

Eso es como pedirle a alguien que pasó por un entrenamiento de boxeo de 6 meses, que vaya y pelee contra Mike Tyson.

En otras palabras, la tarea que te dieron está tan por encima de lo que se puede esperar razonablemente de un recién graduado, que ni siquiera tiene gracia. No digo que la tarea no sea factible, pero está en un nivel de desarrollador muy senior.

Sí, le faltan habilidades, pero eso es lo que se espera de un recién graduado. Careces de habilidades en relación con la tarea que te asignaron, pero te dieron algo que se debe dar a las personas con más de 10 años de experiencia profesional seria.

La siguiente bandera roja: le dicen que use alguna biblioteca/marco sin darle nada más preciso, ninguna documentación o proyectos de trabajo existentes ni nada.

Y después de una breve mirada a TensorFlow, que acabo de hacer, parece una cosa de aprendizaje automático muy general, sin ejemplos específicos para el reconocimiento de señales de video, lo que significa que probablemente requerirá mucho de su código además de lo que hace.

Esto significa dos cosas más:

  • tus jefes realmente no lo entienden, ni quieren hacerlo, solo quieren soñar lo que quieran y descargar el trabajo real en alguien
  • sufren de pensamiento de varita mágica: "existe esta súper herramienta, si solo la usas, todo funcionará por sí solo, podemos hacer lo que queramos sin trabajo o conocimiento real, solo agítalo y di 'Codus Writus' y lo hará convertirse mágicamente en una aplicación y hacer todo lo que deseemos".

Ah, y la idea con la que me encontré una y otra vez: que puedes asignar un trabajo muy complejo a quien sea, un estudiante en un período cooperativo, un recién graduado, cualquier cosa, y que en realidad no importa, es posible porque nosotros deseo que sea...

Huir.

Todo esto indica la falta de comprensión y pensamiento básico de su parte, la falta de reconocimiento de la realidad, y con tal actitud, es poco probable que lo logren.

Es mejor encontrar un nuevo trabajo, en una empresa normal, mientras todavía tienes este, que tener que buscar un nuevo trabajo desde la posición de no tenerlo, cuando las cosas finalmente se desmoronan.

Estoy de acuerdo y en desacuerdo con diferentes partes de esta respuesta. Hay ciertas personas que recogerán cualquier cosa que les arrojen . Podrían decir "oh, esto parece complicado, me llevará unos días/semanas/meses averiguarlo", pero se meten de lleno en la tarea y lo resuelven. Hay otro tipo de personas que requieren una guía constante. Y luego, la mayoría de las personas que se encuentran entre los dos extremos: una vez que se les dan algunas instrucciones, pueden hacerlo por su cuenta. Sin embargo, estoy de acuerdo con tu evaluación de los jefes.
oh, a menos que: ¿los jefes podrían ser el tipo de personas que pueden recoger cualquier cosa sin guía? Si lo son, entonces podrían asumir que todos los demás son iguales a ellos y están pensando: "¡todo es posible con una computadora y una conexión a Internet!" (Debo admitir que solía ser un poco así cuando se trataba de programar: pensaba "¿Qué tan difícil puede ser? Es solo una lista de instrucciones. ¡Cualquiera puede hacerlo si realmente quiere! Recuerdo cuando ¡ni siquiera había Internet para buscar cosas!" y así sucesivamente) ¿Podría ser que ni siquiera saben que OP está luchando?
+1 por el pensamiento de la varita mágica. Como ingeniero mecánico que terminó en robótica, simpatizo con OP. Hay muchas personas que no entienden TensorFlow y tratan el conjunto de herramientas como una varita mágica en lugar de un componente útil de un sistema de software. Dicho esto, aprender la herramienta puede ser muy útil y gratificante siempre que el OP comunique claramente los desafíos y el progreso a la gerencia.
@AaronF: El jefe puede o no ser capaz de seleccionar cualquier cosa y hacer que funcione, pero incluso si lo es, eso no significa que un desarrollador junior sea igualmente capaz. El jefe debe hacer coincidir adecuadamente el nivel de la tarea con el nivel del empleado.
sí, estoy completamente de acuerdo contigo (y +1) no suenan como buenos jefes. Por otra parte, los propietarios de empresas emergentes rara vez lo son. Suelen carecer de la formación y la experiencia necesarias. Personalmente, no creo que las empresas emergentes hagan buenos primeros trabajos. No enseñan buenos hábitos. Para empezar, es mejor, en mi humilde opinión, ir a una empresa grande y aburrida y aprender sus procesos grandes y aburridos, porque eso te será muy útil cuando más tarde trabajes para un grupo de bromistas de niños ricos que no tienen el primer idea de lo que están haciendo. (sí, ¡estoy proyectando mucho allí! :-D)
Después de más de una década trabajando en TI, descubro que este tipo de "pensamiento de varita mágica" es en realidad la norma, no la excepción. Es una habilidad en sí misma: poder explicarle a su jefe (o cliente) por qué la herramienta de la que les habló su compañero de golf no es una varita mágica. Los mejores desarrolladores que he conocido son profesionales en esto, y creo que esta es una gran oportunidad para que OP perfeccione esa habilidad. (+1 por señalar eso)
más como luchar contra mike tyson después de 6 meses de práctica de natación
Para ser justos, es posible reconocer objetos en una transmisión de video en un día cuando alguien te toma de la mano. Por ejemplo, durante un taller que muestra parte del software involucrado. Esto puede fácilmente dar la impresión equivocada de que es factible con poco conocimiento previo sin la guía de un ingeniero experimentado.
@DraganJuric "esta es una tarea para alguien con más de 10 años de experiencia profesional" Pr alguien sin experiencia profesional, pero con un título de posgrado que estudia esta área específica.

Lo primero que debe hacer es asegurarse de que su jefe tenga una idea realista de su progreso. Dile "esto es mucho más difícil de lo que pensábamos", lo antes posible.

No caiga en la trampa de esperar hasta que finalmente llegue la fecha límite para admitir que aún no ha terminado.

Lo que estás tratando de hacer es difícil. Era imposible cuando muchos de nosotros comenzamos a trabajar, y todavía es un campo nuevo. Eres un miembro junior del equipo, que no ha hecho esto antes, por lo que no hay vergüenza en no poder hacerlo de inmediato.

Las empresas emergentes suelen ser optimistas. Hubiera sido genial para ellos si hubieras podido encontrar fácilmente una solución lista para usar que hiciera exactamente lo que querían, pero descubrir que no es fácil también es un conocimiento útil.

googlea el error y encuentra la respuesta

¡La mayor parte del tiempo, eso es lo que todos hacemos! La mayoría de las veces, tantos otros se han encontrado con el mismo problema que la solución está fácilmente disponible.

Esta vez es más difícil. Necesita absorber todo el conocimiento que pueda encontrar en el campo y convertirse en un experto. No te obsesiones con el problema actual, construye una base sólida. Lee todo lo que puedas encontrar. Si no tiene mucho sentido al principio, tome nota y regrese después de buscar las partes que no están claras. Trabaje con tutoriales, cree aplicaciones de prueba, cree sus propias pruebas.

Pero eso lleva tiempo, así que primero asegúrese de que su jefe esté de acuerdo. Él puede tener otras sugerencias u otras prioridades.

La comunicación es la clave: hable con su gerente

Está claro que estás atascado con algo y no puedes progresar. Y eso es algo perfectamente normal que suceda.

La primera línea de acción que puede tomar es hablar al respecto con su gerente/supervisor. Comparte lo que has hecho hasta ahora. Busque sus entradas. No dudes en mencionar que nunca antes has trabajado en TensorFlow. También comparta que ha intentado buscar un proyecto similar disponible en Internet y se ha quedado atascado tratando de entenderlo.

Siempre habrá algo que no sepamos y que necesitemos aprender o recibir la capacitación necesaria. Pídale a su supervisor/gerente que le proporcione la orientación de capacitación necesaria.

Es importante destacar que su gerente debe saber que usted no tiene conocimiento sobre una herramienta en particular (y eso está perfectamente bien). Es mejor no establecer expectativas incorrectas.

Si nadie más domina la tecnología necesaria, de hecho, es posible que su startup necesite contratar a alguien con la experiencia. Pero esa decisión está en manos de la gerencia.

Sin embargo, a veces no siempre es factible tener expertos a la mano, y las nuevas empresas generalmente están muy limitadas para obtener recursos. Así que Internet se convierte aquí en tu mejor amigo. Debe buscar ayuda en sitios como Stack Overflow . Trate de desglosar el problema y partes pequeñas, entiéndalo claramente y busque respuestas de expertos que tengan experiencia en el manejo de este problema. Compartir una consulta claramente escrita en Stack Overflow es la forma mejor, más fácil y técnicamente más económica de obtener ayuda.

Carezco de las habilidades apropiadas?

Ese puede ser el caso, pero nunca se puede saber todo lo necesario para realizar una tarea. El aprendizaje constante y en el trabajo sería un tema recurrente a lo largo de su carrera.

¿Es falta de orientación por parte de la empresa?

Teniendo en cuenta que su empresa es una startup, puede verse limitada de muchas maneras en términos de procesos, personal y capacitación. Eso no implica nada negativo sobre la empresa, solo que así son las startups por naturaleza.

Solo necesita hablar las cosas y buscar ayuda. Por favor, no se quede atascado luchando con el problema usted mismo y establezca expectativas incorrectas.

La comunicación abierta es muy importante y aconsejo hacerlo lo antes posible.

También tenga en cuenta que el aprendizaje constante será una parte persistente de su carrera. Con el tiempo, mejorará en dónde y cómo hacer el aprendizaje necesario.

Mi consejo: rescata ahora antes de que sea demasiado tarde. Muchas personas aquí dirán que es una gran oportunidad para aprender algo nuevo y ampliar su conjunto de habilidades. Pero corres un riesgo aún mayor (y uno realista) de que la puesta en marcha se hunda, y todos sean despedidos y los jefes rescaten con grandes bonos en efectivo. Te quedarías atascado con algo vago que no entiendes. "¿Qué hiciste en X?" "Hice un servicio de IA de video en vivo que identifica objetos". "Vaya, eso suena genial. ¿Qué tipo de tecnologías usaste?" "Bueno, descargué algo al azar que no tengo idea de lo que hace ni entiendo los errores que obtuve. Simplemente me di por vencido hasta que el inicio se fue cuesta abajo". "Está bien, gracias, te llamaremos".

Piénsalo por un segundo: no tienes idea de lo que estás haciendo. Quieren que hagas un producto clave. No tienes a nadie a quien preguntar sobre algo que debería saber. Eso grita que algo anda mal. O se creen que cualquiera puede hacerlo y buscan mano de obra barata. O les interesa más sacar efectivo y si el producto falla por lo menos lo vendieron. De cualquier manera no es bueno.

¿Es la misma situación en cada inicio, lo que implica:

No, pero es bastante común tener nuevas empresas sin un conocimiento tecnológico real de cómo hacer que su idea tonta funcione.

Cuando una startup no está organizada técnicamente, a menudo es una señal de una mina de financiación. Un producto de trabajo es de menor importancia que la comercialización de más financiación. Entonces, contratar a las personas equivocadas para un trabajo puede suceder y realmente no importa. Contratar a un graduado y luego asignarle algo en lo que no tiene experiencia sin ayuda no es una buena señal.

Sí. Los gerentes de contratación no tenían idea de que la experiencia del OP no se traduciría a otras tecnologías/modelos de aprendizaje automático, y el propio OP no tenía suficiente experiencia para comprender cuán fuera de su alcance y sin apoyo se encontraría. Suena como una pila gigante de cosas marrones esperando para golpear al ventilador proverbial.
Creo que esto es un poco demasiado negativo. Cuando comienza así, a menudo no conoce las tecnologías específicas que se utilizarán. Contratas a alguien que percibes como capaz de resolver las cosas.
@Barmar no es un recién graduado en otro campo
Tal vez, pero tal vez realmente los impresionó con su conocimiento de Python y ML, aunque estos están fuera de su campo de estudio.
@Barmar o tal vez solo necesitaban un vagabundo barato en un asiento... o tal vez les gustó su sonrisa... o tal vez... tal vez no signifique nada en un entorno crítico profesional
Como alguien que ha obtenido numerosos trabajos en los que necesitaba aprender tecnologías sobre la marcha, tiendo a darles el beneficio de la duda. Creo que nunca he recibido mucho entrenamiento formal. He trabajado tanto para startups como para grandes empresas establecidas.
@Barmar genial, haz tu propia respuesta desde esa perspectiva. Como persona de negocios, no le doy tareas básicas a alguien que no sabe nada sobre ellas.
Creo que algunas de las otras respuestas expresaron mi opinión bastante bien.
@Barmar Genial... siéntase libre de ir a comentar sobre ellos... tiene poco sentido para mí y no hay posibilidad de convencerme... sin ofender
Kilisi tu respuesta y el comentario de @AndreiROM me hicieron darme cuenta de algo: los dueños de las startups son unos completos idiotas y piensan que para hacer aprendizaje automático necesitas un ingeniero mecánico, porque, ya sabes: los mecánicos trabajan en máquinas, ¿no es así? Realmente creo que esto es lo que le ha pasado al pobre OP
@AaronF quién sabe... definitivamente no están muy interesados ​​en el producto, o habrían hecho la tarea. Bandera roja en llamas para mí.