Resume for John R. Sterne (February 21, 2003)
Practical expertise in the following areas of software design:
· advanced Java and C++ designs (component architectures, object hierarchies, multi-threaded event systems, STL templates, etc.)
· distributed system protocols and architectures (socket-level transport, RPC and Message-Oriented Middleware implementations, SNMP agent design, distributed services, CORBA API and ORB implementations, Java Message Service, RMI, EJB, XML)
· portable graphics design (source-code level knowledge of X11 and Motif, Microsoft Windows and MFC expertise, wrapping up native windowing API’s as portable C++ objects)
· UNIX and Windows operating system API’s (primitives, process life cycles and environments, multi-threaded architectures, shared libraries and DLL’s, etc.)
· operating system design and implementation (device drivers, file system implementations, command shells, etc.)
· embedded firmware written in assembly and C
Practical expertise in the following areas of digital hardware design:
· ASIC design (programmable logic devices and semi-custom integrated circuits)
· VHDL simulation and synthesis (Xilinx and Model Technology)
· intelligent peripheral controllers, custom micro-programmed CPU design, single-board computers, VMEBUS, dynamic RAM controllers, etc.
2002-2003: Sterne and Associates, Westlake Village, CA
VHDL-synthesized CPU, implemented using Xilinx Spartan-IIE FPGA
2001-2003: software engineering consultant, MBDA Missile Systems, Westlake Village, CA
embedded firmware test procedures (software requirements verification and validation, using an ICE scripting language); Unix GUI design
1999-2001: software engineering consultant, Enron Broadband Services, Houston (telecommuting from Westlake Village)
Lead architect and developer of advanced messaging service product with custom wire-protocol engine (tagged data stream sequencer) and agent-based routing topology; supported Sun Microsystems’ JMQ/JMS group.
1990 - 1999: Principal Software Engineer, Expersoft Corporation, San Diego (telecommuting from Westlake Village and Calabasas)
Designed messaging engine and persistence components for OMG CORBA Notification Service implementation.
Designed innovative MOM (“Message-Oriented Middleware”) protocol adaptor for an OMG-compliant ORB. Implemented in C++ for UNIX and Windows NT/95.
General C++ design tasks for distributed object architectures (CORBA and Expersoft’s XSHELL product).
Designed SNMP agent (written in C++ for UNIX and Windows NT/95) for XSHELL.
Designed portable GUI object library in C++ for UNIX (Motif) and Windows NT/95. Used GUI library to develop portable tools (network monitors and object browsers) for XSHELL.
Designed proprietary X11 Motif graphics in C++: structured text and tree diagram “widgets”, interactive drawing tool for selecting and connecting distributed objects.
1989 - 1991: Consultant to ISX Corporation, Thousand Oaks (currently in Camarillo), CA
Designed proprietary X11 graphics “widgets” in C and C++: radar display simulator, plan and goal graph, application wrappers.
Designed high throughput, “no load” remote graphics monitoring tools for an intelligent systems “inference engine” (implemented an asynchronous socket-based protocol that ran rings around SunOS RPC).
Prior to 1989: Designed custom “standard cell” integrated circuit, PAL-based finite state machine controllers, micro-programmed 2901 bit-sliced CPU with IBM System 3 Model 10 instruction set emulation, intelligent peripheral controllers (disk, tape, and terminal-array bus masters) and embedded firmware, RAM arrays with ECC, non-volatile VMEBus static RAM board, Z80 and 80286 single-board computers, assembly language BIOS, semi-automatic wire wrapping system (compiler and stepper motor controller).