
David Munoz Constantine
Embedded Software Engineer
work Square
local_library M.S. in Computer Science. AI and ML concentration
email dmunoz.dmc [at] gmail.com
local_phone (503)-862-6985
place Portland, OR, USA
<code> hello world </code>
I am an embedded software engineer at Square. I have eperience in many areas of the development cycle. I have written assembly and low level c code for microcontrollers, all the way to the high level UI and UX experiences for websites. I have developed many web applications using Ruby on Rails (this site was built using RoR). My constant itch to learn and challenge myself has taken me through many fields ranging from IT, product/hardware development, web development, writing modules for the fifth most popular algorithmic-trading python package (mlfinlab), working as a machine learning engineer at Intel, and building great products at Square.

3+ Years of Professional HW Experience
1 Year of Professional SW experience
5 internships completed
3 coding competitions completed
Skills
Software
- Python
- Ruby
- C
- Javascript/CSS/HTML
Frameworks & Technologies
- Ruby on Rails
- Keras
- Git
- Arduino
Competitions
- ACM Programming Contest (2015)
- MIT Battlecode (2019)
- Women Who Code Hackathon (2019)
- Professional Tennis
Experience
done Using various technologies and programming languages, I am porting Android OS to Square's point of sale devices.
done Using Python, I implemented and tested various feature extraction functions for unstructured log files. This included analysis of millions of lines of log text and closely working with domain experts to extract relevant features.
done Using data science techniques, I analyzed, visualized, and formatted the most important features from the log files for them to be used in a machine learning classification model.
Researcher
August 2020 - October 2020 October 2020 - Present
done Using Python, I read, implemented, tested, and wrote documentation for leading research publications in machine learning and data science. It resides in their open-source python package, mlfinlab which has 2k stars in Github.
done Tests were written using the unittest framework. Documentation was written on Sphinx’s Read the Docs. Additional documentation and background knowledge was written in IPython notebooks.
done Design Lead. Modernized Teradyne’s proprietary system control board in charge of system-wide functionality and safety. Thoroughly validated it to guarantee reliability and backward compatibility due to the impact on their business.
done Resolved one of the biggest bottlenecks for the group. Experienced resources were underutilized due to their knowledge of outdated diagnostic tools for PCB validation. By developing and implementing a user-friendly interface, I was able to reduce debugging time by 300% and leverage our experienced resources on mission-critical tasks.
Education
Portland, ORSeptember 2018 - December 2020GPA: 4.00
M.S. Computer ScienceArtificial Intelligence and Machine Learning
Thesis: Forecasting Optimal Parameters of the Broken Wing Butterfly Option Strategy using Differential Evolution
Newberg, ORAugust 2011 - May 2015GPA: 3.30
B.S. Computer and Electrical Engineering
Senior Project: Precision Time Photography using FPGAs
Projects
Published Research
Differential Evolution Optimization of the Broken Wing Butterfly Option Strategy
Abstract: The Broken Wing Butterfly (BWB) has become a popular options strategy for traders. Profit is generated primarily by exploiting option value time decay. In this paper the selection of the option strikes to be used along with trade entry and exit parameters, such as time to expiration and profit and loss targets, are optimized using over a decade of historical option data of the S&P 500 exchange traded fund (symbol: SPY). The importance of selecting an optimal strike mapping method, by which strikes are assigned in any time period, is highlighted. Of the three methods considered, the normalized strike mapping method was found to be optimal. Optimization was performed using a differential evolution (DE) evolutionary algorithm. The objective function used for optimization considered final cumulative profit, volatility, and maximum equity drawdown while achieving a high trade win rate. A trade example is given to illustrate the use of the obtained results.
Master Thesis
Abstract: Obtaining an edge in financial markets has been the objective of many hedge funds, investors, and market participants. Even with today's abundance of data and computing power, few individuals achieve a consistent edge over an extended time. To obtain this edge, investors usually use options strategies. The Broken Wing Butterfly (BWB) is an options strategy that has increased in popularity among traders. Profit is generated primarily by exploiting option value time decay. In this thesis, the selection of entry and exit BWB parameters, such as profit and loss targets, are optimized for an in-sample period. Afterward, they are used to assess profitability during an out-of-sample period. The optimization takes place for over a decade of historical options data of the S&P exchange-traded fund (symbol: SPY). The importance of selecting an optimal strike mapping method is emphasized. Of the three mapping methods considered, the normalized strike mapping method was found to be superior. The optimization of the parameters was performed with a differential evolution (DE) evolutionary algorithm. The objective function to optimize took into consideration the strategy's cumulative profits and maximum equity drawdown. The out-of-sample trades' performance shows that information from past trades can be used to trade in the future successfully.
Progressive Web Apps Development
- Using Ruby on Rails, I built several web apps for personal use to challenge myself and learn new frameworks. - Used a material design theme, accessibility friendly design, UX, and PWA best design practices. - Built from the ground up and deployed in Heroku using AWS for serving images. - Using Rails’ built-in test environment, I designed tests and integration to verify all functionality. - My latest deployed site receives over 200 weekly visitors.
Artificial Intelligence Applications
- Using Python and Matlab, I implemented several machine learning algorithms to classify and predict data. - They include neural networks, k-means, k nearest neighbors, SVM, and reinforcement learning. - Used evolutionary algorithms to optimize various multi-dimensional and complex problems and functions. - Used complete and local state-space search to find solutions to NP-Complete problems.
- Low-Level Operating System Modifications
- Modified the Xv6 operating system source code to learn more about OS internals. - Using C, I added new system calls and a new file system protection scheme based on UNIX octal permissions. - Modified the processes scheduling algorithm from FIFO to a multilevel feedback queue scheduling (MLFQ) approach.