¿Cómo puedo salvar mi pasantía? [cerrado]


65

Actualmente estoy trabajando como pasante en una gran empresa de desarrollo sin software. El puesto que solicité no era específicamente un puesto de desarrollo, pero el equipo que me contrató quería un experto en CS para ayudar a tratar de desarrollar algunos proyectos internos para ellos. He estado aquí durante cuatro semanas y el desconcierto inicial está empezando a desaparecer. Sin embargo, soy el único experto en CS en toda la oficina: nadie en mi equipo, en el edificio o incluso en las ubicaciones vecinas tiene experiencia en el desarrollo de software. Lo mejor que tengo es un administrador de base de datos, y su departamento está demasiado ocupado para apoyarme con mis proyectos. Mis compañeros de equipo me están ayudando a aprender cómo hacen su trabajo (lo cual es importante para mí), pero no hay nadie que me ayude a hacer mi trabajo, es decir, el desarrollo.

Los proyectos que me han dado tienen un alcance mayor que cualquier cosa que haya hecho en la escuela. Eso, combinado con el hecho de que estoy trabajando solo, tratando de desarrollar aplicaciones desde cero sin ninguna forma de orientación o incluso objetivos claramente definidos, me preocupa mucho mi capacidad de tener éxito. Apenas sé por dónde debería comenzar, y ahora probablemente me quedan menos de dos meses.

Siento que debería estar aprendiendo el proceso de desarrollo de software, pero en este momento es como si me estuviera abriendo camino en la oscuridad. Esto es especialmente preocupante para mí, ya que no estoy muy seguro con mis habilidades de desarrollo en primer lugar. He estado investigando y enseñando a mí mismo, pero solo estoy obteniendo fragmentos. Tienen grandes expectativas de mí, pero no estoy seguro de mi capacidad para cumplir. Obviamente, necesito sentarme y hablar con mis gerentes sobre el puesto en el que estoy y tengo la intención de hacerlo lo antes posible (a menudo viajan y salen de la oficina).

¿Cómo debo lidiar con esto? Esta pasantía terminará antes de darme cuenta, y no quiero irme sin nada que mostrar por mi tiempo aquí. Tampoco quieren eso, y siempre están disponibles para ayudarme, pero sin conocimiento de programación, solo hay mucho que pueden hacer. Tengo miedo de decirles que soy incapaz de producir lo que quieren. ¿Cómo debo relacionar esto con ellos? Veo a los pasantes de ingeniería obtener ayuda de otros ingenieros, aprender a hacer su trabajo, y siento que estoy sentado aquí esperando mi tiempo. Cualquier consejo sobre cómo rectificar mi situación sería muy apreciado.

Actualizar

Agradezco todos los comentarios útiles de todos, me ayudó a tranquilizarme. Lo primero que hice fue reunirme con mis gerentes y supervisores. Discutimos lo que se esperaba de mi tiempo aquí. Entienden que no tengo tanto tiempo como pasante, y esto ayudó a poner un alcance en el tipo de marco que queremos lograr, lo que permitirá a futuros pasantes o empleados construir con suerte lo que dejo. También abordé mis preocupaciones con respecto a mis capacidades con el tiempo asignado, que entendieron y esperaban.

Recibí una llamada del administrador de la base de datos en otra ubicación: mi gerente habló con su supervisor y van a apoyar mi proyecto, lo que ahora me dará un recurso para usar, así que no estoy sentado sin tener idea de lo que hago ''. Estoy haciendo. Eso es solo la mitad. De todos los proyectos posibles, lo redujimos a los dos más importantes para trabajar. En cuanto a mi otro proyecto, como alguien mencionó, soy esencialmente el arquitecto de software líder, que es una situación única para un interno. Si las cosas salen al menos con semi éxito, creo que habré adquirido una gran cantidad de conocimiento y experiencia que me pueden ayudar con futuros empleadores. Por ahora, creo que tengo una base sólida para comenzar a investigar y desarrollar mis proyectos. Gracias de nuevo por las respuestas de todos!


