Software Engineer in Test @ Maintain test infrastructure for products with millions of users. Refactor java and c++ code for maintainability, testability, and performance. Integrate acquired products into the Google codebase. Develop functional and unit tests for servers and web clients. Advocate for agile processes and test driven development. From December 2008 to Present (7 years 1 month) Software Development Consultant @ Developed recommendation system to compete in Netflix Prize. Installed and administered Apache and mySQL on Fedora Core 8 Linux. Optimized SQL queries for database with 100 million records. Developed Perl/DBI scripts for interacting with database and plotting results(gnuplot). Installed and administered Subversion revision control system. From April 2008 to December 2008 (9 months) Software Development Consultant @ Alliance Labs
Developed automated test system for Tesla Motors automobile control module. Created Perl, expect, and shell script library of system test procedures; providing command line and TCP interfaces for testing discrete I/O and communication elements(RS-232, CAN, I2C) and programming system firmware.
Engineered Environments
Installed and administered SalesForce.com's Email2Case service on Windows Server 2003, using IMAP interface to MS Exchange server. Installed and administered Apache, PHP, mySQL, and MediaWiki on Windows Server 2003. Customized MediaWiki installation with graphics, access restrictions, tutorials, tool tips, and layout. Documented procedures for staff.
ClearPort
Assisted in design and system planning of networked digital media display. Assisted in design, planning, and prototyping of networked HD video distribution system based on C2 Microsystems CC1100 SoC. From July 2007 to December 2008 (1 year 6 months) Senior Software Engineer @ Responsibilities: Leading software development of LCos HDTV and process tools. Bringing up new hardware. Improving quality of products and development process.
Brought up main board featuring linux 2.6 kernel, Sigma Designs SMP8635 MIPS-based multimedia processor, and Gennum GF9450 image processor. Created GF9450 driver, control library, and OSD rendering library. Integrated TCP interface into system control software. Developed HDTV user interface, zoom modes, layout, picture controls, and input selection.
Ported system control firmware to new LCoS controller boards. Developed wxWindows application for FPGA configuration and system monitoring. Developed National Instruments CVI application for gamma and color tuning of 4-color LCoS optical engine. Developed calibration software for mass production of HDTVs. From September 2004 to July 2007 (2 years 11 months) Software Development Consultant @ Microdisplay
Ported LCoS controller board firmware. Added support for programmable clocks, ADCs, and DACs. Developed HDTV gamma calibration system. Created wxWindows controls.
Meda Systems
Developed RS-232 communication service for multi-room home media center. Developed C++/XSLT/MSXML generalized communication protocol parser/translator with HTML configuration interface.
ClearPort
Developed RS-232 communication interface for Monster HTPS 7000 power conditioner.
EmWare
Supported acquisition of Sage Systems IP. Debugged I2C communication, hardware resets, and web service interface issues. From January 2002 to September 2004 (2 years 9 months) Firmware Engineer @ Responsibilities: Developing software for home automation systems utilizing power line communication. Managing the software build process. Debugging hardware and software issues.
Developed 'smart' thermostats, light switches, POCSAG page receiver, and IP network gateway based on Microchip PIC16F and PIC18F devices. Constructed firmware drivers for page receiver, PLC modem, and I2C memory.
Developed PLC protocol with collision detection. Implemented test system with python scripts. Developed error correction algorithm for pages. Constructed command line tools for internal use.
Created Win32 RS-232 communication library with local and TCP interfaces. Created Windows application for reference usage of library. From August 2000 to January 2002 (1 year 6 months) Electromechanical Engineer @ Responsibilities: Developing software for PROM programmers. Maintaining existing software. Designing user interfaces and enclosures. Rapid prototyping of electro-mechanical systems.
Developed embedded 80486 boot code(assembly/C) and main application(C++) for high-speed SDRAM memory tester/FLASH module programmer. Constructed device drivers for LCD, UART, PCMCIA, ATA, and USB controllers. Integrated FORTH interpreter for rapid device programming algorithm development.
Designed PROM programmer enclosures and user interface. Drafted mechanical drawings in SolidWorks. Prepared graphics for sales literature.
Designed and constructed automated PCMCIA card handling system prototype. Drafted mechanical drawings. Developed system control software(C++) integrating optical/contact sensors and stepper motor actuators. Created PCMCIA card container.
Developed algorithms for programming FLASH memory. Designed SDRAM controller and CRC calculator using schematic entry and VHDL. From June 1996 to June 2000 (4 years 1 month)
MSME, Mechanical Engineering @ Stanford University From 1994 to 1996 BSME, Mechanical Engineering @ Stanford University From 1992 to 1994 transfer, Engineering @ California Polytechnic State University-San Luis Obispo From 1990 to 1992 Michael Moreno is skilled in: C++, Java, Linux, OOP, C, JavaScript, Python, Bash, Object Oriented Design, Embedded Systems, Design Patterns, Software Development, Distributed Systems, Agile Methodologies, Testing