|
Joshua Gleaton Software Consultant |
Embedded software developer with twelve years experience focusing on modularity, reuse, scalability and maintainability • Highly experienced with a variety of programming languages, operating systems, processor architectures, board-level peripherals, debugging tools/techniques and general embedded design issues • Conversant with real-time and safety-critical considerations • Highly experienced with object-oriented and interface-based design paradigms • Experienced with software project management, including resource allocation and management, requirements gathering, architecture development and implementation, scheduling, testing, deployment and applying software development processes such as RUP and XP • Excellent oral and written communication skills • A self-starter experienced working in a fast-paced environment, comfortable as an independent contributor or leading a team
|
Senior Software Engineer |
Dedicated Devices, Inc., Boise, ID |
2/04 - Present |
Embedded Linux Development for Networked Digital Media Products
Responsible for development of software for Sigma 8560/uClinux based networked digital media adapter
Developed software modules on top of thin, third-party middleware stack providing UPNP media browsing, automatic secure firmware updates, IP camera viewer and UPNP lighting control UI
Redesigned existing MPEG2 & MPEG4 demux modules to provide better stability & more functionality
Responsible for hardware selection, software architecture and leading a team of engineers to implement next-generation platforms based on a variety of evaluated platforms, including Nexperia and Micronas- based reference designs
Developed IP Camera DVR application for Intel IXP425 based networked media server allowing capture and indexing of images from various IP camera models
Developed hardware and software architecture to meet product requirements for UPNP network audio bridge based on Analog Devices Blackfin ADSP-BF537 platform
Dealt with all aspects of software development, including enforcing version control and code development guidelines and standards and creating accurate development schedules
|
Embedded Software Consultant |
Apneos Corporation, Belmont, CA |
4/03 - 7/03 |
Firmware/LabVIEW Development for Medical Device
Responsible for the architecture and implementation of firmware for wearable medical device based on Cypress SL11R USB Controller
Coding was done in Assembly and C and required development of a scheduler, flash wear-leveling algorithms and power management algorithms, plus drivers for flash, ADC, DAC and RTC peripherals
Wrote software specification and design documentation
Developed LabVIEW application for unit testing and firmware updating
|
Embedded Software Consultant |
Varian Medical Systems, Palo Alto, CA |
1/03 - 4/03 |
Firmware/LabVIEW Development for Cancer Treatment System Modules
Responsible for the development of firmware for TI 28xx DSP-based cancer treatment system
Utilized TI DSP/BIOS to deal with the various real-time tasks in the system, including data acquisition with time constraints of a few microseconds while dealing with lower priority CAN bus communication/data sharing with other hardware modules
Developed a LabVIEW application for unit and system testing
|
Senior Software Engineer |
Amersham Biosciences, Palo Alto, CA |
5/01 - 1/03 |
C# Application for DNA Sequencing Instrument
Responsible for architecture and implementation of C# based control software for DNA sequencer
Developed software requirements
Collaborated with Sales/Marketing to develop UI specification and with QA team developing system tests
Developed separate script-controlled LabVIEW application allowing electrical and mechanical engineers to perform hardware unit and system testing, and allowing research team to develop optimized procedures for DNA extraction
|
Software Engineer |
Rockwell Collins, Cedar Rapids, IA |
6/97 - 3/01 |
C++/LabVIEW Application for Avionics System Integration Test Facility
Developed PC-based system to stimulate and control aircraft avionics in a mock cockpit environment for final system testing
Developed system requirements from I/O requirements for systems' flight simulator & systems' avionics
Specified and integrated PC system hardware
Developed an automation software architecture allowing multiple PC's & hardware configurations to participate in a networked environment while providing a synchronous view of the system controls
Worked with outside groups to develop a scalable C++-based UI architecture focused on clean, organized screens facilitating quick and easy access to thousands of controls required by Systems Test Engineers
Developed software interface specification for third-party companies wishing to write automated tests for their own avionic units while in-system
Developed custom ARINC 429 protocol analyzer allowing system test engineers to capture, analyze and diagnose protocol anomalies
Developed firmware for PC-controlled motor control modules
Consulted with other departments to assist in the development of their own test stations
Provided system demonstrations to existing and potential customers
|
Software Developer |
High Power Electronics Lab, University of S. Carolina |
1/96 - 6/97 |
Data Acquisition System Design for Pulsed Laser System
Integrated hardware & developed software for a LabVIEW-based data acquisition system capable of controlling high-power laser, & collecting data from power supplies, oscilloscopes & a mass spectrometer
Bachelor of Science, Electrical Engineering University of South Carolina, 5/97
DSP/BIOS Training (TI C67x) Texas Instruments, Palo Alto, CA, 3/02
C#/.NET Training Wintellect, Seattle, WA, 1/02
|
Embedded Processors |
8/16/32-Bit, Sigma 8650, ADI DSP, TI DSP, Cypress SL11R, ARM 7/9, 805x, HC11, 68000 |
|
Embedded Peripherals |
ADC, DAC, Timers, WD, RTC, EEPROM, NAND/NOR Flash, UARTS, JTAG, A/V Codecs |
|
Protocols |
I2C, SPI, CAN, TCP/IP, RS-232/422/485, ARINC 429/453/717/1553 |
|
Languages |
C, C++, Python, C#, Java, PHP, LabVIEW, Assembly |
|
Tools |
Scons, GNU Toolchains, Subversion, Mantis/Bugzilla, MySQL, SQLite |
|
OS |
Linux, uCLinux, DSP/BIOS, Palm OS, uC/OS-II, QNX |