david_florez_resumev7

7
David Florez Greater Denver Area www.linkedin.com/in/davidflorez [email protected] 619 333 0739 Citizenship: US PROFILE Architect / Senior Embedded Software Engineer with an extensive knowledge of the entire embedded systems development lifecycle, including current trends and best practices. Strong leader with a deep technical background, who has developed numerous products for top companies in the field. TECHNICAL SKILLS Languages: Proficient in C, C++, C#, Java and Assembly. Over ten years experience designing and implementing Object Oriented Designs for several platforms and frameworks, including Linux and Windows. Experience with .NET framework and solid understanding of Design Patterns, UML, XML, XSD and scripting languages: TCL/TK, Python, SWIG Interfaces. Real Time Embedded Operating Systems: Deep knowledge and experience developing for VxWorks, RT Linux, ThreadX, Integrity, Micrium (uC/OS), FreeRTOS, Linux and Windows XPE, both at the Kernel / Device Driver level and application domain. IO Interfaces: Broad experience with Networking protocols (especially TCP/IP) and buses/communication protocols PCI/PCI-E, USB, Firewire, Bluetooth, Gigablaze, Infiniband and Fibre-Channel. Experience with Control Systems and serial buses: I2C, SPI, CAN, 1-Wire interfacing with a wide array of peripherals (sensors, actuators, ADCs, DACs, EEPROMS) Processors: Arm, Mips, x86, PowerPc, 68000, XScale, Cadence Tensilica, Microcontrollers (68HC11, Pic, 8051, STR9XX). Also experience with programmable logic design (CPLD, FPGA). System-On-Chip: Sigma 86XX, Broadcom: 74XX, NXP: 89XX and Intel Canmore. Broad experience working with Symmetric and Asymmetric Multiprocessor Systems. Misc: Deep understanding of Operating Systems design and Linux kernel. Experience developing User Applications for Windows, Unix and Linux (Visual Studio .NET, Altium, IAR, Atmel Studio, GNU tools). Experience with real time debugging and analysis tools like in-circuit emulators, tracing probes, oscilloscopes and digital analyzers. Experience with Version Control software, CVS, Subversion, ClearCase and Visual SourceSafe.

Upload: david-florez

Post on 21-Jan-2017

97 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DAVID_FLOREZ_RESUMEv7

David FlorezGreater Denver Area

www.linkedin.com/in/[email protected]

619 333 0739

Citizenship: US

PROFILE

Architect / Senior Embedded Software Engineer with an extensive knowledge of the entire embedded systems development lifecycle, including current trends and best practices. Strong leader with a deep technical background, who has developed numerous products for top companies in the field.

TECHNICAL SKILLS

Languages: Proficient in C, C++, C#, Java and Assembly. Over ten years experience designing and implementing Object Oriented Designs for several platforms and frameworks, including Linux and Windows. Experience with .NET framework and solid understanding of Design Patterns, UML, XML, XSD and scripting languages: TCL/TK, Python, SWIG Interfaces.

Real Time Embedded Operating Systems: Deep knowledge and experience developing for VxWorks, RT Linux, ThreadX, Integrity, Micrium (uC/OS), FreeRTOS, Linux and Windows XPE, both at the Kernel / Device Driver level and application domain. IO Interfaces: Broad experience with Networking protocols (especially TCP/IP) and buses/communication protocols PCI/PCI-E, USB, Firewire, Bluetooth, Gigablaze, Infiniband and Fibre-Channel. Experience with Control Systems and serial buses: I2C, SPI, CAN, 1-Wire interfacing with a wide array of peripherals (sensors, actuators, ADCs, DACs, EEPROMS)

Processors: Arm, Mips, x86, PowerPc, 68000, XScale, Cadence Tensilica, Microcontrollers (68HC11, Pic, 8051, STR9XX). Also experience with programmable logic design (CPLD, FPGA). System-On-Chip: Sigma 86XX, Broadcom: 74XX, NXP: 89XX and Intel Canmore. Broad experience working with Symmetric and Asymmetric Multiprocessor Systems.

Misc: Deep understanding of Operating Systems design and Linux kernel. Experience developing User Applications for Windows, Unix and Linux (Visual Studio .NET, Altium, IAR, Atmel Studio, GNU tools). Experience with real time debugging and analysis tools like in-circuit emulators, tracing probes, oscilloscopes and digital analyzers. Experience with Version Control software, CVS, Subversion, ClearCase and Visual SourceSafe.

Page 2: DAVID_FLOREZ_RESUMEv7

PROFESSIONAL EXPERIENCE

Tensilica www.tensilica.com

San Diego, CA (June 2011 to present)Sr. Field Applications Engineer

Responsible for working directly with customers in key technical pre-sales and post-sales roles to provide architectural and design consulting on the best use of Xtensa CPU/DSP in a customer's ASIC design. Also responsible for supporting business development activities at key strategic accounts worldwide.

▪ Provide technical presentations, demonstrations, and evaluations of Tensilica products, and work closely with the field sales organization to achieve revenue targets.

▪ Fulfill a pre-sales role that includes providing technical insight about Tensilica products to prospects, optimization of customer's software code during an evaluation, and processor performance and implementation benchmarking or analysis.

