Career Profile

President and founder of Onsight, a company specializing in software development, implementation planning, project management, and technical training. We are dedicated to delivering customized products and services to diverse corporate clients. Onsight emphasizes planning, developing, and implementing solutions in areas of web development, networking, and system administration with Open Source tools on various Linux/Unix platforms.

Professional Experience

President, General Manager

1995 - Present
  • Founded software training and systems development firm to provide a wide range of software training for the advancement of technical skills for personnel of software engineering firms. Tailored training courses to meet specific client needs.
  • Delivered training courses to thousands of programmers in various industries (technology, finance, high energy physics, government, application development, higher education and more).
  • Involved in all aspects of the business from marketing and sales to courseware development and delivery.
  • Developed backend programming for websites, including system setup, system administration, database administration, web programming and maintenance.
  • Managed employees and subcontractors, contracts, and client relationships.
  • Time divided between training class delivery (25%), course and client development (25%) and consulting services (50%).

Onsight Representative Engagements


2013 - Present
  • Improved the clinical trial experience for both the patient and the provider by developing network-enabled prototypes (eg. TrialApp – an iPhone app that the patient and caregiver use to coordinate and communicate; base station device connecting devices in the home with the provider; patient locator that determines the room the patient is in).
  • Improved communication between the patient and the provider by developing connected medical device prototypes. For example, with a dementia trial, notifying study team when patient consumes medication, strays out of normal areas or needs reminding of what to bring to the visit with investigator.
  • Lowered development costs by leveraging cloud services such as Amazon Web Services.
  • Enabled management to increase productivity by demonstrating advanced practices and processes for team to more effectively work remotely.

Software Architect and Developer

2000 - 2013
  • Reduced costs of managing clinical trial costs by developing a web application that tracked and managed clinical trial expenses. Resulted in trial management savings, and vastly improved the ability to confirm when/if an investigator had been paid.
  • Increased software quality by improving the development process and deployment and standardizing.

Training Class Development and Delivery

1995 - Present
  • Helped numerous clients improve their development process through delivering training classes.
  • Addressed client specific needs by developing tailored technical training materials (e.g., Linux, Python Programming) for the needs of their organization.

Lead Engineer

1990 - 1995
Motorola, Inc., Schaumburg, IL
  • Developed call processing software for the SC9000 SuperCell cellular telephony system using object oriented design techniques. Interfaced with system architects to create software design documentation. Coded in C++ in a Unix / Windows environment using established coding standards and code inspections. Executed component tests to verify functionality of code.
  • Delivered training for several training courses offered to Motorola employees including: Object Oriented Programming in C++, C Programming, Advanced C, Unix Fundamentals, and several tools including AutoPlanII, CheckPoint.
  • Leader of a Project Management team performing management functions for the EMX2500 cellular phone switch. The team managed projects by creating overall development plans, developing schedule templates, creating specific schedules, and coordinating weekly project meetings. Created and maintained internal and customer documentation. Communicated with the customer on planning and technical issues including software problem resolution.
  • Performed extensive system testing in switching laboratory and travelled to Japan on several occasions to perform on-site software installation.
  • Part of a team that analyzed and improved a network of cellular switches to optimize data transfer.
  • Participated in several teams implementing software development process improvements based on the IEEE 1074 software process model. This task was a large initiative carried out for the entire organization in a successful effort to achieve SEI Level 3 and beyond.

Adjunct Instructor

1990 - 1995

Taught Computer Studies courses "Introduction to Programming" (introduction to C) and "Computer-Based Problem Solving" (data structures) for Northwestern University, University College. Responsible for creating lesson plan, lecturing weekly, and creating and grading programming assignments and exams.

Member of Technical Staff

1988 - 1990
AT&T Bell Laboratories, Naperville, IL
  • Designed, coded, and tested telephony call processing software for the 5ESS switching system. Responsible for writing and reviewing software development documents (Requirements Specification, Design Documents, etc.), coding, and testing code in the lab. All code was written in C in the Unix environment.
  • Performed system verification and systems integration for the 5ESS switching system. Responsible for development and execution of high level test suites.

Skills & Proficiency

  • Python, Perl, Javascript, Java, Swift, Clojure, Ruby, C, C++, Bash Shell, PHP, ColdFusion, Tcl/Tk, Pascal, Fortran, Cobol, Ada, Lisp, Assembly
  • iOS/Swift and Android/Java development
  • AWS and IoT
  • SQL, MongoDB, DynamoDB, Firebase
  • AngularJS, MySQL, mod_perl (including Embperl and Mason), CGI, Java, JavaScript, HTML, XML, CSS
  • Extensive Perl experience (DBI, CGI, Embperl, Mason, Object Oriented Programming, Tk, LWP and much more)
  • Linux development and system administration
  • Developing and delivering training in computer science topics
  • Networking
  • Object oriented design and programming in C++, Java, Perl, Python, JavaScript, Swift
  • Technical training class delivery
  • Apache and Apache Tomcat administration
  • Linux / Unix / OSX administration
  • Telephony / cellular infrastructure
  • Project Management
  • Effective written and verbal communication and presentation skills
  • Strong team-building and team-leading skills
  • Passionate user and advocate of open-source software

Books & Publications