80
La mayoría de los lugares esperan que los pasantes sean personas que no saben lo que están haciendo, pero que están dispuestos a aprender y adquirir la experiencia que puedan. Una pasantía sin un mentor parece que realmente solo querían un desarrollador barato o gratuito, y no deberían esperar que produzcas un producto terminado. Aprenda todo lo que pueda sobre toda la experiencia, y luego, cuando termine su pasantía, continúe. Idealmente en un lugar donde pueda realizar prácticas con desarrolladores de software reales :)
Rachel

99
Esto no parece ser específico para la ingeniería de software, por lo que podría ser más adecuado en Workplace.SE
Bart van Ingen Schenau

53
"tratando de desarrollar aplicaciones desde cero sin ninguna forma de orientación o incluso objetivos claramente definidos" - ¡entrenamiento perfecto para el desarrollo de software del mundo real!
Alan B

77
Bienvenido al lado "cosas que no aprendes en los libros" de tu educación. Este es solo uno de los muchos entornos en los que te puedes encontrar cuando termines tu educación. Me encontré exactamente en su posición, excepto que terminé mi carrera y estaba en MIS.
Chad Harrison

3
@BartvanIngenSchenau Hay un ángulo de desarrollo de software en la pregunta, el OP es un desarrollador solitario en la empresa. Eso crea algunos desafíos únicos, y creo que algunos de ellos pueden beneficiarse de las soluciones de desarrollo de software. Quizás la pregunta sea más adecuada para el lugar de trabajo, pero si no está 100% fuera del tema aquí, no creo que debamos migrarla. Si la comunidad decide que la pregunta está fuera de tema aquí (cerrándola como tal), con mucho gusto la migraré.
Yannis

Respuestas:


124

Tengo algunas malas noticias para ti, bhamlin:

No eres un interno. Por el contrario, usted es un empleado no remunerado / barato.

Una pasantía es una posición no remunerada o mal pagada donde puede practicar sus habilidades recién adquiridas en un ambiente seguro (generalmente) relajado, y tener la oportunidad de observar a profesionales 'reales' en su campo haciendo un trabajo 'real', mientras recibe comentarios en las piezas que le permiten modificar (generalmente bajo supervisión y / o aprobación).

Lo que su empresa quería no era, de hecho, un interno, sino una fuente gratuita / barata de desarrollo de software. Esto es bastante común , en mi opinión. Vivo en una ciudad universitaria, y en mi último lugar de trabajo, a menudo se escuchaba a los gerentes decir: "Oye, el departamento de TI está demasiado ocupado para hacer el Proyecto X, veamos si podemos conseguir algunos pasantes de la Universidad para escribirlo. gratis / barato! " Nos gruñiríamos, gruñiríamos y rechinaríamos los dientes al cielo, pero esta era la realidad del lugar, y podía entender por qué los gerentes sugerían tal cosa. Lamentablemente, los resultados no fueron excelentes: el software entregado por los pasantes nunca fue cohesivo / escalable / limpio / etc. (pero para ser sincero, tampoco lo fue el departamento de TI puesto de todos modos ...)

Depende de ti lo que haces. Mi consejo es que desarrolle todo lo que pueda (a veces la presión es un gran motivador), PERO también debe planear realizar una pasantía 'real' en otro lugar cuando termine, si es posible.

Así que no te culpes, pero lo que entraste NO fue una pasantía real.


18
@Ampt Para mí, la mayoría de las pasantías pagas básicamente dicen "Te pagaremos para que aprendas con nosotros, y al final de este período si todo va bien, nos gustaría contratarte" . Les da a las partes un período de tiempo más largo para evaluarse mutuamente, y si todo va bien, también pueden contratar a un empleado que esté educado en su sistema y que sepan que es una buena opción para la empresa. Si obtienen un nuevo software a bajo costo en el proceso, eso es una ventaja adicional, pero no una expectativa.
Rachel

77
Las pasantías generalmente no son remuneradas? Eso es nuevo para mí ...
M. Dudley

