JOHN J. NOVAK
Senior Software Developer
232 Pine Crest Lane
Lansdale, PA 19446
[Send email using form at bottom]
http://home.comcast.net/~johnjnovak/
I have more than 20 years of experience developing and
managing software projects; system design and programming,
embedded systems, microprocessor applications, custom OS
generation, real-time I/O, simulation, scientific data
reduction and analysis, client/server applications and
networking for various commercial and military projects.
I have a BA, with highest honors, in Mathematics from
Rutgers University with extensive studies in Computer
Science.
Technical Skill Summary
Skill Years Last
Embedded 20+ 2007
C/C++ 18 2007
Windows 10 2007
C# .NET 2+ 2007
Linux 6 2007
Borland C++ 5 2004
Borland Delphi 4 1998
Visual Basic 4 1997
Clients/Employers: TAC Worldwide Companies;
L3 Communications - Martin Marietta - GE Aerospace - RCA;
NetQuest Corporation; Siemens; Computer Sciences Corporation.
Computers: C51; IBM PC; Intel 80x86, 808x; Microchip PIC;
Motorola PowerPC, 68360, 68302, 680x0, 6888x, Phillips LPC936.
Languages/IDE: C/C++; C#; Keil; Visual Studio; .NET; Pascal;
Visual Basic; Delphi; Kylix; Assembly; FORTRAN; HTML.
Operating Systems: Windows; Windows CE 4.2; Windows CE 5.0;
Windows Mobile; DOS; Linux; Solaris; VxWorks; Palm OS;
VersaDOS.
Education: BA, Mathematics, with highest honors, Rutgers
University, 1973.
Training: ASP.NET 2.0, 2007; Webmaster Certificate, NJIT, 1997.
Awards: Engineer of the Year, 2006, L-3 Communications / Titan Group.
Professional Experience:
L-3 Communications / Titan Group, Horsham, PA, 2004 to 2007
Senior Principal Software Engineer, Responsible for
integrating JPEG 2000 compression and decompression
services using the commercial Kakadu library into an
existing set of National Imagery Transmission Format
utilities. This project comprised development of cross
platform compression and decompression utilities for
Windows, Solaris, and Linux utilizing the Visual C++ 6,
Visual Studio 2005, and GNU C/C++ compilers. Wrote
managed JPEG 2000 test driver application using Visual
Studio 2005, C# and .NET 2 Framework.
Senior Principal Software Engineer, Wrote Hospital Level
Seven (HL-7) protocol client component (C#, .NET) for
MIDDAS Remote Patient Monitor application forwarding of
patient messages to compatible healthcare systems. Wrote
corresponding HL-7 server component (C#, .NET) for system
tests.
Senior Principal Software Engineer, Responsible for
continued development of the MIDDAS software. Added
MIDDAS Remote Patient Monitor (MRPM) program, a networked
Windows .NET 2 Framework application capable of
communicating with multiple MPAC PDA devices for data
collection, display, and recording. Received “Engineer
of the Year” award in my division for my work on the
MIDDAS project.
Principal Software Engineer, Responsible for the design,
coding, and testing of the Mobile Patient Assessment
Computer (MPAC) PDA and the embedded controller software
for the Mobile Integrated Diagnostic and Data Analysis
System (MIDDAS). Enhanced existing PDA baseline with
Bluetooth SPP capability along with import and export of
patient data in XML format. Created modular “C” source
files for the legacy embedded sensor controllers.
Created enhanced PDA MPAC software, utilizing C-Sharp
(C#) and .NET Compact Framework, capable of
simultaneously handling five Patient Sensor Units, one
Digital Acquisition Glove, and one Blood Pressure Unit
over a Bluetooth “RfComm” interface. Updated embedded
sensor programs on PIC18F252 to work with new MPAC PDA
program. Supported project management and hardware
design through weekly software status reports and
detailed design documentation.
Contract Programmer, 1997 to 2004
TAC Worldwide Companies
Evesham Township, NJ, 2004
Modified secure internet chat client for Naval Research
Labs. This proprietary application, written in a mixture
of C++ and C for a Windows® platform using Borland C++
Builder 6, custom components, and openSSL, communicates
with a LINUX based server using HTTP and HTTPS based
messaging. Modified server side program and scripts for
browser operation. This work was done off-site in my
home office with testing and coordination handled over
the Internet and telephone.
L3 Communications
Camden, NJ, 1997 to 2003
Modified both COMINT and ELINT testers for processing
user defined pulse data files and previously recorded
real-time pulse data files. Investigate porting the
GEDAE front-end to a Windows® environment.
Converted embedded COMINT algorithm into a Windows. based
GUI application for benchmarking. This GUI program
included the ability to simulate multiple emitters in
real-time as well as process previously generated pulse
data words.
Enhanced existing airborne system’s serial communications
with the ground using TCP/IP sockets.
Converted embedded ELINT (RADAR signal sorting and
characterization) Algorithm from Pascal to ANSI C and
developed a Microsoft. Windows. based algorithm test and
demonstration program. This GUI program included the
ability to simulate multiple emitters in real-time as
well as process previously generated pulse data words.
Lead software developer responsible for development and
support of the Command and Control and Location functions
in an embedded RF signal characterization and sorting
project. Functionality split between a VME based SBC
running VxWorks on a Power PC and a Pentium PC running
under Microsoft Windows. Cross development on a Pentium
PC in C and C++ using Tornado IDE. PC development in
Borland C++ Builder and FORTRAN. Ported legacy code from
Pascal to ANSI C.
Lead software developer responsible for software
adaptation of an embedded RADAR signal characterization
and sorting processor’s control, analysis, and location
functions for a SAR CUE RADAR. Development on VME1131
and PC platforms in Pascal for 68020 SBC, Pascal and
Visual Basic 5 for Pentium PC under Windows 95.
NetQuest Corporation
Mount Laurel, NJ, 1998
Developed a Flash File System for an embedded Motorola
MPC860. FFS prototyped with Borland C++ Builder on a
Windows 95 platform; emulated the flash device with a c++
class. Rebuild, validation, and delivery using the Diab
Data C compiler suite.
NetQuest Corporation, Mount Laurel, NJ, 1993 to 1996
Senior Member of Technical Staff responsible for
developing software for Asynchronous Transfer Mode (ATM)
T1/E1 access device using 68040 and 68360 processors,
Frame Relay/ATM interface, and the diagnostics for
Switched Multi-Megabit Data Service (SMDS) access device.
Cross development on a Pentium PC using Intermetrics C
compiler.
Contract Programmer, 1980 to 1993
Martin Marietta, GE Aerospace, RCA Corporation
Camden, NJ, 1980 to 1993
Lead software developer for various projects developing
and enhancing the operations of the Command and Control
and Location functions in a VME embedded RADAR signal
characterizing and sorting processor. Wrote real-time
kernel with multi-tasking and multi-processor capability
for VME 680x0 based single board computers. VME
development on a Motorola workstation running VersaDOS
using Pascal and 680x0 assembly. PC development using
Borland Pascal and 80x86 assembly. Wrote diagnostics for
a custom dual processor 68020 SBC.
Project Consultant responsible for benchmark, design,
code, and test of control and data conversion algorithms
for Texas Instruments' TMS320C30 floating-point digital
signal processor. Cross-development on PC/AT in C and
assembly languages for Pentek 4283 and 4247 multiple C30
processor modules.
Project Consultant responsible for design and
coordination of enhancements to distributed multi-channel
signal processor utilizing off the shelf single board
computers in an Intel Multi-bus configuration (SBC 86/14,
SBC 544) supporting multiple masters and parallel
priority. Several custom RCA boards were used for data
acquisition and processing (2901 bit slices). Control
computer interfaces to a Data General C330 Eclipse and
Delta Data intelligent terminal.
Senior Staff Consultant responsible for phase two design
and implementation of inter network communications (NAS)
module. Software development in FORTRAN V compiled and
targeted for a Data General Eclipse C330 running the RDOS
operating system.
Senior Staff Consultant responsible for the design and
implementation of a dedicated real-time graphics display
unit for a multi-channel signal processor; design and
implementation of state/event driven multitasking
executive in PL/M-86 capable of interrupt, base, and
background processing along with I/O handlers for keypad
input and command and data acquisition (Intel 8089 I/O
processor) from a remote signal processor; implementation
of a 1024 point Fast Fourier Transform routine using
fixed point complex numbers in 8086 assembly language.
Siemens Corporation, Cherry Hill, NJ, 1977 to 1980
Supervisor of Telephone Products Software. Responsible
for a family of commercial electronic private automatic
branch exchanges (telephone switches) for hotel/motel and
business office applications. This included software
system design and planning for an expanded PBX that
combined features generally offered in only a business or
hotel/motel application that was controlled by an Intel
8088 16-bit microprocessor.
Senior Member of Technical Staff. Responsible for design
and programming for a 192/232 line switch employing
space-division switching with two Intel 8080
microprocessors programmed with modular state and event
driven software using memory mapped I/O controls; support
of first hotel/motel field trial hardware/software
integration effort; conversion of 8080 cross assembler
written in FORTRAN for a batch DOS operating system to a
real-time RSX-11M system on a PDP-11 host computer.
Computer Sciences Corporation, Moorestown, NJ 1973 to 1977
Member of Technical Staff. Design, programming and
system testing of an AN/UYK-7 to AN/UYK-20 IC POFA.
Responsible for the POFA interface description and
AN/UYK-20 program development using CMS-2Q on a SHARE-7
time-sharing system.
Member of Technical Staff. Provided real-time multi-
channel I/O design programming for a data acquisition
module running with the SDEX/20 executive in an AN/UYK-20
microcomputer. At test site, developed a reduction
program to assist in analysis of data collected by the
AN/UYK-20 and sent to a test simulator in an AN/UYK-7
computer.
Member of Technical Staff. Developed a user interface
and performance specification for a utility monitor
system; coded portions of the monitor; taught classes on
AN/UYK-7 I/O programming; simulated a disk interface for
the EDM-3 NDRO acceptance testing.
Associate Member of Technical Staff. Expanded the
capability of a data reduction system through development
and programming of a disk based template management
system. At the west coast AVM-1 test site, maintained
and improved the data reduction system by program patches
and design documentation.
|