La Entrevista

Sobre la elección

  1. Te costó encontrar trabajo al terminar la carrera ?

    En mi caso, no, porque durante la carrera estuve haciendo servicio becario en el centro de computo de la universidad y posteriormente me dieron la oportunidad de trabajar ahi, en otras palabras siempre que estuve estudiando, estuve trabajando, y eso me sirvió como experiencia laboral. Al terminar la carrera, esta experiencia hizo mas facil econtrar trabajo.

  2. En qué areas se puede trabajar ?

    Yo soy Ingeniero en Sistemas Computacionales, ISC ‘99 para abreviar. En la carrera tuve las bases de programación, redes, electronica, en otras palabras, podia haber trabajado en hardware, redes, software, etc.

  3. En qué sector trabajas tu ?

    A mí siempre me ha gustado mucho programar. Mi trabajo es escribir software. Trabajo en el sector de productos de desarrollo de software.

Sobre la universidad

  1. Cual era la carga horaria de la cursada ?

    Recuerdo que en la universidad llevábamos bastantes materias. En los primeros semestres, la mayoria eran de tronco común con otras carreras, pero al ir avanzando, estas materias se volvieron mas especificas a mi carrera y mucho mas interesantes aunque con mucha mas dificultad, especialmente materias como lenguaje ensamblador, electronica, y algoritmos.

    Además, yo trabajaba en las mañanas, entonces tenia horario completo. Nunca sentí que la carga fuera excesiva, tenia tiempo para trabajar, estudiar y en algunos semestres participar en eventos de expresion artística como el Festival de la Cancion y Voces en Concierto en el entonces IEST.

Sobre la salida laboral

  1. Cuáles son las principales tareas y responsabilidades que tienes ?

    Mi tarea principal es escribir software de una manera profesional, esto quiere decir, que el codigo que yo escribo debe de:

    • Incluir pruebas que verifiquen si la solucion es correcta.
    • Que esté escrito de una manera clara.
    • Que la solución que mi código propone sea óptima en tiempo y espacio, es decir que ocupe el menos espacio en memoria y se ejecute en el menor tiempo posible.
    • En proyectos grandes, que el codigo que escriba cumpla con las convenciones y practicas del codigo que ya existe.
  2. Cómo describirías un día típico de trabajo ?

    Mi dia de trabajo es de la siguiente manera:

    • Checar correos, conversaciones en chat, y otros sistemas en los que alguien hace referencia a mi, o a algo que estoy haciendo, tomando nota de esto para incluirlo en el plan de mi dia. (teams, outlook, github)
    • Tener la junta diaria de seguimiento que dura aproximadamente de 20 a 30 minutos con todo mi equipo y el gerente del equipo. (ver metodología scrum)
    • En base a lo hablado en la junta y a las personas que me contactaron para seguimiento (por correos, teams, etc), planear las prioridades del dia que normalmente es algo como esto:

      • Revisar las “Pull requests” de otros ingenieros en las que se me ha solicitado revision. Esto puede involucrar, leer el codigo que fué escrito y en una primera pasada, identificar problemas, ya sea de optimizacion de tiempo, espacio, de funcionalidad, de estilo, etc. En otras ocasiones puede ser que este código sea muy extenso o complejo y requiera ser bajado y corrido en mi computadora para poderlo entender y hacer las pruebas pertinentes. Una vez terminado este proceso, se ingresan todas las observaciones en el sistema de control de codigo para que el autor corrija, una vez corregido, se vuelve a enviar a revisión, hasta que la revisión es satisfactoria.

      • Escribir el codigo de la funcionalidad en la que estoy actualmente trabajando, esto involucra a veces, dependiendo de la funcionalidad, hacer experimentos para entender lo que se va a hacer, luego hacer una prueba de concepto, donde es un codigo no optimizado, pero que arroja el resultado deseado, y una vez que se confirma que el código funciona, se hacen pruebas (antes de hacer el codigo definitivo) y se comienza a trabajar.

      • Mantener codigo que ha sido escrito previamente o funcionalidades que fueron desarrolladas por mi. Esto no es muy común, pero tambien sucede, que una funcionalidad en la que se trabajó en el pasado, requiere cambios, y se tiene que trabajar en ello, la metodologia de trabajo es similar al punto anterior.

      En algunos dias, se agregaran tareas de planeacion que pueden incluir:

      • Revisar los problemas reportados por los clientes e identificar posibles soluciones. La solución que resuelva la mayor cantidad de problemas de los clientes es en la que normalmente se trabaja.

      • Planear y hacer una estimación de la cantidad de tiempo y recursos que se requerirán para realizar la solucion al problema reportado.

      En otros dias, se agregaran tareas de asistencia en vivo para los clientes que pueden incluir:

      • Asistencia en horas laborales, para problemas no críticos.
      • Asistencia de guardia las 24 horas para problemas de alta importancia (muy raros)
  3. Cuáles son las empresas en las que podrías trabajar ?

    Cualquier empresa en la que se desarrolle software, o donde haya infrasestructura de redes, internet. Por ejemplo, yo he trabajado desarrollando software para empresas de indole Medica, Transporte, Petroleo, Marketing, Automotriz.

  4. Si llegara a ser difícil conseguir un trabajo, como puedo complementar mis estudios para mejorar mis posibilidades de conseguir trabajo ?

    Esta es una pregunta muy importante, porque la carrera de ingeniero de software no termina al egresar, al contrario, el aprendizaje apenas comienza, porque el software cambia cada seis meses bastante y en dos años, todo lo que sabes es prácticamente obsoleto. Entonces es importante mantenerse actualizado constantemente.

    Adicional a esto, cada empresa tiene sus herramientas y lenguajes que usan, mientras mas sepas o tengas una idea basica de como funcionan, mejor. Estos lenguajes y herramientas muy probablemente no forman parte de las materias en la carrera.

    En mi época, para aprender más tenias que invertir en libros, cursos, etc. El dia de hoy, todo está disponible en el internet, pero hay que saber buscar, porque hay mucho contenido equivocado o hecho por personas que solo buscan que la gente haga click en sus paginas y no tienen realmente calidad en sus contenidos.

    Preguntas adicionales

    1. Herramientas y lenguajes por tipo de actividad.

      Area Herramienta Lenguage Ejemplos
      Juegos Unity C# Juegos de xbox y PC
      Marketing y Contenido Vs Code PHP, Javascript, CSS Paginas web
      Hardware Arduino, Raspberry-Pi Python, C, otros Proyectos de electronica, etc
      Desarrollo de software en general Visual Studio C# Aplicaciones de todo tipo
    2. Como es eso de las actualizaciones y con ejemplos.

      El desarrollo de software evoluciona muy rapido, aqui hay un articulo que habla de lo que ha ido cambiando en las decadas.

    3. Mandar un articulo de como funciona chatgpt. y de Generative ai. Mas informacion de Inteligencia Artificial de Microsoft.