3
Ese es un buen punto @Ampt. Edité mi respuesta para decir "sin pagar / barato" ahora. En general, creo que la respuesta sigue en pie; este lugar realmente no quería un pasante, simplemente no querían pagar el precio completo por los servicios de TI.
Graham

77
@bhamlin la mayoría de las personas sin experiencia en software literalmente no tienen idea de cuánto tiempo o esfuerzo tomarán los proyectos de software para desarrollarse. Ninguna pista en absoluto. Desgraciadamente, así es como es.
enderland

10
Si una pasantía no es remunerada (o está por debajo de un salario, tal vez mínimo si la memoria sirve) tiene que demostrar un beneficio apreciable para el pasante; de ​​lo contrario, el negocio de hecho está violando las leyes laborales. Esta es una distinción muy importante, si a este tipo no se le paga, podría demandar a la compañía estúpidamente. (O eso dicen las leyes de los Estados Unidos, no puedo hablar con otros países)
Jimmy Hoffa

28

Como estudiante de CS, tienes habilidades para resolver problemas a tu disposición. No está claro qué tipo de proyectos quieren desarrollar. Si tuviera que adivinar, probablemente quieran que ayudes a automatizar algunos de los procesos internos. Comenzaría tratando de obtener un diagrama general de los procesos que están actualmente en funcionamiento y las dependencias entre departamentos para cada uno de estos procesos.

A continuación, buscaría algunas frutas bajas que pudieran automatizarse o al menos racionalizarse.

Manera infalible de documentar cualquier proceso

Haga estas preguntas en el siguiente orden:

  1. ¿Cuál es el resultado? (Obtenga una respuesta lo más específica posible)
  2. ¿Cuáles son las entradas?
  3. ¿Hay suficientes entradas para crear la salida?

Si la respuesta al número 3 es NO , entonces ve a buscar las piezas que faltan. Esto podría ser fórmulas o reglas comerciales o lo que sea.

Si el resultado del paso uno es demasiado complicado, divídalo en fragmentos manejables y ataque cada fragmento como un proceso separado.

Documente lo que ha descubierto. Identificar posibles puntos únicos de fallas. Identificar debilidades o escasas dependencias.

Sé que suena abrumador, pero tienes el conjunto de habilidades. Simplemente conviértalo en trozos pequeños. Si puede aprender a explicar "cosas geek" usando "hablar no geek", entonces valdrá su peso en oro.


1
Los miembros de mi equipo me han estado mostrando los procesos, así que tengo una idea de las entradas y salidas y de lo que quieren. Tengo una idea de cómo quiero resolver los problemas, es solo dividirlo en pedazos y armarlo todo, lo que me está dando problemas (especialmente el uso de tecnologías en las que no soy tan hábil, como las bases de datos). Afortunadamente, puedo explicar "geek" a "no geek" bastante bien. Supongo que en este punto debería comenzar a llevar mis problemas de codificación al desbordamiento de la pila para ver si mis soluciones son factibles. Gracias por tu contribución.
bhamlin

En cuanto a las cosas de la base de datos, recomiendo un libro llamado Database Design For Mere Mortals de Michael Hernandez. Este libro es sobresaliente.
Michael Riley - AKA Gunny

1
+1 para la "Forma infalible de documentar cualquier proceso". Ojalá lo hubiera publicado prominentemente en mi cubo cuando me contrataron por primera vez para un trabajo de análisis del sistema.
dodgethesteamroller

1
@bhamlin: le sugiero que haga todo lo posible para reducir las expectativas de lo que está a punto de entregar. Además, divídalo en problemas extremadamente pequeños, algo que cree que puede hacer en un día (para que se haga durante una semana;) y preferiblemente, cosas que son útiles como son , no solo módulos, que no funcionarán sin el núcleo. De esta manera, si fallas, tu trabajo seguirá siendo útil. Además, en mi opinión, esta experiencia probablemente será muy útil y estimulante (aunque no financieramente), pero finalmente creará un recuerdo deprimente.
K.Steff

18

Aquí está mi opinión sobre toda esta situación: piden más de lo que razonablemente puede lograr, no le brindan ningún comentario u orientación y, en general, hacen que su trabajo no sea tan agradable. Pero hay un lado positivo en esta nube. Estás aprendiendo algo.

