¿Cuáles son las habilidades que ha aprendido de sus prácticas tecnológicas?

Hablaré sobre mis pasantías de ingeniería de software anteriores y actuales (sin entrar en demasiados detalles, por supuesto).

-Una pequeña empresa de semiconductores durante el último año de la escuela secundaria:

  • Arquitectura de máquina de estados
  • Programación de LabVIEW
  • Cómo automatizar un procedimiento de prueba usando un multiplexor
  • Con qué frecuencia pueden surgir errores en el software
  • ¿Cuántas consideraciones de diseño a corto y largo plazo pueden surgir?
  • Qué intimidante puede parecer una base de código
  • Cómo dar mejores presentaciones formales
  • El nitrógeno líquido es tan frío que se siente caliente.

Raytheon después del primer año de la universidad (en este momento):

  • Programación Ada
  • El proceso de desarrollo de software ágil
  • Cuánto tiempo pueden tomar las pruebas (aunque es importante)
  • Cómo son los gerentes increíbles
  • El equilibrio trabajo-vida aún existe.

Al ingresar a mi pasantía, esperaba aprender mucho más sobre ingeniería de software en general, y cómo se escribe, prueba, revisa e implementa el código en la producción a escala. Quería tener una buena idea de cómo escribir código robusto y fácil de mantener, cómo identificar errores en el código y cómo corregir adecuadamente estos errores. Afortunadamente, durante la duración de mi última pasantía en Hudl, obtuve estas habilidades y muchas más:

  1. Mejora general en la capacidad de codificación / ingeniería de software: aprendí algunos lenguajes, marcos y sistemas de gestión de bases de datos: Mongo, JavaScript, React, GraphQL y C #. Aprendí algunos conceptos interesantes de bases de datos mientras trabajaba con Mongo y cómo los servidores GraphQL difieren del paradigma RESTful normal. Además, estuve expuesto a algunos conceptos importantes de informática y cómo se pueden aplicar a entornos de producción, a saber, utilizando métodos asíncronos / de espera en C #, inicialización de objetos diferidos e inyección de dependencia. También aprendí en general cómo funcionaba la arquitectura de microservicios y cómo hacer llamadas API a diferentes servicios utilizando una biblioteca interna y usar o almacenar en caché estos resultados. Otra cosa importante fue escribir pruebas unitarias sólidas en caso de que mi código se rompiera en el futuro.
  2. Conocimientos básicos de la aplicación y la arquitectura de la base de código: tuve la suerte de sentarme e incluso contribuir a las discusiones sobre cómo se diseñaría una nueva característica o microservicio en la base de código, cuáles serían los entregables en qué marco de tiempo y cómo Sería la unidad de prueba. Esto me dio a conocer cómo se planifica y se diseña un gran proyecto técnico, incluso antes de que se implemente en código. En otro problema particularmente difícil que estaba resolviendo durante mi pasantía, tuve que descubrir cómo integrar un servicio que requería múltiples clases en otra base de código con funcionalidad similar, sin introducir duplicación de código ni abstracciones innecesarias. Esto requería comprender conceptos como herencia y polimorfismo, y aplicarlos para descubrir cómo producir el mejor código con una replicación mínima.
  3. Cómo llevar el código a producción: trabajé con un QA increíble en mi equipo que me guió a través de los pasos para implementar mi código en producción una vez que otros desarrolladores lo probaron y lo firmaron. Aprendí cómo se realizan las implementaciones a escala para asegurarme de que nada se rompa y que el usuario tenga garantizado el 100% de tiempo de actividad.
  4. Documentación y redacción: aprendí que es importante documentar todo lo que puede hacer, para poder utilizarlo como referencia futura. Esto requiere habilidades efectivas de comunicación y escritura. Además, utilizamos el paradigma de solicitud de extracción para proponer nuevos cambios o adiciones al código de producción, y escribir buenas relaciones públicas que establecieran claramente que mis cambios resultaron ser una habilidad importante que desarrollé.
  5. Recibir retroalimentación: antes de mi pasantía, la única fuente real de retroalimentación que tenía eran las calificaciones que me dieron en un examen. Sin embargo, en Hudl, tuve la oportunidad de recibir comentarios reales de las personas con las que trabajé estrechamente, ya fuera comentarios sobre el código que había estado escribiendo o sobre mi rendimiento general. Tomar comentarios críticos puede ser difícil, y me di cuenta de que es esencial buscar comentarios y aprender de sus compañeros y compañeros de trabajo si desea crecer y mejorar. Desde entonces, he estado buscando deliberadamente comentarios de otros en mi vida, por lo que mi pasantía también desempeñó un papel en mi desarrollo personal.

He aprendido que lo que aprendes en la universidad no es nada comparado con cómo aprendes en la universidad.

Por ejemplo, en ningún momento durante mis entrevistas o pasantías, me pidieron que hiciera cálculos para resolver un problema de la compañía o para explicar leyes y hechos científicos a los clientes.

Lo que me pidieron que hiciera era involucrarme en cómo pensar en mis pies, administrar mi trabajo de forma independiente, desarrollar una fuerte ética de trabajo, forjar relaciones laborales y aceptar la responsabilidad personal.

Los hábitos, valores y relaciones que desarrollé durante la universidad, así como las pasantías, me ayudaron drásticamente más en el mundo real que cualquier material real. De hecho, me aventuraría a decir que solo recuerdo alrededor del 5% de todo el material que me enseñaron en la universidad, y eso fue solo hace 4 años.

Además de las habilidades técnicas, aprende cómo funciona el sistema real. En la escuela, la mayoría de tus experimentos o proyectos se ejecutan en un entorno ideal. Aprende sobre el fracaso, pero la mayoría de las veces, puede ignorarlo con seguridad. Una buena pasantía (hay malas) le permitirá trabajar en un sistema real donde podrían ocurrir todo tipo de errores. Esto hará que lo que aprendas en la escuela sea más obvio.

Aprenderá a tratar con personas reales que tienen muchas cosas en juego aparte del trabajo. Tu jefe podría no ser tan amable como tu profesor.

Aprenderá a ser responsable de su trabajo durante esas paradas diarias y se sentirá mal por aflojar.

Aprenderá a tratar con clientes enojados que no tienen idea de lo que hablan pero que aún necesita ser amable con ellos.

Tengo 6 pasantías durante mis años universitarios y cada vez que aprendí algo nuevo.

Tuve 3 pasantías tecnológicas mientras aún estaba en la escuela secundaria y no comparan nada con lo que era la escuela secundaria. Puede descubrir que no sabe la mitad de las cosas necesarias para completar una tarea, pero unas pocas búsquedas en Google y dedicar unos minutos a comprender realmente qué respuestas encontró la tarea. Eso es esencialmente como fue mi primera pasantía. Conocí al director de operaciones de otra compañía en mi primera pasantía y había hecho algunas cosas por ellos (lo que les gustó), así que me ofrecieron una pasantía de verano. Este fue probablemente uno de, si no, lo más importante que obtuve de la pasantía; conexiones La creación de redes con las personas siempre será importante porque abre puertas para muchas oportunidades. No tenga miedo o esté nervioso para hacer preguntas y sugerir cosas. ¡Estás aprendiendo para aprender y la mejor manera es participar y hacer preguntas y hacer! ¡Buena suerte! 🙂