▪ Manage technical accounts and champion customers’ technical issues within the company.

▪ Engage, with the assistance of the sales team, in business development activities in key strategic accounts worldwide.

Santa Clara, CA (May 2010 to June 2011)Sr. Applications Engineer

Member of the applications engineering team at Tensilica, with a focus on software development for Xtensa processors and usage of Xtensa software tools. The applications engineering team is responsible for the worldwide support of Tensilica customers, helping them use and integrate our microprocessor cores in their SoCs and develop software for these microprocessor cores. The team is also responsible for training customers on our tools and technologies, authoring application notes and other collateral that helps customers make effective use of our products.

▪ Be the applications engineering expert on Tensilica software development tools such as the Xtensa C/C++ compiler, linker, assembler and instruction set simulator.

▪ Be the applications engineering expert on writing, profiling, analyzing and optimizing software (application as well as driver level) for Tensilica processors.

▪ Work closely with other application engineers in supporting Tensilica customers with their advanced questions on software tools. Interact directly with customers as needed to achieve this objective.

▪ Develop customer training and help train customers and field application engineers on usage of our software tools.

▪ Help in authoring documentation and create and maintain a Knowledge Base on issues surrounding the software tools and their usage.

▪ Work closely with the R&D team to provide feedback on customer usage of software tools and requests for enhancements so that future products may better serve customer requirements.

Page 3: DAVID_FLOREZ_RESUMEv7

▪ Participate in testing of new products.

Becton Dickinson www.bd.com

San Jose, CA (September 2008 to May 2010)Architect & Senior Embedded Software Engineer

Working as a full time employee for BD’s Biosciences group, designing and developing embedded software for Flow Cytometers.

▪ Participated in requirements gathering and architecture design in an FDA and ISO regulated industry for medical and clinical devices.

▪ Designed and developed embedded software in C & C++ for STR912, ARM9 based Microcontroller, running µC/OS RTOS to govern a control system consisting in several sensors (Flow, Pressure, Temperature, Current) digital switches and actuators (Pumps, Valves, Lasers) involving DAC and ADC devices connected through RS232, RS485, SPI and I2C buses as well as raw GPIO ports.

▪ Used IAR IDE and toolchain on ARM Microcontroller and Visual Studio.

▪ Designed and developed .NET component in C# to interface Windows XPE controller with embedded subsystems through USB.

▪ Developed Bootloader for critical embedded subsystems, including fail safe Firmware Upgrade functionality.

▪ Designed Scripting Language for critical operations using XML description and XSD schema validation.

▪ Used JTag probes and Oscilloscopes to profile and debug embedded systems.

▪ Participated in Electronics design reviews to insure seamless Firmware / Hardware integration.

Hewlett Packard www.hp.com

Cupertino, CA (April 2008 - September 2008)Architect & Senior Embedded Software Engineer

Joined the Managed Home division in Cupertino as a Device Software Architect to help deliver a family of Digital Entertainment products that offer top-in-class user experience. www.mediasmarthome.com

▪ SW Architect for network connected (wired and wireless) HDTVs and Set-Top boxes (Digital Media Adapters) running uClinux on ARM core based SoC, with UPnP DNLA compliant capabilities, internet services ready and Microsoft Media Center Extender functionality.

▪ In charge of security strategy, encryption key management, DRM support, system health and diagnostics, network SW upgrade and Manufacturing SW processes.

Page 4: DAVID_FLOREZ_RESUMEv7

▪ Wrote architecture specifications and documentation and work closely with SW and HW integrators overseas (Japan, India and Taiwan) through weekly SW release process. Supervised QA testing and debugging/troubleshooting at the SW and system level.

San Diego, CA (July 2003 - March 2008) Barcelona, Spain (August 2000 – July 2003) Architect & Embedded Software Team Lead

Known for my technical expertise and problem solving skills, worked as a Senior Embedded Software Engineer in Barcelona (Large Format Printing Division) and then transferred to San Diego where I became Firmware Team Lead for HP's recently created Industrial Printing Division.

▪ Designed Embedded Software Frameworks and developed firmware (using C, C++, Java and Assembly) for several Microprocessor systems running Linux and diverse RTOS (ThreadX, VxWorks, Integrity) that interact with each other to deliver an optimum user experience.

▪ Led investigation to evaluate potential migration of Embedded Software Architecture from OS dependant implementation (VxWorks) to OS independent design. Defined kernel requirements and Hardware Abstraction Layer strategy.

▪ Architected and built a Linux based Architecture (OO Framework, kernel and device driver model, middleware and app utilities) in C/C++ and Java to support HP's proprietary chipset. This Architecture is currently used by several HP printing systems divisions worldwide. Provided worldwide training and support to groups within HP and external OEM partners.

▪ Ported this Architecture from Linux Kernel v2.2 to v2.4 and finally to the highly redesigned v2.6. Helped porting this Architecture to Integrity and ThreadX RTOS.

▪ Worked extensively with RedHat and Montavista Carrier Edition Linux distributions and gained broad experience on Linux configuration, maintenance and system administration.

