1. Christopher Markle
Professional Summary
Software Engineer with over fifteen years of experience including embedded systems development
at the application level and desktop application development.
Technical Summary
Eclipse RCP, SWT, Swing, Java, JavaScript, C/C++ , Windows System Development, MS Visual
C++ IDE, OO Design, co-operative multithreading, Python, Scripting, RMI, JNDI, JDBC,
Reflection, JNI, J/Unit, NIO, JFace, XML parsing using SAX and DOM, JVMTI
Education
Bachelor of Science, University of California (Irvine) 1997
Majored in Computer Science
Professional Experience
Cerner Corporation
Staff Software Engineer (contract) September 2014 to April 2016
• Implement requirements for Brazilian customers; customize existing software products
• Eclipse RCP based product; Java, Maven, Jenkins, Crucible, SVN development environment
• Javascript, HTML, CSS, JQuery
• Test new releases; fix found bugs
• Some new feature development
Beechwood Software Company
Staff Software Engineer (contract) January 2014 to June 2014
• Team Lead for software based transcoding project to replace standalone hardware solution;
for Directv (customer)
• New solution transcodes programs into a format suitable for mobile clients; delivers
transcoded content via network connection
• Created architecture and design documents using UML
• Setup Wiki to share design documents with team members and client company engineers.
• Reverse engineered client communication protocols used by existing solution
• Co-ordinated with Directv management and engineers on project requirements
JTron Java Tracing Engine
Independent Development June 2010 to Present
• Development of a tracing engine for the OpenJDK VM, along with a corresponding
console/GUI for analyzing captured trace data.
• Architected as a desktop application that runs on both Windows and Linux,
• “JTron” is a multi-process, multi-threaded tool that visualizes target program behavior in a way
that allows the user to intuitively detect and interpret patterns; problems “jump out” of the
display instantly.
• OODA using UML to capture design; GOF patterns used extensively.
• Design by Contract comprehensively employed to ensure correct behavior
• Tracing engine integrated with the Open JDK Hotspot VM source code; ASM and C++
• Shared memory used to couple instrumented VM with console process.
• Multiple Writer Single Reader ring buffer adapted from Dmitry Vyukov’s MPMC solution.
2. • Lockless design achieves recording speed of 20M bytecodes per second on i7 CPU @
2.4GHZ
• Java source parsing using integrated Eclipse AST parser
• Console GUI written in Java, using Eclipse SWT toolkit; all custom widgets.
• Socket stream IPC between console and agent; custom protocol state machine
• “Unsafe” facility used to access shared memory directly.
•
Technical Environment: Linux 2.6, Windows 7, C/C++, Java 1.7, Eclipse IDE, SWT toolkit, Eclipse
AST Java parser, socket based comms, SHM IPC, UML modeling, lockless, JNI, JVMTI, MWMR ring
buffer, lockless design throughout
Achronix Semiconductor Company
Staff Software Engineer (contract) June 2013 to January 2014
• Performed new feature development and maintenance support for desktop CAD system
(“ACE”)
• Wrote a utility to migrate User Guide content from a DokuWiki host to Confluence host wiki
• Added a new “view” to the company’s FPGA CAD program (“ACE”) for inspecting register
values in a live design via JTAG interface
• Integrated an Excel spreadsheet engine (OpenXLS) into the ACE CAD program; allowed use
of a vendor provided Excel spreadsheet as a reference source to ensure correct values are
produced by customer designs.
• Did extensive evaluation and testing of Correlis JTAG “pods” in use with ACE CAD program;
captured results to Wiki.
Technical Environment: Redhat Centos 6+, Windows 7, Java, Python 2.7, sh, Perforce, SWT
graphics toolkit, Eclipse RCP, Eclipse 3.7
Direct TV
Senior Software Engineer (contract) June 2007 to May 2013
• Support and maintenance work on the Latin America version of DirecTV’s set top box (STB)
software.
• Adapted parental control facility to work with non-MPAA rating systems.
• Added fingerprinting facility to mark viewed programs with customer identity.
• Implemented redirection feature to automatically tune to alternate channel when “blackout” is
in effect.
• Implemented DVB closed captioning facility as extension of existing EIA-608 solution.
• Acted as build master during bi-annual merge/sync with the current U.S. release.
• Team specialist in UI (AWT and OpenGL based) debugging, particularly closed
captioning/subtitles
Technical Environment: Linux 2.6, Eclipse 3.2, C++/C, Java, CVS and Mercurial, make, AWT,
Open GL, sh, JNI, Masterbuild cross-platform build system, GDB.
DATAllegro
Senior Software Engineering April 2006 to May 2007
• Startup Company making a data warehouse appliance
• Gained deep understanding of SQL from the inside of an RDBMS
• Wrote analytics package for company’s flagship product
Technical Environment: C/C++, Java 1.5, SQL, SQL theory, JDBC, Eclipse, CVS, multi-threading,
distributed architecture, Linux, Spring framework
Damon’s and Drapers
Senior Software Developer September 2004 to April 2006
• Performed maintenance and new feature development for desktop point of sale application,
based on specialized Windows PCs
3. • Worked on migration of backend portion of system
Technical Environment: Java 1.5, XML Schema, Castor, JBuilder/Eclipse, SQL, MySQL, JDBC,
Webstart, multi-threading, JProfiler, MQ Series, Swing
Roving Planet
Principal Software Architect/Lead Developer June 2000 to October 2002
• Startup to create a wireless-network management tool
• Designed and Architected product
• Developed iptables based connection management package
Technical Environment: Linux, Windows, C, Java, sh, RMI, JDBC, JNDI, JSP, XML, Swing, J/Unit,
Ant, Perforce, MySQL, SQL; test cases for most major classes, Socket comms and protocol.