Como cualquier otra área del saber, la IA presenta una amplia gama de profesionales encargados de aplicar sus conocimientos en un entorno real. En concreto, el Machine Learning (que es una subcampo de la IA, como vimos en anteriores posts) se ve representado en el área profesional por el ingeniero en Machine Learning (Machine Learning Engineer, en inglés).

Este puesto corresponde a las personas con el suficiente conocimiento en matemáticas y programación para realizar el proceso de diseño y desarrollo de modelos de ML, pero también con suficiente competencia en desarrollo de software para hacer que esos modelos puedan ser utilizados en productos factibles, cumpliendo con las normas de velocidad y escalabilidad que tanto importan a la hora de desarrollar software. Aunque hay más puestos donde se utilizan técnicas de ML (como en el de científico de datos), es el puesto de ingeniero de Machine Learning donde se destaca el uso de las tecnologías que hamos estado mencionando en esta serie de posts.

Si quieres conocer un poco más las diferencias entre un cientifico de datos y un ingeniero en ML, mira el video

Hablemos entonces de cómo convertirse en un ingeniero en ML, tomando en cuenta 4 puntos: Desarrollo de software, Matemáticas, Perfil Profesional y Prepararse para futuro.

Desarrollo de software: Es más que sólo programar

Programar es LA HABILIDAD DEL SIGLO XXI, usada en una variedad de campos, desde el área tecnológica hasta el área de investigación, pasando por industria y medicina. Aunque ya hemos hablado de lo que debes saber sobre programación si quieres aprender ML, a la hora de desarrollar un proyecto se necesitan más habilidades que sólo saber programar.

La primera de ellas es SQL, (acrónimo de Structured Query Language, Lenguaje Estructurado de Datos, en español), un lenguaje de estructura similar a los de programación pero que está especialmente desarrollado para acceder a bases de datos. Como recordarás de este post, los modelos de ML necesitan de una gran cantidad de datos para producir los resultados fascinantes por los que se les conoce, y tales datos necesitan almacenarse en lugares especiales, qe cumplan con estándares de comprensión, legibilidad, integridad y rapidez. Aunque  estos datos normalmente deberían ser procesados por un ingeniero de Datos (Data Engineer) antes de hacer ML, muchas compañías desdibujan la transición de tareas, por lo que un ingeniero en ML también debería saber acceder a las bases de datos usando SQL.

Una muestra de una consulta SQL

También hay que saber un poco de la Web, porque es el medio predilecto para desplegar productos de software que sean accesibles por el público en general. No se trata de ser un profesional del desarrollo web, sino de comprender conceptos de este medio tales como HTTP, códigos de estado, backend, frontend y, sobre todo, la arquitectura de componentes de software presente el proyectos web.

Finalmente, debemos saber un poco de DevOps (Developer Operations), un área de desarrollo encargada de asegurar el correcto funcionamieto, escalabilidad y rendimientos de los servicios de software que utilizamos día a dia. En concreto, un profesional de esta área se encarga de gestionar los servidores donde se encuentras tales servicios, a traves de técnicas como la automatización y el CI/CD. Saber un poco de estos temas nos da una idea de cómo se mantiene la escalabilidad y rendimiento de nuestros modelos de ML.

Matemáticas: Aprende a aplicar tus conocimientos

En un post pasado, hablamos de los campos de las matemáticas bajo los cuales se fundamentan las técnicas de ML, necesarias para cualquier profesional que quiera desarrollarse en esta área. Sin embargo, una cosa es aprender los conceptos que se presentan en libros y cursos sobre Álgebra Lineal, Cálculo y Estadística, y otra cosa es saber cuándo, cómo y dónde aplicar estos conocimientos.

Desarrollar una habilidad analítica y matemática es también útil durante las etapas de ML, debido a que las relaciones que presentan los datos se pueden representar matemáticamente, y nosotros podremos mejorar el rendimiento de nuestros modelos de IA si detectamos tales relaciones.

Para tal caso, recomiendo resolver algunos problemas que hagan mejorar nuestra capacidad analítica, como los presentados en el sitio web del Proyecto Euler.

Perfil Profesional: Construye tu portafolio

Muy bien, ya tienes los conocimientos técnicos, pero te falta experiencia. ¿Cómo adquirirla? Construye proyectos que interesen a las personas y que signifiquen una prueba para tus habilidades.

Consigue datos de sitios web del gobierno o de plataformas como Kaggle, y trata de construir pequeños proyectos que demuestren tus capacidades. ¿Generación de pinturas y otras imágenes sobre arte? ¡Claro! ¿Clasificar canciones según su género musical? Oye, ¿porqué no? Realiza proyectos sobre temas que te apasionen: eso asegurará que los termines y los añadas a tu portafolio personal.

Crear proyectos personales es una de las mejores formas con la que nuestra generación puede generar experiencia sin la necesidad de tener un trabajo normal

Una vez tengas suficiente confianza para desarrollar algo de principio a fin, aplica a alguna empresa que solicite puestos en ML. Como mencioné anteriormente, muchas empresas desdibujan la línea entre puestos de trabajo, así que aunque sepas todo lo necesario para un ingeniero en ML, tal vez deberás aprender habilidades relacionadas a otros puestos. Tranquilo, siempre vale la pena aprender algo nuevo, lo que me lleva al último punto.

Prepararse para el futuro: Sigue aprendiendo

Lo fascinante de esta área del conocimiento es que está en constante crecimiento. Nuevas técnicas se descubren cada año, y un problema que tenías hace tres años en tus antiguos proyectos puede resolverse hoy con el estado del arte en materia de IA.

Si quieres ver los más recientes avances en IA y saber qué es lo que puede deparar el futuro, puedes revisar un montón de artículos de investigación en páginas como ResearchGate.

Aprender de otras disciplinas aparte de matemáticas y computación también será importante, principalmente porque nos ayuda a visualizar nuevas formas en las que la IA puede contribuir a nuestra sociedad, y cómo el mundo percibe estas nuevas tecnologías. Sólo hace falta ver las noticias: el escándalo de Cambridge Analytica, empresa de análisis de datos cuyo trabajo en la campaña de Donald Trump llevó a este a ganar las elecciones de EU en 2016; la revolución en la industria automobilística orquestada por Tesla Motors y sus coches autónomos; la persecución de minorías raciales en China a través de sistemas de reconocimiento facial . Todas ellas son noticias que sacan a relucir que, nos guste o no, la IA tiene y seguirá teniendo una fuerte relevancia en nuestra era.