▪ Technical lead for the Embedded Software team, local and remote (India), including schedule management and task assignment. Also interacted frequently with the Electrical Engineering team and participated in system design reviews to ensure Electronics-Firmware seamless integration and optimized efficiency.

▪ Completed several product development cycles (consumer, office and productivity printers) and worked on all phases of software development lifecycle, including custom ASIC design.

▪ Participated in cost reduction exercises, defect tracking, on-the-field troubleshooting and firmware upgrade strategies.

▪ Represented the Software team in cross discipline efforts to ensure design that allows for platform leverage across product development cycles.

IBM UKwww.ibm.com

Winchester, UK (Jan 1998 - August 2000) Embedded Software Engineer

Worked as a Embedded Software engineer for the Storage Systems Division at Hursley Laboratories in Winchester http://www.ibm.com/storage/europe/uk/index.html, developing high performance and fail safe HDD controllers for Unix and PC servers.

Page 5: DAVID_FLOREZ_RESUMEv7

▪ Designed and Implemented test tools and user interface applications using C/C++ for Unix (Aix) and Windows NT platforms.

▪ Designed, configured and maintained test stands, involving Windows NT and RS/6000 (Aix) clusters using TCP/IP over Token Ring and Ethernet hardware.

▪ Designed and Implemented Firmware for IBM TotalStorage DSXXXX systems using C, C++ and Assembly. Was in charge of Hardware Abstraction Layer and Board Support for IBM proprietary RTOS running on IBM 68000 processor family.

▪ Used extensively In-Circuit Emulators, Logic Analyzers and Real Time Probes to debug, analyze and troubleshoot several embedded systems.

▪ Wrote documentation for areas assigned to me and reviewed documentation and code of other team members.

▪ Participated in Cross-Functional Development with teams in other divisions in Europe, Asia and the US.

THYSSEN ENGINEERING & CONTROL SYSTEMSwww.thyssen.com

Madrid, Spain & Portsmouth, UK (Feb 1996 - Jan 1998) Software Engineer

Worked as a Software Engineer and Field specialist.

▪ Was in charge of installing and managing server farm at 100 Store, HMNB Portsmouth, the largest miniload system in Europe (a fully automatic warehouse & distribution system, with over 56000 storage trays and more than 300000 reconfigurable locations).

▪ Designed and developed the software required to internal management of the automatic warehouse, named Warehouse Management System (WMS), using Borland C++ and PL/SQL on Oracle databases.

▪ Designed and developed communications software to interconnect WMS, a Windows NT platform, with UK’s Ministry of Defense mainframe system (Warehouse Information Technology System, WITS). This was accomplished using FTP protocol and was completely developed in C++.

OVIEDO UNIVERSITY ELECTRICAL ENGINEERING DEPARTMENTwww.epsig.uniovi.es

Gijon, Spain (1995 - 1997) Post Graduate

Designed and Developed an ISA bus based controller, that provided a solid-state data storage system for industrial computer systems.

▪ Designed EE Schematics and performed simulation using ORCAD, TANGO and PSPICE software packages

Page 6: DAVID_FLOREZ_RESUMEv7

▪ Developed Assembly and C code for Microcontroller 8052 to implement PC ROM-BIOS extension routines for HDD emulation.

▪ Designed and programmed PLD code to integrate glue logic.

▪ Used Borland C 3.1 IDE and toolchain (compiler, linker, assembler and utilities like binary converters and such).

Engineering Studies Learning Centerhttp://www.cets.es/

Gijon, Spain (1995 - 1997) Computer Architecture Tutor

▪ Tutored and Instructed over 200 Computer Science under graduate college students which helped them pass their examinations successfully.

EDUCATION AND CERTIFICATIONS

Computer Sciences and Industrial Engineering School of Gijon, Oviedo University (Spain)www.epsig.uniovi.es

Master of Science (Jan 1997)Bachelor of Science (Jan 1995)Major: Electrical EngineeringMinor: Computer Science

Mata-Jove Technical Studies Institute4 – Year professional degree in Electronics and Electrical Systems (1987 – 1991)

Relevant Seminars and Certificates:

● The .NET Services Bus and the Energy Net with Juval Lowy Oct. 2009● Microsoft Windows XP Embedded training Jan. 2008● Altium Designer: Embedded Intelligence Oct. 2007● Presenting Data and Information Class, Edward Tufte May 2007● Software Architecture Workshop Aug. 2005● Dynamic Leadership Dec. 2004● PCI Express Mar. 2003● Microsoft .NET Framework seminar Jan. 2003● XML for Developers May. 2002● RedHat Embedded Systems Engineering June 2001● RedHat Linux Device Driver Programming May 2001● Effective STL Programing Jan. 2001● PCI Dec. 2000

PATENTS● Determining a Speed Of Media, Pub. No.: US2006/0086275 A1, Apr. 27, 2006

Page 7: DAVID_FLOREZ_RESUMEv7

● Detection Apparatus, Pub. No.: US 2006/0139392 A1, Jun. 29, 2006

OTHER● Fluent in Spanish● Avid Guitar Player● References available upon request