Particularmente, estás aprendiendo el tipo de entorno en el que NO quieres trabajar cuando obtengas tu título. También está aprendiendo cómo lidiar con un proyecto que es demasiado grande para que lo pueda lograr de manera factible. Ambos son conocimientos importantes a los que aferrarse, ya que nadie le dará un trabajo que piensen que está por debajo de su capacidad. Siempre pedirán más de lo que puede dar, y es su trabajo trabajar con ellos para gestionar las expectativas y ofrecerles lo que desean.

Sobre lo que puedes hacer aquí y ahora. Comenzaría por llevar un diario de todo lo que haces todos los días. Esto te da responsabilidad. Incluso un simple final del día "esto es en lo que trabajé hoy" le dará algo a lo que recurrir cuando no obtengan lo que quieren y busquen respuestas.

También hablaría con su superior inmediato y vería si hay alguna forma de desglosar uno de estos proyectos más grandes . Si no se siente cómodo haciendo todo esto, tal vez solo le pidan que investigue y la arquitectura para el proyecto, y tal vez haga que otro interno lo implemente más tarde. Solo tenga claro lo que cree que puede lograr razonablemente en el tiempo que le queda en la pasantía, y haga de ese su objetivo. De esa manera, todavía está entregando algo relevante para su empleador al final del día.

Finalmente, vea si puede unirse a los pasantes de ingeniería . Asumiré que estos pasantes también están desarrollando software, y no veo ninguna razón por la cual lo que están haciendo y lo que están haciendo están tan separados que no pueden aprender unos de otros. Trabajo con ingenieros eléctricos, ingenieros de software, ingenieros informáticos y científicos informáticos en mis proyectos, y cada persona aporta sus propias fortalezas al equipo. Identifique dónde residen sus puntos fuertes en el desarrollo e intente explicar por qué esas habilidades se prestarían bien al equipo de ingeniería.


66
Mis padres me dijeron que debería aceptar una oferta si recibo una al final del verano, pero traté de explicarles que este trabajo puede no ayudarme a avanzar en mi carrera como desarrollador de software. No quieren escucharme y piensan que cualquier trabajo que obtengo es una bendición, pero siento que tengo derecho a declinar, especialmente si este no es un buen ambiente de trabajo para mí. Sin embargo, me gusta la idea de llevar un diario, llevo un cuaderno todos los días, así que comenzaré a documentar lo que estoy haciendo para que no parezca que no estoy haciendo nada. Aprecio tu ayuda.
bhamlin

1
No hay problema bhamlin. Cuando comencé esta pasantía sentí que estaba en la misma posición. Mi gerente adopta un enfoque muy directo para el equipo de ingeniería, permitiéndonos estructurar nuestro día a nuestro antojo (también seguimos el modelo de desarrollo ágil que lo respalda) y viniendo de clases donde tenía requisitos casi diarios para proyectos, fue muy diferente . Descubrí que mantener un registro me mantenía responsable y proporcionaba documentación de que al menos estaba haciendo ALGO. También me ayuda a mantener el impulso día a día y semana a semana.
Ampt

77
@ MLowry Creo que es un mal consejo. Alojarse en un lugar de trabajo que odia lo desgastará, física y especialmente psicológicamente. Entrarás en una depresión, odiarás cada momento y te arrepentirás de esa decisión todos los días. ¿Por qué pasar por eso? Tendría sentido hacerlo durante 6 meses si el aspecto financiero fuera extraordinario. Pero probablemente no lo sea, dado que está en el comienzo absoluto de su carrera.
Radu Murzea

2
+1 para "Estás aprendiendo algo". Lamentablemente, este entorno de trabajo no es una anomalía. Muchas empresas que no están específicamente en el negocio de TI luchan con qué hacer con los recursos de TI, por lo que las lecciones que aprenderá aquí (requisitos vagos, plazos incorrectos) serán valiosas más adelante cuando intente detectar entornos problemáticos.
Graham

