Redwood City, CA.
Engineer, Software Architect, and Scientific Application Developer with
project experience ranging from large distributed
server applications to real-time embedded avionics systems.
Experience in full-cycle mission-critical aerospace software design and
- Medium and high fidelity real-time flight simulation.
- Unmanned Aerial Vehicles (UAV),
Unmanned Aerial Systems (UAS). Unmanned Traffic Management (UTM).
Systems: mostly UNIX flavors, Linux, Mac OS (BSD Unix), Solaris.
Compiled languages: definitely Java; some C/C++ in the past.
languages used in the past: Perl, UNIX
- Regex, UML, XML and KML, HTML, a little SQL (mySQL).
- Java Native Interface (JNI). JavaFX (UI). Some openGL-Java graphics (JOGL).
- Frameworks: Vaadin. Protocol Buffers.
Matlab (as a control system design tool), GIMP.
- DevOps: ANT, GIT, Maven. Basic UNIX and Linux system administration tasks
installing servers, writing maintenance scripts (networking, repository admin,
Fluent in Spanish. Some French.
2017: Currently working independently and in collaboration developing
an Unmanned Aircraft Systems airspace-related software
application with a web front-end and a cloud back-end. My
responsibility in the project involves software architecture and
leading software development in
the following areas: STM framework integration, cloud-hosted aircraft
algorithms, P2P drone messaging, UAV / UAS / UTM / IoT / BVLOS drone
control, Vaadin UI development. Server software is written in Java 8.
2005 - 2016: NASA, Ames Research Center / Science
Applications International Corp. (SAIC).
Technical lead and software architect of the Unmanned Aerial Systems
Research Platform for
SimLabs group at NASA Ames Research Center. I am a member of a small team
that developed the Distributed Simulation Research Lab -a new
UAS-centric research facility. My focus is scientific software tool development and
research support for
the integration of UAS in the National Airspace. I
software to support the Virtual Airspace Simulation Technology (VAST)
framework for distributed simulations. Some of the applications I created:
Previously, I worked as an independent consultant and
developer for the UAS research facility of the Army Aeroflightdynamics
Division at NASA Ames Research Center. In that capacity I developed a
real-time multiple UAV dynamic model
simulation engine, and an integrated gateway interface to localized
guest simulations and to Federates in the DoD HLA
distributed simulation framework. I developed the UAV flight dynamics
algorithms using a modern control theory state-space approach, which
includes feedback systems (without the observability constraints) to
simulate the handling properties of various UAVs. Individual
UAV models can be configured via XML properties files. Both
applications were written in Java and the algorithm development was assisted using Matlab/Simulink.
- Unmanned Aircraft Systems Research Platform: a distributed
software application that provides communications, visualization
support, and a research development framework for the Distributed
Simulation Research Lab (DSRL) of the SimLabs group at NASA Ames
- Remote User Monitor Service RUMS: a web application that provides
the capability to follow the progress in real-time of a simulation
taking place in the DSRL. In addition to the monitoring capability,
RUMS provides other services to remote users, researchers, and
stakeholders in a distributed Live-Virtual-Constructive simulation
- Air traffic visualization tool for Google Earth.
- Vast Management
Tool (VMT) which is an application that can integrate the control,
configuration, and monitoring functions for the VAST project in the
style of a command-control-communications center. The VMT is a Java
application with a UI written with the SWT GUI API.
Server which is a also a Java VAST application component that
externalizes and provides
targeted XML/XSLT processing services to VAST clients running legacy
Translation Engine (ATMTE) application, which is an integral part of an
Surface Management System research simulator at NASA. The ATMTE
middleware application is a specialized message router and translator.
Mentored University engineering student summer interns. Managed development projects for interns.
Recent publications: RUMS - real time Visualization and Evaluation of Live, Virtual, Constructive Simulation Data. (AIAA 2015).
2004: Worked part-time as an independent consultant.
Perl/CGI/MySQL web programming (created 2
websites, one with databases). Gained experience using Matlab as
control system design tool. Wrote a market survey research
application in Perl.
1999 - 2003: eRide Inc.: San Francisco,
Founding member of the company and of the server products
group. eRide was a small company that developed
high-sensitivity/low-power internet-ready GPS receivers based on a
client-server platform optimized for operation over wireless
My work involved server software development. The
purpose of the server was to provide complementary information
processing (including differential corrections) to multiple clients
that hosted eRide's GPS receiver navigation platform. The server ran
several multi-threaded Java applications and the architecture was based on a highly
scalable distributed process model where tasks communicated via JMS.
As a member of the server development team I was responsible
the research, development, and implementation of key algorithms such
as linearized satellite orbit models, navigation solutions,
differential corrections integrity algorithms, server system
systems simulation, and a ground reference station management system. I
also performed experiment design, data collection and
analysis, solutions evaluation and
implementation on the server. Acquired experience integrating native
C client and Java server interface code and shared algorithms
using JNI. Experience in rapid-prototyping, testing, and proof of
concept applications (some perl, some shell scripts). Within the
company I was the only engineer responsible for developing and maintaining
server code on UNIX (Linux and Solaris) platforms. I have working
knowledge of basic Linux sysadmin tasks (OS-level maintenance, software
installation, makefiles using ANT, system builds, etc).
1999: NASA, Ames Research Center.
Raytheon STX and Sterling
Software: government contracts at NASA Ames Research Ctr. Moffett
Field, CA. - 94035
Principal Software Engineer, NASA Center-TRACON
Automation System (CTAS):
Lead for the Raytheon Aircraft Trajectory Synthesizer (TS)
- Hired and managed technical staff.
technical task plans.
- Developed algorithms, designed, coded, and
maintained TS software to adapt to changing
NASA CTAS research requirements.
Created, implemented, and tested a
successful OO software design for the TS problem domain in C++. CTAS was the recipient of the 1998 agency-wide NASA Software Of
The Year Award.
Standardized Wind Tunnel System:
and maintained system and wind tunnel test-specific software for a
large real-time data acquisition and analysis system. Achieved
on-schedule delivery and a record of zero-defects for production wind tunnel
test software during my entire involvement with the project (3
Advanced Concepts Flight Simulator (ACFS):
for development of mission-critical software for experiments on the
ACFS platform, including software specification drafting and
coordination with NASA research staff. I was responsible for the
creation, adaptation, and integration of real-time Flight Management
System (FMS) Software for the ACFS which included the creation of an
FMS navigation database, design and coding of cockpit Control Display
Unit functions and pages, maintenance of an ACFS/FMS interface.
Improved software for the flight plan manager functions, directional
navigation functions, and communications data buffers. Provided
software improvements and support for Data Link and other air traffic
avionics experiments on the ACFS.
Inc. Sperry Commercial Flight Systems Group, Phoenix, AZ.
Senior Project Engineer.
DAC MD-11 Automatic Flight
Systems Validation Facility:
Developed the software necessary for
the FAA certification of production Flight Control Computer (FCC)
autoland system software.
Participated in FAA certification
process. Designed and coded an integrated flight envelope support
environment database, simulated sensor fault insertion capabilities,
simulated autopilot functions, and test automation support for
DAC MD-80/87 Digital Flight Guidance Software
Responsible for designing and upgrading various
flight guidance and autoflight functions such as autoland filters,
auto throttle functions, and Flight Mode Annunciator functions.
Embedded system code was in SDP118, 8-bit assembly. Acquired
experience in on board flight tests of FCC production software at the
DAC test facility (Yuma, AZ), and in the use of flight simulators as
FCC software validation tools.
San Francisco State University.
M.S. Aerospace Engineering.
University of Michigan. Flight Dynamics / Satellite Controls.
Aerospace Engineering. Boston University.