Michael Kohne 1605 Gwynedd View Road North Wales, PA 19454 mhkohne@kohne.org 267-218-2189
I want to make products that are interesting, and that I can be proud of.
Summary I’m a skilled software developer with experience dating back to 1992 working on Windows, Linux, and a variety of embedded platforms. My experience runs from Medical monitoring equipment to industrial controls and payment systems. I have worked with non-medical ultrasound and on-demand video delivery as well as secure processing of credit cards. I have a history of stepping into existing projects and making useful contributions quickly. I’m familiar with a variety of programming environments, tools and languages, and have never had any trouble picking up new ones.
Experience
Sr. Software Engineer Gilbarco Veeder-Root May 2007 – October 2011
This position was a continuation of the work I did in a previous job at Gasboy International, Inc.
I was involved in feature implementation, bug fixing, and field support for the CFN4 product which controls a commercial or retail fueling site. It can control pumps, point-of-sale and pay-at-pump devices, including handling communications with bank networks.
Most of my coding for the CFN4 was in the C & C++ portions of the system. I also maintained a daemon (written in Perl) that kept the other CFN4 processes running, and started/stopped them in the appropriate order. I did some bash programming for supporting functions such as backups, system configuration, and package installation.
My experience includes use of a variety of technologies for inter-process communications, ranging from CORBA to XML and several custom protocols. I used the bank specified protocols for host communications. I also patched the Linux serial drivers to improve low-latency performance when talking to local devices.
From 2007 until the middle of 2010, I worked on a project with our Australian subsidiary, which used the CFN4 system to implement pay-at-pump for a customer's network of retail petrol stations. I was in attendance on site in Sydney during initial field trials. The project was deployed and is now being used in the customer's network of retail petrol stations. I was the primary US contact for the system.
From the middle of 2010 until early in 2011, I was assisting with the final stages of a customer project for Walmart. My role on this was to help with the final debug. The system was deployed to several sites.
Most recently, my I was helping to modify the CFN4 software to run on a much smaller footprint embedded system. This was intended to allow us to add its functionality to some of our other products. As part of this effort I was sent to Scrum training (http://scrumalliance.org/profiles/118158-michael-kohne)
I was a remote employee and this position ended when the company decided to consolidate all remote positions into the Greensboro office.
Software Engineer Harris/Videotek October 2005 - May 2007
In this position, I designed and wrote a Windows XP device driver, using the DriverWorks framework, for a custom PCI based video processing board. I designed the application to driver interface as well as the driver to board interface in such a way that there were no copies of data within the driver. Complications included trying to keep the application interface understandable and trying to keep the board's logic utilization under control.
I assisted with the MFC based client application that used the custom PCI board.
I made some modifications to older video test system firmware (the older standard definition VTM series units) to support alternate aspect ratios on the monitoring output.
Principal Engineer Concurrent Computer Corporation May 2004 to October 2005
In this position I debugged and enhanced existing code within the Concurrent VOD system.
I tracked down issues with our custom software RAID filesystem 'driver' dll and added new features to it.
I performed some debug work on the video transport layer, which takes video from the RAID filesystem and pushes it out the system's gigabit ethernet link.
Sr. Software Engineer Gasboy International, Inc. October 2001 to April 2004
I designed and began implementation of 3 different payment routers (components that authorize transactions with a credit card processor) for our gas station control appliance, the CFN4. I designed and implemented a Perl-based daemon that kept all of the other components of our system running, and started/stopped them in the appropriate order. I fully automated our daily builds. When I was done we had a daily build process that automatically tagged the CVS repository, grabbed code from that tag and built a full set of release packages, which it then installed and ran some quick smoke tests on, e-mailing the team when things went wrong. I debugged many issues resulting from the port of the system from running bare metal on a 68000 based board to running as a co-operating set of processes under Linux.
Sr. Software Engineer Sonic Industries/Perceptron, Inc. May 1998 - August 2001
I oversaw design for for 2 large FPGAs and debugged the finished board using a combination of software techniques, logic analysis, oscilloscope probing and a PCI bus analyzer.
I implemented some of the software that used this board to perform ultrasound on lumber and logs to find internal defects prior to cutting.
I made several site vists (to a sawmill) to assist with initial field trials of the system.
I was the de-facto sysadmin for the office, including laying out network connectivity when we moved to new offices.
Software Engineer Syncro Technology Corp. July 1997 - May 1998
I implemented updates to an automated blood pressure monitor written in C++ under a custom operating system. I wrote and executed test procedures for my group’s changes.
Software Engineer Moberg Medical, Inc. January 1992 - July 1997
I assisted in the design, implementation and debug of a fully electronic EEG monitor.
I assisted with logic analysis and hardware debugging of new versions of the system board. This included writing device drivers and modifying system boot code to get pSOS running. I helped debug processor-to-processor interfaces and identified compiler bugs that prevented us using one mode of the TM34020 processor.
I wrote C code with occasional assembly language for all three of the system's processors (AT&T DSP32C, Motorola 68020, TI TMS34020)
I helped write the logic for and did the debug for several small PLDs and an 8K gate FPGA.
I picked the 16 bit 8051 compatible processor and wrote the code for our evoked potentials stimulator accessory.
Education B.S. Computer Science University of Maryland, Baltimore County, 1991 |