Overview
- 8 years' experience working as a software defined radio (SDR) and digital signal processing (DSP) specialist in the homeland security and space areas.
- 25 years' experience working with software: developer, Q&A team leader, architect, director and professor. My strength is in hardcore process optimization, multi-threading and networking.
- 9 years' experience managing software development teams, up to 15 people.
- Passionate, curious, pragmatic. My strategic plan is called "doing things."
- International working experience in three continents.
- Strong in getting the best out of a team and doing more with limited resources.
- Love challenges and difficult problems, I haven't found any in my professional career that I couldn't get to its root.
- Stay calm and never lose control even in the most stressful situations.
- Empathetic personality with great communication and people skills.
- Foremost, I always put my employer's interests first.
Education
M.S. in Software Engineering
GPA: 4.0. Thesis: “A Comparison of Black-Box Models for Software Evolution.”
GRE quantitative 800, analytical 800.
Ingeniero Técnico de Telecomunicación (Electrical and Electronic Engineering)
Thesis awarded with an excellence distinction.
Work experience
DSP & Software Engineer
- Currently advising top-level management on the roadmap to improve satellite-to-ground communications.
- Leading DSP engineering on two of Spire's payloads. I have implemented a state-of-the-art demodulator with near optimal performance, running on the satellite's commodity SDR hardware.
- As a first in the nanosatellite industry, I have implemented and demonstrated a machine learning DSP algorithm running on an embarked GPU.
Principal Engineer, Advanced Solutions Division / Technology Product Office
- Led the SDR and signal processing domain at the company product office. I have contributed to multiple homeland security projects, mainly focused on radio frequency signal detection, analysis, direction and location finding.
- Implemented from scratch a heavily optimized software system for digital down conversion using the Intel AVX2 assembly instruction set. It outperforms FPGA implementations running on a general CPU ten times cheaper.
- Engineered a complete product for the detection of frequency hopping and OFDM signals under the noise floor running on inexpensive COTS hardware.
- Built a complete direction finding system that processes in real time 300 million IQ samples per second using a COTS multicore Intel CPU.
- In charge of the architecture of the software platform for sensor aggregation, analysis and user interface. Currently supporting more than 12 sub-systems including radars, video analytics, RF signal detectors, RF direction finders, acoustics, etc.
- Directed the development of a signal detection system based on machine learning techniques running on GPU.
- These developments helped my division to establish a new multimillion-dollar product line that is being marketed now internationally.
Associate Professor, Telecom Engineering Department
Taught the course “Computer System Engineering,” a senior course on distributed systems. Part-time job, simultaneous to my duties with Agnitio.
Agnitio is a voice biometrics company, with products aimed at forensic labs, homeland security and intelligence organizations.
Director of Software Development
- Responsible for the products’ software architecture, the strategy on the technologies and methodology used, the development plans and the quality of the deliveries.
- Liaised with the research team, I had the opportunity to interact with some of the world's top scientists in speech processing. My duty was to coordinate the construction of high performing biometric engines from their Matlab prototypes and PoC.
- Unified products into an integrated architecture founded on C++ and Java. Established a continuous integration system and metrics dashboard.
- Imbued a value-driven culture, based on incremental deliveries. Recovered the confidence of the company in the team and its motivation.
- Created new product lines targeting from mobile platforms to server farms. Obsessed with performance optimization, we met consistently the company roadmap deadlines.
- Appraised and managed external contractors. Worked with final customers, providing technical communication and training.
ISBAN is the IT branch company of the Santander bank. The Banksphere Lab provided a software development framework to the +6,000 developers in the group.
Development Team Leader/Product Manager, Banksphere Lab
- Responsible for the Vega tool, a key component of the framework. It's a graphical model-driven tool used to define business and presentation processes. Based on Eclipse, composed of +5,000 Java classes. It produced J2EE artifacts (EJBs, Java code, web applications) and messaging standard descriptors (WSDL, XSD) following the designed processes.
- Prepared Vega’s yearly product plan and made it happen. Defined the long-term evolution of the tool.
- Counted with a team of 13 developers and architects. I was able to help them develop their professional careers in the company.
- One key success factor was the development of healthy relationships with the support team and final users.
Consultant, Quality Assurance Department
- Assigned to improve the quality of Banksphere, elaborated standards to guide the design and implementation of this platform.
- Prepared an audit for Isban’s higher management regarding the applications development cycle and suggestions for improvement.
Lubbock, Texas, USA
2001 – 2004
Lead Analyst, Information Systems Architecture Team
- Defined the architecture and technology platform for the web applications at the TTU System. Reviewed and validated the design of every application. Defined and selected standards, technologies, and tools common to the department.
- Facing a critical performance problem on the university’s web portal, after a month of work, we had multiplied its throughput by five. Among other issues we identified concurrency bugs in some Apache components and contributed with its resolution to the maintainers.
- Participated in the selection and deployment of the university’s SSO (single-sign on) technology.
Applications Architect, Software Development Group
- Took part in the complete life-cycle of several web applications for the campus community: negotiation, requirements gathering, analysis, design, data modelling, implementation, testing, deployment and maintenance.
- Some of the technologies/languages I employed were: XML/XSLT, J2EE, .NET, PHP, and Perl. As databases I used Oracle, DB2, and SQLServer.
- Developed the first successful campus web application based on Java/Struts, becoming the reference architecture.
Research Assistant, Software Engineering Department
Re-engineered an undocumented +200,000 COBOL application that forecasted class demand into a Java/ASP functional equivalent.
HR and payroll software company.
Software Quality Department, Team Leader
- Started a new team inside the Q&A department challenged with the automation of repetitive testing tasks and systematic stress testing.
- Managed a team of 8 developers, none of which resigned during this period (the company’s annual personnel turnover was over 30%).
- Progressed from an all-manual testing scenario to more than 60% of the testing performed automatically. Besides, the team came up with several highly innovative testing tools. Together we achieved a significant cultural change in the company.
Applications Analyst, C++ Technical Leader
- Participated in the design of the company’s next generation of products, hand in hand with the company CTO.
- Designed and implemented the data access interfaces for our proprietary core middleware. Designed multiple APIs. Multi-threading programming, scalability, performance, multi-platform compatibility (Solaris, AIX, HP, and Windows NT), and database independence (Oracle, SQLServer, Informix, Sybase, etc.) were key features.
C++ / Visual Basic Developer
Participated in the design and implementation of the first MVC application in the company. The architecture was a success and had a strong influence over the next generation of products.
Valladolid, Spain
1993 – 1995
Research Assistant, Electronics Department
Together with a colleague designed and implemented from scratch a C++ software suite of interactive graphical tools for the simulation of arbitrary physical and control processes, modeled as a system of differential equations.
Valladolid, Spain
1990 – 1993
Technical Support Service
Supported my college education repairing electric appliances during summer breaks.
Publications
- “Software Evolution from a Time-Series Perspective.” Proceedings of the International Conference on Software Maintenance ICSM 2002, 3-6 October, 2002, Montreal/Canada. IEEE Computer Society, pp 226-229.
- Published a video game in 1986 in a national computing magazine. It was an arcade written in Basic and Z80 assembly language.
Conferences
- “QA Open-Source Tools: Bugzilla Test Runner.” QA&TEST 2005, International Conference on QA & Testing for Embedded Systems. October 2005, Bilbao/Spain.
- International Conference on Software Maintenance ICSM 2002, October, 2002, Montreal/Canada.
- Attended EclipseCon 2008 in Santa Clara, CA.
Courses
Workshop on Machine Learning for Data Science.
Open-source projects
Repository with a few of my personal projects: some work in progress on an improved AIS SDR system and a major contribution to the popular DSD APCO25 SDR decoding software.
Web-based test case and quality plan management system that works as an add-on over Bugzilla, a popular open-source bug-tracking system. It was written in Perl, used AJAX and MySQL/Oracle.
A very rewarding experience, I enjoyed building the community and interacting with contributors from all over the world. The Mozilla organization took over the project when it realized its strategic interest.
JLint is a static Java code analyzer. This plug-in integrates JLint with Eclipse.