2
+1 para "mantener un diario". ¡Adquiere ese hábito por el resto de tu carrera! Cuando un proyecto va bien, nadie hace preguntas. Cuando todo va mal, quieren criticar cada maldita cosa que haces / hiciste. Un diario cubre muy bien tu piel. (Mejor que un informe de estado).
TimG

13

Hable con su asesor de pasantías

Todas las respuestas que he visto hasta ahora parecen centrarse en el empleador, lo cual es importante.

Sin embargo, debe haber sido establecido con esta pasantía a través de un programa u oficina en su escuela. No puedo imaginar que seas el primer estudiante que han tenido que se ha encontrado con este tipo de situación. Deben poder guiarlo en una determinada dirección.

Incluso si no pueden ayudarlo ahora (lo cual me resulta difícil de creer), entonces estará ayudando al próximo estudiante que se encuentre en esta situación, que es algo que no puede subestimarse.


+1 porque esto debería ser lo primero que debe hacer un interno una vez que se encuentra con dificultades aparentemente insuperables.
verybadalloc

10

Tuve dos pasantías así y las disfruté inmensamente. Hay aspectos brillantes importantes que parece que te estás perdiendo:

  • En este momento, está disfrutando del tipo de libertad creativa con la que los programadores que trabajan en grandes equipos de programadores solo pueden soñar. Todo, desde la elección del idioma hasta el control de la fuente, los editores y la arquitectura del software, depende completamente de usted. Confía en mí, lo extrañas cuando se va.
  • Trabajar con personas que no saben mucho sobre software es una parte importante del proceso de desarrollo de software. La escuela te condiciona a esperar tareas bien definidas de personas con mucha experiencia en la enseñanza del desarrollo de software. Incluso en equipos de programadores, sus tareas nunca son tan claras. Aprender a lidiar con eso ahora te dará una ventaja.
  • Adquirir conocimiento de dominio sin el beneficio de los mentores es una parte importante del proceso de desarrollo de software. Una vez al año o dos, recibo una tarea como "Conviértase en nuestro experto en la materia de tecnología X". Alguien tiene que ser el primero en una empresa en aprender una nueva tecnología. Obtendrá tareas más interesantes si puede demostrar que esa persona puede ser usted.
  • Desde su punto de vista, se siente como una gran presión, pero debe saber que sus expectativas sobre usted son realmente muy bajas. Saben que es más difícil para ti sin un mentor adecuado. Solo haz tu mejor esfuerzo y estarás bien.

Dicho esto, abordar su primer gran proyecto puede ser abrumador. Lo siguiente puede ayudar:

  • Intenta no pensar en todo el proyecto a la vez. Piensa en lo que necesitas hacer ahora.
  • Obtenga una lista de las características que deben realizarse y pídales que las pongan en orden de prioridad. De esa manera, si no termina la aplicación completa, las características más importantes seguirán allí.
  • Divide la primera característica en tareas cada vez más pequeñas, hasta que puedas completar tareas que puedas terminar en uno o dos días. No tengas miedo de hacer que suenen estúpidamente simples. Mi primera tarea en proyectos nuevos es siempre hacer que hello world funcione y se registre en el control de código fuente. Especialmente si es un lenguaje nuevo, o uno que no he usado en mucho tiempo, eso me dice que mi entorno de compilación y mis herramientas están configurados correctamente.
  • Obtenga su progreso revisado con frecuencia. No intentes tirarles un producto terminado al final del verano. Muéstrales al menos una vez por semana lo que tienes hasta ahora.
  • Dedique un poco de esfuerzo por adelantado para tratar de encontrar proyectos y componentes existentes que puedan satisfacer sus necesidades. Es mucho más fácil personalizar un sistema existente que hacer uno desde cero. Muchas empresas necesitan tipos similares de aplicaciones internas. Este es uno que desearía haber conocido por mí mismo. Uno de mis proyectos de pasantía básicamente reinventó (mal) un CRM .

Entonces, relájate, haz tu mejor esfuerzo y aprende todo lo que puedas, ya sea sobre software o no.


6

