Cómo hacer un Sitio Web o Blog en 2022 - Guía fácil y Gratuita para Crear un Sitio Web

Lecciones aprendidas como ingeniero de software principiante

Si me hubieran preguntado hace un año qué hacía un ingeniero de software, habría dicho algo como “resolver problemas a través del código”. Es una respuesta simple que apunta a cómo se evalúa el trabajo que producimos. Para los ingenieros de equipos centrados en productos, estos problemas podrían incluir cómo implementar una nueva función que los clientes han estado solicitando o cómo mejorar el rendimiento de las funciones existentes.

Si hoy me hicieran la misma pregunta, daría una respuesta ligeramente diferente. Los ingenieros de software tienen la tarea de resolver los problemas correctos a través del código y, cuando se resuelven de manera efectiva, logran los objetivos comerciales. Averiguar qué problemas resolver y cómo resolverlos es la parte más importante de ser desarrollador, siendo secundarios los detalles de implementación reales.

Mi camino hacia la ingeniería de software

Me interesé en la programación después de tomar una clase en Código de línea superior el verano antes de mi primer año de universidad. Obtuve esta oportunidad a través de un programa de preparación universitaria y profesional del que formé parte llamado La red de oportunidades.

Upperline Code fue mi primera introducción a la programación y rápidamente me di cuenta de que estaba interesado en aprender a codificar. Más tarde ese verano, recibí mi paquete de inscripción en Notre Dame y cambié de la Facultad de Artes y Letras a la Facultad de Ingeniería para poder especializarme en Ciencias de la Computación (CS).

Algunos de mis cursos de informática favoritos fueron Diseño/Análisis de Algoritmos, Computación en la Nube y Desafíos de Programación. Los problemas fueron interesantes y los profesores fueron excelentes presentando nuevas ideas y explicando conceptos.

Durante toda la carrera, supe que quería trabajar como ingeniero de software y utilizar las habilidades técnicas que adquirí. Afortunadamente, el verano anterior a mi último año, tuve la oportunidad de realizar una pasantía como ingeniero de software en cantata y programar en pareja con otros ingenieros para ayudar a ofrecer funciones.

Mi experiencia de pasantía, junto con las charlas de ánimo de mis profesores, me dieron la confianza para no conformarme con ningún otro puesto cuando comencé a solicitar empleo. Después de pasar mucho tiempo en horas de oficina, me gradué en 2021 con un título en informática y acepté una oferta para ser ingeniero de software asociado aquí en Zoho Social.

Instalarse en Zoho Social

Parte de ser nuevo en el puesto y nuevo en la empresa fue tener que desarrollar habilidades generales de ingeniería de software y conocimientos de dominio específicos de Zoho Social. Descubrí que las tareas que requerían conocimientos generales de programación para comprenderlas eran las más fáciles de resolver para mí. Sin embargo, las tareas que requerían conocimiento de la arquitectura de Zoho Social me tomaron tiempo y tuve que confiar en la ayuda de mi equipo. Si bien hay algunos problemas que puede resolver leyendo la documentación en línea, no siempre puede encontrar información que sea relevante para el trabajo que está realizando; poder pedir orientación a otras personas es crucial.

Una de las primeras cosas que me llamó la atención cuando me uní a Zoho Social fue lo colaborativo que es el proceso de desarrollo. Sabía que se necesitaban equipos enteros para desarrollar funciones, pero no sabía cómo se veía eso en la práctica. Rápidamente me di cuenta de que lanzar una función exitosa requería que muchas personas en diferentes roles trabajaran juntas, desde gerentes de producto que definieran los requisitos del proyecto hasta diseñadores que crearan maquetas e ingenieros que implementaran funciones. La colaboración no era algo opcional, sino una necesidad para lograr los objetivos de nuestro equipo.

