Software engineer with solid background in embedded software development. Delivered reliable and optimized software solutions, contributing to successful product launches. Demonstrated proficiency in debugging and real-time operating systems, showcasing problem-solving and analytical skills.
Overview
24
24
years of professional experience
1
1
Certificate
Work History
Embedded Software Developer
Stoneridge, Inc. TED DE MEXICO
02.2018 - 05.2025
Designing, coding, and testing embedded software solutions in C/C++, I have contributed to the successful delivery of complex systems in a global development environment.
I advanced my career from a mid-senior software developer role to a senior software position.
I worked on a sophisticated camera monitor system project, leveraging modern tools such as Docker, Nexus, Jira, and Bitbucket (Git) to ensure high software quality and maintain robust version control.
As a technical lead, I have led teams of up to 6 engineers, providing guidance, coordinating development tasks, and facilitating a collaborative and high-performance work environment.
I also have strong expertise in ASPICE and ISO 26262 standards, ensuring that safety-critical and automotive software processes meet industry compliance requirements.
Mentored junior developers in best practices for embedded programming.
Optimized existing components, resulting in improved system maintenance. Several components were reduced by up to 50% of their original size.
Collaborated with software, firmware, and hardware engineers to develop complete embedded solutions.
Modified existing code to replace problematic functions with optimized content.
Utilized version control systems such as Git to effectively manage code changes and maintain a clean, organized codebase.
Maintained documentation of software designs, enabling efficient knowledge transfer within the team and easier future updates.
Analyzed existing components for potential inefficiencies, implementing fixes to improve overall system performance and security.
Tested the functional compliance of company products.
I contributed to the design and instruction of various courses related to the mechatronics engineering field, including programming, PLCs, and control systems. My focus has always been on ensuring that students develop the competencies and skills outlined in the university curriculum.
Courses: C/C++ Programming, PLC Programming, LabVIEW, Robotics, Computed Control Systems, Industrial Networks, Industrial Communication Protocols, Neural Networks, Fuzzy Logic
Evaluated student performance through assessments, providing constructive feedback for improvement.
Collaborated with academic departments to ensure alignment of course objectives with institutional goals.
Integrated technology into the classroom to enhance learning experiences and student engagement.
Promoted a positive learning environment by establishing clear expectations and maintaining consistent classroom management techniques.
Tracked student progress.
Optimized day-to-day instruction to align educational strategies with industry best practices.
Teaching more than 10 mechatronic-related courses.
Software Developer
IvisionX, Florida. USA
07.2015 - 05.2019
I built medium-sized web applications utilizing Elasticsearch to deliver faster and more efficient search capabilities.
Additionally, I developed web applications using SQL databases and responsive web interfaces.
Established coding standards and guidelines, ensuring high-quality deliverables across projects.
Collaborated with stakeholders to define project requirements, aligning technical solutions with business objectives.
Conducted architecture reviews to identify risks and recommend improvements.
Enhanced software performance by identifying and resolving system bottlenecks.
Improved user experience with intuitive interface designs, adhering to best practices in UX/UI principles.
Participated in weekly meetings with the client to discuss project direction and milestone achievement.
Managed project scope, schedule, status, and documentation.
Participated in the system development life cycle from requirements analysis through system implementation.
Designed, developed, and tested a travel and tourism agency system in Java, integrating with the renowned Amadeus GDS via SOAP web services.
Ensured high product quality by applying standard tools and practices, including JIRA for project management, Bitbucket for version control, and Apache JMeter for performance testing.
Developed comprehensive documentation on system architecture and design principles.
Collaborated with stakeholders to gather requirements and translate them into functional specifications.
Adoption of cloud-based services for increased scalability, flexibility, and cost savings.
Optimized database structures for improved query performance, resulting in faster response times for end users.
Managed project planning, resource allocation, scope, schedule, status, and documentation.
Reduced software defects by implementing quality assurance procedures, including code reviews and automated testing frameworks.
Improved user experience with intuitive interface designs, adhering to best practices in UX/UI principles.
Managed the full lifecycle of software projects from conception to deployment, ensuring timely delivery within budget constraints.
Participated in weekly meetings with the client to discuss project direction and milestone achievement.
Managed project scope, schedule, status, and documentation.
Manage a software team of up to 5 developers.
Skills: Java. SOAP. API, Amadeus GDS, MongoDB, HTML, CSS, Bootstrap, Javascript, jQuery. Mercurial, Jira, Bitbucket, Teamwork, Problem-solving, End to End Testing.
Led cross-functional teams in developing innovative software solutions aligned with business objectives.
Software Developer
Administradora de Proyectos S.A. Monterrey, Nuevo León.
07.2017 - 11.2017
Up Software developer using PHP and MySQL.
Optimized application performance by conducting regular code reviews and refactoring when necessary.
Identified system bottlenecks and optimized performance through targeted code enhancements and refactoring initiatives.
Improved software efficiency by troubleshooting and resolving coding issues.
Saved time and resources by identifying and fixing bugs before product deployment.
Improve the maintenance, clarity, and performance of the legacy project by 25%.
Software Developer
BA Managment Consulting Incorporated, Edmonton. Canada
07.2006 - 10.2016
Design, develop, and test software for intranet and internet websites using SQL databases based on Microsoft technologies.
I advanced my career from a software developer role to a software architect position.
Migrated legacy systems to modern platforms, ensuring seamless integration.
Mentored team, sharing skills and expertise, and encouraged each member to bring forward ideas and suggestions for improvement.
Optimized database structures for improved query performance, resulting in faster response times for end users.
Created migration strategies to bridge development gaps between the existing software architecture and future updates.
Executed application database upgrades, backups, and restore duties.
Wrote and maintained custom scripts to increase system efficiency and performance time.
Universidad Tecnológica de La Habana "José Antonio Echeverría", CUJAE, Habana. Cuba
07.2001 - 07.2015
I began my career as a research assistant in the Department of Automation at the Faculty of Electrical Engineering.
Over more than twelve years, I gained extensive experience in research, teaching, and engineering through various theoretical and practical projects in collaboration with different industrial partners. During this time, I earned both my Master's and Ph.D. degrees.
I also held multiple positions of increasing responsibility, eventually becoming the deputy head of my teaching department.
Courses: C/C++ Programming, Software design, Microcontrollers, MATLAB, Control Systems.
Teaching more than 10 courses.
Oversaw administrative operations, optimizing resource allocation for improved departmental efficiency.
Collaborated with faculty members to develop lesson plans that incorporated differentiated instruction techniques to meet diverse learning needs.
Developed strategies to improve student behavior school-wide and help teachers better manage classroom environments.
Organized individualized behavior improvement plans for students struggling with compliance.
Verified student grades, attendance and schedules.
Performed classroom evaluations to assess teacher strategies and effectiveness.
Monitored student progress and implemented intervention strategies to support student success.
Monitored and evaluated educational programs to maintain high-quality performance objectives and standards.
Developed and coordinated after-school programs and activities.
Research Assistant
Universitat Politècnica de València (UPV), Valencia. Spain
05.2007 - 01.2012
As a research assistant, I conducted in-depth investigations on the performance of control systems in resource-constrained environments, such as embedded systems. I systematically used MATLAB for modeling and simulating control systems, as well as for implementing parallel programming techniques.
Conducted literature reviews to support research projects and enhance data accuracy.
Participated actively in regular meetings with fellow researchers to discuss project updates, challenges faced, and lessons learned during ongoing activities.
Organized research materials, maintaining a well-ordered workspace conducive to productivity.
Contributed to the publication of research articles in peer-reviewed journals, showcasing expertise in various topics.
Conducted extensive literature reviews to support ongoing research projects, significantly expanding the team's knowledge base.
Worked on 2 research projects and published more than 3 conference papers.
Education
PhD - Embedded Control Systems
CUJAE
La Habana, Cuba
01.2012
Master - Software engineering
CUJAE
La Habana, Cuba
01.2005
Engineer - Automatic engineer
CUJAE
La Habana, Cuba
07.2001
Skills
Embedded C/C programming
Microcontroller and drivers
Real-time system
Software testing
Full-stack web development
Database design and maintenance
SCADA, LabVIEW, and PLC programming
MBD, Matlab & Simulink
Control system design
Version control systems
Problem-solving
Teamwork
Certification
Yellow Belt Certification. EFESO consulting (Issued August 31th, 2022)
Model-based development of embedded software in compliance with ISO 26262: Challenges & Effective Solutions (Issued July 2018), IACET ACCREDITED PROVIDER #1003713.
Certified LabVIEW Associate Developer, CLAD (Expired Jun 2018)
Languages
Spanish
Bilingual or Proficient (C2)
English
Upper intermediate (B2)
Timeline
Embedded Software Developer
Stoneridge, Inc. TED DE MEXICO
02.2018 - 05.2025
Software Architect
Codefocus, Florida. USA
12.2017 - 08.2018
Software Developer
Administradora de Proyectos S.A. Monterrey, Nuevo León.
07.2017 - 11.2017
Software Developer
IvisionX, Florida. USA
07.2015 - 05.2019
Instructor
Tecnológico de Monterrey, Ciudad Juárez, México
02.2013 - 12.2020
Research Assistant
Universitat Politècnica de València (UPV), Valencia. Spain
05.2007 - 01.2012
Software Developer
BA Managment Consulting Incorporated, Edmonton. Canada
07.2006 - 10.2016
Deputy Head of Teaching Department
Universidad Tecnológica de La Habana "José Antonio Echeverría", CUJAE, Habana. Cuba
07.2001 - 07.2015
PhD - Embedded Control Systems
CUJAE
Master - Software engineering
CUJAE
Engineer - Automatic engineer
CUJAE
Publications
Eileen Cardoso, Adel Fernández, Sergio A. Marrero-Osorio, Pablo F. Guardado, "Kinematic and Dynamic Models for a 4-DOF robot ", RIELAC, Vol 3, 2017, ISSN: 1815-5928.
A. Fernández, O.Llanes-Santiago. “A proposal for the management of resources in an embedded control system: The control kernel”. RIAI, Vol 8, Num1, January 2011. ISSN: 1697-7912.
P. Albertos, A. Crespo, J. Simó, A. Fernández; “Control co-design: Algorithms and their implementation”; Lecture Note and Computer Sciences, Vol. 6106, Subseries: Programming and Software Engineering ISSN: 0302-9743, pp. 19-40, 2010.