I am a versatile and competent embedded software engineer with 20 years of experience. I love writing software for embedded systems and thrive when I get to learn new things. I have a proven record of success in designing and implementing from-scratch software for embedded systems, from an idea to a salable product. This includes evaluating requirements, identifying risks, selecting the best software technologies to use that will expedite development. I follow best practices to ensure organized, high quality and on-time software. This includes appropriate UML design, writing code using unit testing, source control, code reviews, system-level testing. Writing maintainable code is also a big priority. I have 20 years of embedded programming experience on a variety of processors, with 5 years of experience on embedded Linux-based systems. - Embedded Programming (bare metal on several ARM and 8051 boards) - Real-time Multi-threaded Programming (Embedded Linux, FreeRTOS, WinCE, OSE) - Device drivers: Ethernet, WiFi, i2c, uart, battery management, gpio, watchdog (Embedded Linux, u-boot and bare metal)