Aprender a navegar a través de las distintas bases de código y construir un modelo mental de cómo interactuaban los diferentes servicios entre sí fue una curva de aprendizaje empinada. Dado que el negocio principal de Zoho Social es el software, su arquitectura está determinada en gran medida por los requisitos comerciales. A medida que avanzaba, tenía que ser consciente de los problemas comerciales que los desarrolladores intentaban resolver y de por qué se tomaron decisiones arquitectónicas previas.

Al principio, me sentí un poco intimidado porque las solicitudes de extracción requerían revisiones antes de poder fusionarse en el código base. Comprender que el objetivo principal de las revisiones de código es compartir conocimientos y mantener los estándares del código me ayudó a cambiar mi perspectiva.

Revisar revisiones de código me ha ayudado a perfeccionar mis habilidades técnicas y mejorar la calidad de mis solicitudes de extracción. Ha sido realmente útil que mis compañeros me den consejos sobre qué cambiar, me presenten nuevos patrones y me indiquen áreas relevantes del código base. Leer las solicitudes de extracción de otros ingenieros también me ha brindado una valiosa visibilidad de otros servicios en los que no estoy trabajando directamente.

Tus experiencias previas importan

Prevalece la idea de que a medida que entras en nuevas etapas de la vida, tus experiencias anteriores ya no importan. Una vez que ingresas a la universidad, tus experiencias en la escuela secundaria ya no importan. Una vez que ingresas a la fuerza laboral, tus experiencias universitarias ya no importan.

Pero algo que a menudo se pasa por alto es que nuestras experiencias, conocimientos y hábitos tienen un efecto compuesto. Generalmente sólo podemos lograr cosas nuevas gracias al trabajo que hemos realizado antes. Los conocimientos y habilidades que adquirí anteriormente han influido en gran medida en cómo abordo los nuevos desafíos como ingeniero de software principiante.

Las clases durante la licenciatura que tuvieron el impacto más directo en mi trabajo diario en Zoho Social fueron Desafíos de programación y Conceptos de bases de datos. El primero me enseñó a dividir problemas grandes en partes más pequeñas para resolverlos de manera más eficiente. Me ayudó a ser más intencional en la forma en que estructuré mi código y mejoró la legibilidad de mi código.

Conceptos de bases de datos me enseñó conceptos fundamentales de bases de datos relacionales y cubrió temas como el diseño de esquemas de bases de datos y SQL. Aprendí a escribir consultas, lo cual ha sido extremadamente útil ya que frecuentemente necesito consultar nuestras bases de datos para resolver problemas o responder preguntas.

Las oportunidades que tuve fuera del aula fueron igualmente valiosas. Java no era un lenguaje que se tratara en la mayoría de mis cursos, sin embargo, tuve la oportunidad de trabajar en él para un proyecto empresarial que lideraba uno de mis profesores. Adquirí experiencia práctica escribiendo Java, trabajando con bases de datos MySQL y creando imágenes Docker. Aprender Java fue especialmente útil ya que la mayoría de los servicios de Zoho Social están escritos en él.

Hay muchas otras habilidades que adquirí durante mi etapa universitaria y que doy por sentado, como navegar por la línea de comandos y comprender conceptos básicos de programación. Es un error común pensar que, dado que la mayoría de los temas cubiertos en la licenciatura son de naturaleza teórica, no lo prepararán para carreras de ingeniería de software. Sin embargo, creo que es todo lo contrario: las habilidades que se aprenden en la licenciatura importan, incluso si no son directamente aplicables a su trabajo diario.

La informática es un campo extremadamente amplio.

La informática cubre una variedad de especializaciones como inteligencia artificial, aprendizaje automático y ciencia de datos. La experiencia que adquiere en la licenciatura sirve como conocimiento fundamental que puede resultarle útil en una variedad de funciones de nivel inicial no exclusivas de la ingeniería de software. Dar el salto de una licenciatura a un puesto de tiempo completo brinda la oportunidad de explorar qué tipo de función y especialidad es la más adecuada para usted.

Si está buscando comenzar una carrera en ingeniería de software, Zoho Social es un excelente lugar para comenzar.