La vida puede ser muy buena con los individuos algunas veces. En otras se pone bien gacha, malditas senoidales hasta en eso aparecen después de la materia de teoría electromagnética. Bueno un poco de historia de esas historias que aunque no se repitan a veces riman.
Este blog está enfocado en el desarrollo de sistemas embebidos, abarcando temas técnicos más que nada. Aunque también he incluido varias veces cómo va el proceso de aprendizaje o desarrollo desde el lado un tanto más humano y menos máquina.
Contrario a lo que se piense, Oaxaca puede llegar a ser muy dura. La verdad es que en este país se le invirtió mucho a la infraestructura y estabilidad económica en el Centro del país, las grandes ciudades y la frontera. Nada más. Oaxaca, de donde soy originario, al considerarse de muy baja prioridad en producción, industrialización y servicios, pues se terminó catalogando como Zona Turística. Y sí, muy bonitos sus paisajes, muy sabrosa su comida, bien a todo dar su gente que te invita de todo lo que tenga y no deje el cálido saludo en la calle como buena costumbre.
Pero se abandonó su principal motor económico de antaño, la agricultura.
Después del TLC, pareciera que Oaxaca se convirtió en una fábrica de migrantes (tanto al interior del país como del exterior). La producción agrícola, aunque aún abundante, no logra venderse a precios competitivos, y aún entre los locales se prefieren los productos externos que lo cultivado por sus vecinos.
¿Y cómo conecta esto con mi historia personal? Soy descendiente de estos agricultores que tuvieron todo y ahora sobreviven con lo poco que les da la tierra y el mercado local. Ahora mi abuela sobrevive como puede cuidando un trío de ovejas, algunos pollos, una cabra y un par de vacas. Como mis lectores sabrán, estuve medio año ayudándola con sus tierras, en un merecido descanso del mundo tecnológico, los tiempos de entrega, las exigencias de la industria y las peleas con Sistemas, Hardware y los Project Managers.
Así que me puse a pensar que sería buena idea contar mi historia de cómo ha sido mi camino de desarrollador. Y de paso sirve que me quejo y saco el sentimiento que traigo atorado.
En fin, ahora intento conseguir de nuevo un empleo en el mundo “High Tech” y, como ya lo preveía y en esta senoidal llamada vida, ha sido más difícil de lo que pensaba.
Breve historia del como me convertí en ingeniero de software embebido
Mi bachillerato
Para ser sincero ni sé por donde comenzar, pero intentaré hilar una historia mas o menos coherente. Por allá del 2008 a mitad del bachillerato, retomé contacto con mi amigo Diego, un genio en su máxima expresion de la palabra, y digo retomé porque tuvimos una amistad-rivalidad académica desde los 11 años cuando nos conocimos en 6to de primaria.
Como decimos con los amigos el nació con turbo biologico, al parecer de los demás daba la impresión que podía memorizar todo lo que veía, leía o estudiaba, además de tener una comprensión sobrehumana del mundo comprendiendo cosas que yo solo logré asimilar hasta la universidad.
Y el hecho que en el bachillerato nos hubiera tocado en el mismo grupo fue un punto de inflexión que definió mi vida profesional, porque, muchas veces y en contra de tu voluntad cuando el sistema académico veía el potencial de los “niños avanzados” en la educacion pública, eras casi obligado a entrar a los concursos de conocimientos para “dejar en alto” a tu institución.
En mis primeros semestres yo había dejado el estudio como prioridad en mi vida, estuve en esa etapa adolescente donde escuchaba gangsta rap, nu metal y corridos de los inquietos, entrar al club de teatro de la escuela y medio pasar las materias sin mucho esfuerzo. Pero en un punto, después de jugarme la calificación de la materia de matemáticas solo por el exámen (por lo general las calificaciones eran la suma de los créditos asignados al examen de bimestre, el cuaderno de trabajo, participación en clase y asistencias) dado que me habia escapado varias veces para ir a los videojegos, y me daba mucha pereza realizar 50 o 60 ejercicios de algebra pues mejor le dije al profesor que me jugaria todo en el examen, el profesor tal vez convencido que iba a salir mal me dijo que si, a lo que otros 4 valiendotes hicieron lo mismo, y solo dos pasamos jeje eso sí con más del 90% de aciertos, eso nos dio el acceso a la lista de “los listillos” y con ello privilegios que descubri unos meses después.
En tercer semestre (de seis) dado que en mi primer grupo la deserción fue mucha, casi desapareción y nos integraron a otros grupos debido en parte a que eramos muy pocos y luego en base a nuestra formación técnica, informática en mi caso. Y ahí fue donde tuve a Diego de compañero. A la par que comenzaban los concursos de matemáticas aplicada donde niños de bachillerato resuelven problemas de combinatoria, teoría de números, algo de mátematicas discretas y geometría.
Por alguna razón podía con eso pero no logré sobresalir demasiado aunque le ponía mucho esfuerzo. Y a la par tenía que cumplir con mis deberes de las otras materias, que si mal no recuerdo llevaba unas 7 o 9 por semestre. Y fue entonces cuando le pregunté a Diego que como le hacia, casi ni lo veiamos en clases y en todas las materias iba con calificaciones altas.
Entonces nos revelo su secreto: Concurso en la Olimpiada Méxicana de Informática, y en ese entonces ya habia ganado en las nacionales dos veces. Entonces él tenia un trato con el bachillerato, se encargaba de ganar en ese concurso y le condonan las materias aburridas.
En mi entender dije, y que necesito para hacer lo mismo entonces me dijo pues podemos hablar con el profesor, así comenzo mi viaje como desarrollador.
Resulto que la informática eran matemáticas puras convertidas en código. Y entré al juego, me esforcé y logre colarme en las nacionales, era divertido trabajar con Karel el robot y aprender algo de lenguaje C para resolver aquellos problemas de combinatoria y cálculo que cuando haciamos en papel eran tediosos y cansados.
Y no fue todo lo que Diego me enseñó, porque el me explicaba las cosas mejor que el profesor y en realidad fue quien me dio todos los hacks de lenguaje C y lógica que aun hoy día utilizo. La otra cosa que me mostró en esos días fue una computadora del laboratorio de informática, de esas cajas blancas que tapabas con un plástico para que no se empolvaran, las que acostumbrados estábamos a ver con Windows 98 o sufriendo para que corriera un Windows XP (en el 2007-2008 ya eran equipo obsoleto). Pero el sistema se veía diferente y Diego la usaba con una pantalla negra llena de texto.
Resultó que corría algún tipo de Linux, si no Mandriva, Debian. Y dado que yo tenía una “Pentium 4” ensamblada de forma customizada debido a que mis padres me dijeron que no iban a gastar tanto en un aparato que nada más serviría para que estuviéramos jugando (mis hermanos y yo) —cosa que fue cierta a medias—, porque me llevé una copia de Mandriva. Y después de comprender muy por encima cómo funciona un sistema operativo, gasté horas y horas de mi vida probando otras distribuciones de Linux, de las cuales me quedé con Fedora. Pero eso es otra historia.
Entonces ahí cuando me toco escoger que iba a estudiar, me decidí por la Ingeniería en electrónica, en un momento pense por informática pero a mi también me gusta hacer cosas en forma física y no solamente en la imaginación asi que la carrera me cayó como anillo al dedo.
La universidad
En 2010 se terminó el bachillerato y seguia la siguiente etapa: La Universidad que de verdad fue difícil, dadas mis condiciones económicas no tenia muchas opciones, solo habia dos: El Instituto Tecnológico de Oaxaca (ITO) (ahora no se como se llama TecNM oaxaca, algo así. Como nota el día que estas lineas se escriben la página estaba offline y la información salio de su página de facebook) y la otrora gloriosa Universidad Tecnológica de la Mixteca (UTM).
En realidad que la decisión fue simple, sobre todo al ver como un profesor de física del bachillerato tenia el poder de “asegurar” un lugar en el ITO a un compañero mediante una llamada telefonica por una “pequeña gratificación”, vamos a decirle. Y a la UTM solo era necesario pasar un examen de admisión, que por alguna razón tenían los mismos ejercicio de mecánica clásica que tuve que resolver en concursos de niños genio.
Para no alargar más esta parte de la historia la Universidad me costó mucho, no en dinero pero si en esfuerzo, lágrimas y sangre, de hecho al inicio entramos como 40 nuevos alumnos al curso propedéutico, 30 nos inscribimos al primer semestre, mas unos 6 u 8 recursantes. Al finalizar 5 años después, egresamos 8, solo 4 sin reprobar algún grado. Una vez conquistado eso pensaba que la vida profesional sería fácil y no fué asi.
Solo puedo decir que la Universidad, desde mi punto de vista, fue bastante dura. La exigencia era muy grande, los profesores en su gran mayoría enseñan muy bien, dominan las materias y contenidos de forma excelente y saben cómo explicarlo, aunque la exigencia al calificar y evaluar también era alta, lo que pega en las calificaciones y el promedio.
Así que entre la exigencia y entre las malas pasadas, las borracheras, ver cómo tus amigos van reprobando o sus recursos económicos no los dejan seguir en el camino… Esas cosas pegan y cobran factura tanto física como mentalmente, sumado a los que sí eran malos profesores —los menos, pero que queramos o no existen.
La verdad es que salir de ahí, como dice una canción: fue un infierno a la gloria. Pero lo logré y en el camino conocí los microcontroladores, entendí cómo funcionan las computadoras y aprendí suficiente de física, electrónica y matemáticas para ser un ingeniero de embebidos, de los buenos… salvo por una cosa: mi inglés era pésimo. Y eso que me esforcé en aprender —digo, no es que haya mejorado mucho, pero al menos ya puedo tener una plática técnica, saludar y escribir algo de estas líneas, pues he mejorado bastante.
Y esa falta de inglés en mi vida me puso freno durante años en mi camino como desarrollador.
Mi vida (profesional) en el sur (de México)
Técnico de redes
Al egresar de la universidad, el hecho de haber hecho amigos de grados posteriores y haber sido de esos que llegan aún alcoholizados a los exámenes, me ayudó a conseguir un trabajo pronto, como técnico de redes en la Universidad del Mar, una hermana de mi propia Universidad en una playa paradisíaca del Estado de Oaxaca: Puerto Escondido.
Así que durante 2 años me tocó vivir lo que para otros podría ser el gran sueño, vivir a orillas del mar en un trabajo que no exigía demasiada carga cognitiva, “solamente” reparando computadoras, montando equipos de audio, haciendo respaldos de servidores, reparar impresoras, instalar y monitorear cámaras de video vigilancia. Y más tarde reparar cualquier cosa que funcione con electricidad porque otra de mis habilidades es comprender sistemas mecánicos, biológicos, informáticos o electrónicos en poco tiempo.
Lo malo de todo esto fue el dinero, los sueldos son bajos (se dice que no se debe hablar de eso, pero a este punto ya no me importa. En esos días me daban apenas 7,900 pesos mexicanos al mes) y cuando intenté negociar me topé con la gran barrera del empleador del sur, la respuesta fue: “El sueldo es un número en algún archivo de Excel y no puede subir” (en un punto pensé que eso era porque era una institución pública, pero luego me di cuenta de que es cultura empresarial).
Aparte que yo estaba trabajando para un departamento administrativo, y cuando quise hacer algo de investigación debido al aburrimiento que me empezó a pegar porque las tareas eran repetitivas y no me exigían mentalmente, me llegó un oficio con muchas razones burocráticas que en resumen decía: “No te metas en cosas académicas”.
Terminé renunciando para emprender una empresa con varios de mis amigos.
Jugando a ser emprendedor
Con los pocos ahorros que logré reunir tras cubrir mis gastos, me uní a unos amigos para fundar una pequeña empresa. Nuestro plan era comercializar componentes electrónicos, gadgets e impresoras 3D. Al principio, no nos iba tan mal económicamente, pero tampoco contábamos con muchos recursos. Sin embargo, entre una mala administración y las condiciones del entorno, terminamos enfrentando un revés inesperado.
Nos vimos involucrados en un programa federal que, a grandes rasgos, desviaba recursos a través de pequeñas startups para financiar la campaña presidencial de 2018 de un partido que, al final, no ganó. No entraré en más detalles, pero eso fue el principal motivo que terminó con nuestros activos, nos dejó endeudados y destruyó casi por completo el proyecto. El proyecto fracasó, pero el aprendizaje fue inmenso.
Entre 2015 y 2019, luchamos por mantener a flote la empresa con la idea a largo plazo de convertirla en una consultora de software con un departamento de embebidos. Lamentablemente, no lo logramos. Esta experiencia, aunque dura, me abrió las puertas a otro trabajo técnico del que les contaré más adelante.
Ahora de técnico electromecánico
En mayo de 2018, comencé una de las experiencias laborales más difíciles de mi vida. Logré entrar a una administradora de carreteras federales en el municipio de San Pablo Villa de Mitla, Oaxaca.
Como paréntesis, durante meses intenté sin éxito conseguir un puesto como ingeniero junior en sistemas embebidos. Apliqué a empresas como General Electric, Continental, Hella, Capgemini, Bosch, HCL y varias startups, pero siempre recibía las mismas respuestas: “No tienes experiencia en la industria”, “tu experiencia es solo como técnico” o “tu nivel de inglés no es suficiente”.
En este nuevo trabajo, el recibimiento no fue precisamente cálido. El mensaje de recursos humanos fue claro: “Hay una fila de gente queriendo trabajar aquí. Si no les gusta, se pueden ir, porque nadie es indispensable”. Así empezó mi etapa como técnico electromecánico.
En el mundo al revés que es Oaxaca, terminé siendo el que sabía hacer casi todas las tareas requeridas por el plan de mantenimiento de la empresa. Aunque suene arrogante, incluso capacité a quien sería mi jefe. Sin embargo, a ojos de la gerencia, yo era el menos productivo. ¿Cómo es posible? Mi jefe, con mayor rango, asignaba todas las órdenes de trabajo, aunque no entendiera de qué trataban, y yo tenía que ejecutarlas. Una vez más, me convertí en el “experto” en todo lo que funcionara con electricidad.
El manual de mantenimiento decía que mi trabajo era limpiar PCs con una franela y rociar circuitos con alcohol isopropílico. En la realidad, me tocó depurar procesos en servidores de datos para diagnosticar fallos recurrentes, dar mantenimiento correctivo a servidores, instalar un UPS industrial y reparar enlaces de radio con licencias piratas que tuve que aprender a usar por mi cuenta.
Sin embargo, recibía reportes por cosas absurdas, como “no limpia su zona de trabajo”. Nunca mencionaban el contexto: por ejemplo, cuando reparé una planta de emergencia a las 2 de la mañana (mi turno era de 8 a 16 horas) en plena tormenta eléctrica y, agotado, olvidé guardar la caja de herramientas en el lugar correcto.
Esas situaciones abruman, así que decidí enfocarme en mejorar mi situación. Usé la PC de la oficina para tomar cursos en edX.org y acreditar mis conocimientos en sistemas embebidos. No lo he mencionado explícitamente, pero desde que aprendí a programar microcontroladores, no he parado de hacer proyectos. También comencé a estudiar inglés de forma autodidacta, como casi todo lo que he aprendido hasta ahora.
Los meses pasaron, y en diciembre de 2018, tras varios eventos desafortunados —como que me mandaran a comprar carnitas o servir de chofer para jefes que se pasaban de copas en sus juntas—, tomé una decisión. No quería soportar más abusos laborales. Todo esto por un sueldo de apenas 9,500 pesos al mes, sueldo de por sí ya bajo en esos años.
Harto de los abusos y con un sueldo que no justificaba el esfuerzo, supe que tenía que salir de ahí. Pero el camino hacia mi meta de trabajar en sistemas embebidos aún estaba lleno de curvas. Lo que vino después me enseñó que, en esta vida senoidal, cada caída te prepara para el siguiente salto.
Mi primer trabajo como desarrollador de software embebido
En enero de 2019, con mis cursos de edX terminados y mi inglés algo mejorado, empecé a enviar mi CV a cualquier vacante que encontraba. Finalmente, lo logré: una pequeña empresa de la Ciudad de México, Code Ingeniería (que, hasta donde sé, ya cambió de nombre), me contactó.
Comencé a trabajar en los tiempos de mayo, cuando las rosas floreaban. Viajar a la gran capital fue una experiencia increíble; el ambiente era justo como lo había soñado. El trabajo era ameno, retador y lleno de aprendizaje. Me tocó trabajar con tecnología de punta de NXP, específicamente los procesadores i.MX 8 en sus versiones Quad Max y Quad X Plus.
El desafío fue enorme, pero emocionante. Aprendí a construir imágenes de Linux embebido con Yocto Project y a desarrollar aplicaciones para los MCUs Cortex-M4 integrados en el mismo SoC del i.MX 8. No me quejo para nada; el ambiente era colaborativo, con sesiones de embedded labs donde los equipos de hardware y software compartíamos conocimientos, exponíamos aciertos y fallos, y, de paso, disfrutábamos café con pan.
El sueldo, de unos 20,000 pesos al mes, era bueno para mis estándares. Pero, como en esta vida senoidal, todo cambió el 19 de marzo de 2020, cuando el COVID-19 comenzó a expandirse descontroladamente en México. Pasamos al home office y, poco después, llegaron los temidos despidos por la pandemia. Como parte del equipo de Investigación y Desarrollo, un departamento que no genera ingresos inmediatos y es costoso de mantener, fui de los primeros en ser recortado. No fue por cuestiones técnicas, sino por un análisis económico. Me liquidaron en mayo de 2020.
Dextra Technologies llegando a la madurez
El 2020 fue un año duro, pero me permitió reconectar con mi familia después de años fuera (me fui de casa en 2010). Tras meses de incertidumbre, con un mercado laboral prácticamente detenido por la pandemia y empresas exigiendo “lo mejor de lo mejor” para el nuevo modelo de home office, logré conseguir un empleo en diciembre. No sin antes enfrentar más rechazos de empresas como Bosch, Continental, Capgemini y Alten, siempre por las mismas razones: experiencia, inglés o simplemente “no encajas”.
A finales de 2020, me uní a Dextra Technologies, una empresa en Monterrey. Trabajé unos meses desde Oaxaca en home office antes de mudarme. No me quejo de Dextra: todo estuvo chido. Hice grandes amigos y enfrenté retos técnicos que, aunque exigentes, ya no se sentían tan abrumadores. Participé en un proyecto para un cliente en Guadalajara, una empresa conocida en la industria automotriz por sus llantas (que, irónicamente, me había rechazado en dos procesos de selección por motivos que nunca entendí).
Mi trabajo consistió en desarrollar para una ECU, el sistema principal de comunicaciones de un vehículo. Fue una experiencia muy enriquecedora, ya que el proyecto involucraba múltiples departamentos: hardware, software, sistemas, mecánica y testing. Tuve la oportunidad de interactuar directamente con el cliente, un importante conglomerado automotriz de Europa y Estados Unidos.
En esta etapa, apliqué casi todos mis conocimientos en lenguaje C, aprendí normas para codificar de forma clara y prevenir errores, gestioné requerimientos y profundicé en el protocolo de comunicaciones CAN, desde los circuitos hasta el manejo de bases de datos. Fue una etapa de madurez profesional: por fin sentía que estaba a la altura de mis sueños.
Dextra era un gran lugar para trabajar. El sueldo inicial fue de 28,000 pesos brutos, y al final casi lo dupliqué, además de contar con bonos, incentivos, home office y hasta taquitos los viernes al fin de mes.
En esta empresa, pasé de ser desarrollador junior a estar a punto de alcanzar el nivel senior. Mi desempeño fue sólido, y el cliente estaba muy satisfecho con el trabajo de mi equipo. Comencé implementando código con la guía del líder técnico, luego me convertí en integrador de software y encargado del desarrollo de ciertas variantes del proyecto. Eventualmente, lideré a los nuevos reclutas (del lado del cliente), instruyéndolos en el proyecto y capacitándolos en el uso de herramientas que había dominado. Incluso me tocó enfrentarme a sus jefes cuando les asignaban tareas poco útiles. Estoy orgulloso de mis “padawanes”: varios de ellos son ahora líderes técnicos con sus propios equipos.
Más adelante, me uní a un proyecto más pequeño, pero no menos retador, para desarrollar un módulo de frenos. En el equipo, nos llamaban “los bomberos” porque resolvíamos problemas complejos bajo presión. Las tareas que me asignaron eran desafiantes, pero logré completarlas con éxito, aunque me tomaron tiempo.
Sin embargo, como dice el dicho, la historia no se repite, pero a veces rima. Dextra creció tanto que fue adquirida por una compañía mucho más grande. Al parecer, los sistemas embebidos no eran su prioridad. Poco a poco, los proyectos disminuyeron, y me integré a un equipo de desarrollo interno donde programaba microcontroladores STM32 y trabajaba con tarjetas Raspberry Pi. Todo parecía ir bien durante algunos meses, pero al final el departamento de sistemas embebidos fue cerrado. Nos liquidaron a todos hace poco más de un año.
Las vueltas de la vida
Una vez más, busco oportunidades activamente, pero no se presentan. Las vacantes para desarrolladores de sistemas embebidos son escasas, y creo que esto se debe a varios factores: el duro golpe que la industria automotriz asiática está dando a las marcas americanas y europeas, el entorno geopolítico intenso que vivimos y, sobre todo, la crisis que la industria tecnológica ha enfrentado desde hace más de un año.
He aplicado a varias vacantes en mi ciudad, ya que, por motivos personales, no puedo moverme por el país como hace algunos años. Sin embargo, el mercado laboral está muy competido, y de las pocas oportunidades a las que he aplicado, por alguna razón, me han dejado fuera.
Ahora cuento con habilidades de liderazgo, integración de software y toma de decisiones. Mis conocimientos técnicos son amplios: domino lenguaje C, Bash, Linux, y conocimientos de Autosar, CAN, DOORS, análisis de hardware, depuración de software y muchas otras competencias que he acumulado en mis años como ingeniero de sistemas embebidos. Aun así, no he logrado conseguir entrevistas; pareciera que mi currículum no pasa del filtro de Recursos Humanos.
Al momento de escribir estas líneas, solo he tenido cuatro entrevistas con reclutadores, y solo una parece prometedora para llegar a una entrevista técnica. Si la situación no mejora, estoy a punto de regresar a la talacha electromecánica, algo que no me entusiasma, pero que podría ser necesario.
Tratando de contestar la pregunta que da título a este post:
¿Y ahora qué necesito?
Al parecer aún me falta mucho que aprender tal vez FreeRTOS, Contenedores, lenguajes de alto nivel como Java o Python o tal vez cambiar de carrera profesional.
Escribo estas líneas para compartir mi historia y explicar por qué creé este blog: para dejar un registro de las lecciones que he aprendido, con la esperanza de que sirvan a quienes enfrentan retos similares, y como un portafolio de lo que soy capaz de hacer.
Sin más por ahora, me despido.