Las otras respuestas aquí son muy buenas, léalas una y otra vez y realmente trate de resolverlas. Si haces eso, con un esfuerzo superior al promedio, podrás emerger "vivo" al otro lado de tu pasantía. Dada su situación, será más difícil de lo que esperaba, pero puede valer la pena.

Esto es crucial porque, cuando solicite un puesto en otra empresa 1 , una de las preguntas clave será:

Veo que hiciste una pasantía en la empresa X. ¿Cómo estuvo? Por que te fuiste ?

Si luego puede mostrarles que manejó su situación difícil de manera profesional, esto contará MUCHO , los empleadores generalmente están muy impresionados con algo como esto.

Incluso si apesta, puede hacer que sea una experiencia valiosa a partir de la cual tenga la oportunidad de aprender lo que sus compañeros de clase nunca ...

1 = Espero que lo hagas, porque quedarte allí será un suicidio profesional (tarde o temprano ... probablemente antes)


2
Esta es una pregunta fácil de responder. "Disfruté trabajando en X y aprendí mucho durante mi pasantía. Sin embargo, no son una compañía de desarrollo de software. Por lo tanto, no creo que crecería tan bien mis habilidades de ingeniería al quedarme allí. Preferiría trabajar con otros desarrolladores de software y tienen proyectos que son más colaborativos ".
selbie

5

Estaba en una posición similar el año pasado, donde tuve que desarrollar todo desde cero y no tenía a nadie más con experiencia en desarrollo. Terminé el proyecto que me dieron, pero no lo llamaría una aplicación pulida o incluso una mantenible (ya que la única persona que sabe cómo funciona soy yo y nadie en la compañía ha mirado el código).

Aquí hay algunas cosas que hice y haría si estuviera en esa situación. Algunos de estos ya se han mencionado en las respuestas anteriores.

Descifrar:

  • ¿Qué quieren que haga el producto (entradas y salidas, el mínimo )
  • ¿Cuáles son tus limitaciones? (es decir, ¿qué programas puedes / no puedes usar?)

Esto le dará una idea de cómo debería verse el producto. Dibuje esto en una hoja de papel y muéstresela a su gerente / supervisor. Mira lo que dicen al respecto. Si no les gusta, pregúntales qué quieren cambiar, cámbialo y repite el proceso. Si les gusta, haga la mínima cantidad de codificación y cree una demostración simple.

Muéstreles la demostración (pregúnteles si esto es lo que tienen en mente), esto les mostrará su progreso y lo ayudará a comprender lo que quieren.

Siempre que necesite ayuda con la codificación, lea los manuales / tutoriales, busque en Google y finalmente publique en el desbordamiento de la pila para obtener ayuda.

No te obsesiones con pequeños detalles. Perderás mucho tiempo si haces esto.

Código en pequeños fragmentos , cada fragmento es una funcionalidad importante para la aplicación.

Comenta tu código. Si están planeando pasar esto a otro interno o empleado, será de gran ayuda para ellos.

Siga comunicándose con su gerente / supervisor sobre el proyecto y su progreso en él.

Y no se preocupe si no puede terminar el proyecto, es un pasante e hizo lo mejor que pudo. Ellos tienen la culpa de contratar a alguien con poca experiencia para tal proyecto.

TL; DR

  • Comunícate con tu gerente en cada paso

  • Codifique la funcionalidad principal

  • Obtenga ayuda de Google y apile el intercambio

  • No te preocupes si no puedes terminar


1
  1. Busque aclaraciones sobre los objetivos de la pasantía: ¿por qué se le asignaron tantos proyectos?
  2. Aclare a la gerencia que dentro del tiempo asignado, no puede completar los proyectos solicitados
  3. Prepare un análisis de cómo usar mejor su tiempo. Por ejemplo, sugiera trabajar únicamente en un proyecto y descartar los otros.

Su tiempo ayudaría mejor a su empresa si trabajara únicamente en un proyecto pequeño. Asegúrese de mantenerlo bien documentado. Concéntrese en crear documentación útil de arquitectura, objetivos del proyecto, progreso del proyecto y código fuente.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.