Seasoned engineer seeks position in a team responsible for developing embedded hardware and software solutions including BSPs, SDK APIs, and documentation.
|C/C++ bare-metal firmware programming (no-OS), interrupts, DMA, timers, cross-compiler toolchain, linker scripts, bootloaders, device drivers, system calls porting, file systems, embedded UI design, I2C, I2S, SPI, UART (RS-232), PWM, DAC, ADC, 8080/6800 parallel bus (memory mapped devices), Bluetooth (Classic/GATT), ZigBee, Wi-Fi, wireless mesh networks, GSM/GPRS/GPS (AT commands), TCP/UDP/IP, HTTP, USB (HID, MSC, CDC, Vendor); Embedded Linux board bring-up, Yocto, bitbake, Buildroot, BusyBox, U-Boot, TFTP/NFS network boot setup; RTOS, FreeRTOS, VxWorks.|
|Client/server and multithreaded programming using POSIX queues, signals, pthreads, mutexes, shared memory, pipes, stream sockets; familiar with use of USB (libUSB, hidapi, hidraw), Video4Linux (V4L), ALSA, LAME, ffmpeg (MPEG2, ASP/H264, VP8/VP9), WebM, bluez, GTK/Cairo, CUDA, bash/shell scripting.|
|Uses Schematic Capture and PCB Layout software to design Single Board Computers (SBC) and peripherals involving ARM Cortex-M SoC, ARM926, AVR, PIC, 8051, SRAM, SDRAM, NOR, NAND, Serial Flash, MMC, CompactFlash/SD Cards, Smart Card (SIM/ISO7816), Graphic Displays, CMOS Cameras, Audio CODECs, wireless modules, Ethernet PHY, PMIC, SPLD, I/O drivers, and sensors; creates Gerber and BOM files.|
|Familiar with use of DMMs, oscilloscopes, protocol/logic analyzers, JTAG flashers & debuggers, signal generators, microscopes, SMT prototype assembly, PCB rework, hot air and iron soldering.|
|Eclipse CDT, AtmelStudio (ASF), Visual Studio, EAGLE, IntelliJ, WindRiver vxWorks Workbench, Segger JLink JTAG tools, GCC ARM cross-compiler toolchains, GNU make, GNU binutils, GDB Server, VirtualBox, Linux, Windows, Cygwin, Jira, Git/GitHub, SVN, CVS, Photoshop, Adobe Premiere Pro, MS Office.|
2002 - Master of Science in Information Technology - Rochester Institute of Technology (RIT)
1995 - Bachelor of Science in Computer Engineering - University of Puerto Rico (UPR Mayagüez)
2015 - Embedded Systems Engineering Certificate (9cr/hr.) - University of Colorado (CU Boulder)
2013 - Embedded Android Boot Camp – Barr Group
2003 - J2EE WEB COMPONENT DEVEVELOPER Certification (SCWCD) - Sun Microsystems
2003 - JAVA PROGRAMMER Certification (SCJP) - Sun Microsystems
2002 - Advanced Interactive Multimedia Development Certificate (24cr/hr.) - Rochester Institute of Technology (RIT)
Bilingual: Fluent on both English and Spanish.
(05/17 - Present) Sr. Embedded Systems Engineer, Panasonic Automotive
(01/15 – 04/17) Embedded Systems Engineer, Self-Employed
Completed the Embedded Systems Engineering Certificate at the University of Colorado at Boulder. Used and studied numerous off-the-shelf evaluation kits, reference designs, schematics, and datasheets. Performed comprehensive studies of embedded design topics including Schematic Design, PCB Layout, and Signal Integrity (stack-up planning, decoupling, bypass, signal propagation, termination, ground bounce, EMI/EMC). Designed and built custom PCB boards using ARM9 and Cortex-M System-on-Chip (SoC) MCUs. Acquired hands-on experience in SMT assembly, PCB rework, prototyping, and use of lab test equipment and measuring tools. Configured cross-compiler toolchains, IDEs, SDKs, debuggers, and JTAG flashing tools to develop bootloaders, drivers, and firmware. Interfaced USB devices, graphic displays, audio codecs, NAND and serial flash memories, SD cards, and wireless modules based on Bluetooth, ZigBee, Wi-Fi, GSM/GPRS, and proprietary mesh networks. Ported open-source libraries such as FATFS, YAFFS2, libJPEG, libPNG, libZ, libMAD to the Cortex-M platform and also rolled up custom libraries to build user interfaces with custom graphics, fonts, and sound. Performed development in VxWorks, FreeRTOS, Embedded Linux, bare-metal firmware, drivers to interface hardware, and board bring-up tasks: kernel configuration using Buildroot and BusyBox, customizing the root file system, and setting U-boot to load and boot the kernel either from an onboard NAND UBIFS partition or over the network using TFTP and NFS servers.
(05/11– 12/14) Sr. Software Engineer, Cardinal Peak
(08/10 – 05/11) Sr. Software Engineer, Self-Employed
(2008 – 08/10) Sr. Software Engineer, Comcast Cable
Provided periodic support to intranet applications; task included Java development, front-end UI development, Oracle PL/SQL programming. Development tools included JDeveloper, Eclipse, Weblogic, Spring JDBC-Templates, Hibernate/JPA, Beehive, XMLBeans web-services, Struts2, Oracle ADF, Java Server Faces (JSF), CVS, SVN, and DOORS for bug tracking.
(2005 – 2008) Sr. Software Engineer, ASG Software Solutions
Developed tachyon, a lightweight MVC framework based on Java and JSP/Servlet technologies designed specifically for building AJAX applications. The framework included a comprehensive set of cross-browser UI widgets that enabled developers to quickly assemble rich desktop-like web application front-ends.
(2004 – 2005) Product Engineer, GUSDEX LLC.
Developed the GUSDex's Personal Business Center, a Software-as-a-Service (SaaS) solution to provide small business owners with tools to market their businesses online, publish their websites, track accounting expenses, create invoices, and use email. Worked as lead Java developer, graphic designer, and collaborated with content creation for marketing materials.
(2003 – 2004) Java Consultant Contract, Generation21
Provided development and support for Generation21's line of e-learning products. Performed code refactoring of their existing web-based product and migrated it from using a JSP-only design to use a scalable Model-view-Controller (MVC) approach. Enhanced application code and back-end database schemas to support UTF8 international character sets.
(1998 – 2003) Product Development Engineer, PaeTec Corporation
Created PL/SQL and Java libraries to ease development of web-based applications using the Apache mod_plsql Oracle (OWA) technology. Developed reusable APIs to support PaeTec's E-Commerce Portal applications: shopping carts, webmail apps, website publishers, chat rooms, discussion groups, administration pages, perform file uploads, and generate PDF reports.
(1996 - 1998) System Analyst, XEROX
Developed CGI-BIN web apps in C to support systems administration tasks; configured of UNIX and NT servers with NFS, NIS, DNS, SMTP, Oracle, SQL*Net, Java, CORBA, JDBC, IIS, ASP/ADO, SQL-Server, and ODBC. Configured Netscape Enterprise and RealAudio servers to deliver multimedia streaming content for corporate presentations and online training courses.