George Soules

gsoules@avantlogic.com

(802) 496-9102
Box 790, Waitsfield VT 05673

Summary

George Soules is a software architect with over 25 years experience in software engineering.  He specializes in the architectural design and implementation of mission-critical applications.

  • Applications: Web, Database, Real-time, Multi-threaded, Embedded, Flash
  • Industries: Software, Medical, Railway, Financial, Radio, Television, Film, Machine control
  • Major Strengths: Object Oriented Design, UML, Mentoring
  • Languages: C#, C++, Visual Basic, XML, XSL, JavaScript, ActionScript, DHTML

Education

1980, BA Computer Science, University of California, Santa Cruz

Experience (last updated May 2008)

1/03 – Present : AvantLogic Corporation, Waitsfield, VT
Developing and marketing MapsAlive®, a web application that allows you to make your online maps come alive by turning them into interactive tours. To learn more visit http://www.mapsalive.com.

1/04 – 9/04 : Green Mountain Logic, Inc., Montpelier, VT
Performed an independent assessment for a confidential client to identify ways to improve their processes for developing mission critical software.  Green Mountain Logic specializes in FDA-compliant software solutions tailored to the specifications of medical manufacturers and other organizations where safety and reliability are critical requirements.

1/04 – 1/04 : Competitive Computing, Inc., Colchester, VT
Implemented enhancements to a web-based financial analysis system which is used by Bombardier to manage their portfolio of aircraft.  AvantLogic designed the core architecture for the system in 2000/2001.  Competitive Computing is a Microsoft Gold Certified Partner that develops e-commerce, B2B, and enterprise solutions using Microsoft technologies.

8/03 – 9/03 : ABC Television, New York, NY
Enhanced ABC’s touch-screen program used to control audio and video routing devices during live television broadcasts from studios in New York.

8/03 – 9/03 : Vermont Agency of Human Services, Montpelier, VT
Evaluated a $31 million Medicaid Information Management System proposed by EDS for the State of Vermont.  Assessed the project’s architecture, cost, benefits, and development plans.  Made recommendations and reported results to
Vermont’s Chief Information Officer.

10/02 – 8/03 : Turner Engineering Company, Venice, CA
Worked as part of a team with New York City Transit, Urenco Power Technologies, New York Power Authority, and Turner Engineering to assess a Flywheel Energy Storage System (FESS) used to capture electricity from braking subway trains.  AvantLogic’s involvement pertained to the software that controls the FESS electronics to direct the flow of energy to and from the third rail.  This effort required knowledge of embedded control systems and safety-critical software design techniques.

5/03 – 8/03 : MicroProcessor Designs, Burlington, VT
Developed a prototype software application for an international foodservice manufacturer to demonstrate the feasibility of an intelligent microprocessor-based industrial kitchen device.

10/01 – 10/02 : Green Mountain Logic, Inc., Montpelier, VT
Developed the core web architecture of a Laboratory Information Management System used for genetics testing.  The application manages vast amounts of scientific data and is integrated with lab automation equipment.  The design utilizes an HTTP Web Services model and makes extensive use of XML on both the client and server.

12/01 – 11/02 : Vermont Agency of Transportation, Montpelier, VT
Conducted an independent review of a proposed $2.2 million Digimarc digital licensing system for the Department of Motor Vehicles.  Assessed the system’s software and hardware as well as its cost, benefits, and suitability for creating fraud-proof photo IDs and driver’s licenses.  Also reviewed a $3 million software project to manage clinical recipient data within
Vermont’s Medicaid system. 

2/00 – 10/01 : Green Mountain Logic, Inc., Montpelier, VT
As lead web architect, designed the web interface to a hospital point-of-care data management system developed by Green Mountain Logic (GML) for a major medical device company.  The design uses a three-tier architecture with XSLT as the presentation layer, COM+ and ASP as the business layer, and XML and SQL stored procedures as the data layer.  The pages of this 3-frame, drag-and-drop application can be rendered in multiple languages.  Implemented the framework of the core design and also coded some of the more complex pages that are dynamically constructed based on XML emitted directly from SQL Server 2000 stored procedures.  During the pre-sales phase of the project, worked with GML to develop a proof-of-concept prototype and later presented the design to the client for approval.  Also helped design the real-time elements and hardware interfaces of the system.  The application is now installed in numerous hospitals.

10/01 – 12/01 : Turner Engineering Company, Venice, CA
Developed a company-wide process guideline for a major world-wide supplier of high-tech transportation systems and equipment. The document will be used for developing and verifying software for use in safety-critical systems.

9/01 – 12/01 : Learning Objects Network, Inc., Middletown, CT
Designed and developed components of a secure infrastructure that enable the location, transaction, and delivery of high value digital content over the Internet.  This infrastructure is based on international standards recently released by IEEE/IMS, SCORM and others.  Used XML based Web Services to help develop a proof-of-concept prototype demonstrating component interaction via SOAP-like HTTP messaging.

8/00 – 7/01 : Pumatech, Inc., San Jose, CA
Performed technical evaluation and engineering studies to assist Pumatech with protection of intellectual property.  This work required familiarity with patent law, examination of numerous patents, and close interaction with a patent attorney.  Pumatech provides end-to-end mobile device management solutions for handheld devices, cellular phones and other wireless devices and Internet appliances.

2/00 – 2/01 : Competitive Computing, Inc. (C2), Colchester, VT
Designed and developed a new foundation architecture for building demanding business-to-business web applications. The first C2 clients to benefit from the architecture were the Vermont Department of Economic Development (Vermont Business Registry site) and the University of Vermont College of Medicine (Continuing Medical Education site).  The design is implemented in XML, XSLT, ASP, JavaScript, and COM components.  Sites that employ the architecture are modeled with UML state diagrams which are translated into state tables and interpreted at runtime by a finite state machine.  Also led the design effort for a new intranet application for Bombardier Capital, Inc.  The site provides loan, leasing, and asset management services for business and commercial aircraft.  It makes heavy use of DHTML and JavaScript to provide a highly responsive client-side experience with minimal trips to the server.  Co-designed significant enhancements to C2’s e-commerce architecture and applied them as a member of the development team that created a retail site for Vermont Country Store, a $70M mail-order company with customers in all 50 states.  Taught in-house classes to introduce formal UML modeling techniques to C2’s developers and analysts to meet the company’s goal of bridging the gap between specification and implementation.

9/99 and 9/00 : University of Vermont, Burlington, VT
Presented talks on software engineering and UML modeling as part of a special lecture series presented to computer science majors by real-world technology experts.

9/99 - 2/00 : Lynx Systems, Inc., Burlington, VT
Architected and led the development of a Web-based report engine for the client (ChannelWave Software, Inc.,
Boston, MA). The application interfaces with multi-dimensional data warehouses (OLAP) to allow large corporations to manage sales lead distribution, reseller profiling, and sales forecasting using a web browser. Deployed on global extranets, the product is currently being utilized by companies such as Intel, 3Com and Nortel Networks. Developed the Active Server Pages and COM components for the application. Worked with Visual Basic, Visual InterDev, MTS, ADO, ADO MD (Multi-Dimensional), SQL, MDX (SQL-like language used to access OLAP data), VB Script, JavaScript, and HTML to build the software. Used UML and object oriented design techniques to provide the power of inheritance and virtual methods to ASP.

4/99 - 10/99 : Lynx Systems, Inc., Burlington, VT
Worked with the client (Turner Gold France Engineering, Torrance, CA) and its client (DaimlerChrysler Rail Systems, Pittsburgh, PA) to analyze safety-critical software design elements of the Automatic Train Protection system for the new BART (Bay Area Rapid Transit) extension to the San Francisco airport. This analysis required familiarity with real-time embedded operating systems, software/hardware interfaces, redundant fail-safe architecture, IEEE safety standards, and extensive experience developing highly reliable software.

3/99 - 8/99 : AvantLogic Corporation, Waitsfield, VT
Developed a user-configurable ActiveX control in Visual C++ for a municipal permit tracking system. This MFC control uses multiply-nested splitter windows to display owner-drawn lists, rich text, trees, and maps representing various elements of a relational database containing town data. Maps showing land parcels, roads, and streams, are drawn by the control using ESRI's MapObjects OCX. Also guided the overall design of the Visual Basic application which contains the control.

7/98 - 3/99 : Lynx Systems, Inc., Burlington, VT
Enhanced embedded software running on Digital Audio editing hardware manufactured by the client (confidential, West Coast). Added features that let users convert the unit's proprietary audio format to standard formats like Wave, Broadcast Wave, and AIFF while preserving edits, gains, cross fades, and waveform drawing hints. Using C, extended the native OS-9 based file system to access files on an external SCSI disk formatted for DOS VFAT. Also wrote a disk block caching scheme to provide fast I/O.

1/98 - 7/98 : Lynx Systems, Inc., Burlington, VT
Worked with Lynx and the client (XiChron, Inc., Norwich, VT) to develop a Windows NT hosted Digital Audio Surround Sound Conversion System which utilizes a custom PCI card. The end user (Chace Productions, Inc., Burbank, CA) utilizes the product to enhance motion picture soundtracks. Developed a high-speed ActiveX grid control to display cue data in real-time. Wrote time-code translation algorithms, enhanced the device driver's access to shared memory, and wrote audio control sequencing logic for the product's embedded PCI operating system. Used MFC, C++, C, and Visual Basic for this project.

11/97 - 1/98 : Lynx Systems, Inc., Burlington, VT
Using C++, wrote the serial I/O logic used to control audio/video routing devices and other studio equipment for the ABC Tally Programming System. The software allows the client (ABC Television, New York, NY) to control live television broadcasts using a touch-screen monitor interface.

2/97 - 10/97 : Sylvain Faust Inc., Hull, Québec, Canada
Developed the user interface and data interpreter for SQL-Optimizer/DBA, an Oracle database activity monitor. The application displays up-to-the-second statistics and SQL in multiple views in real-time. Used NT synchronization objects (semaphores, mutexes, and events) to implement three separate threads of execution to facilitate simultaneous retrieval, modeling, and display of data. Used C++, templates, and MFC for development.

7/96 - 1/97 : Lynx Systems, Inc., Burlington, VT
Fixed critical problems and made enhancements to the client's (Rockwell Automation / Allen-Bradley, Lebanon, NH) Graphical Motion Controller Language (GML) product. GML is an NT/95 application that lets users graphically program hardware controllers by drawing motion diagrams. Worked on the serial I/O code, diagram rendering logic, and diagram translator (compiles drawings into hardware commands which are then sent to the serial port). Added support for print preview including the ability to scale drawings. Added OLE Automation Controller support so GML can invoke Excel to plot velocity and torque graphs. Performed all development with C++ and MFC.

2/96 - 6/96 : Kestrel Technologies, New York, NY
Led the analysis and draft design phases of a financial services application to be hosted on Windows NT and UNIX and deployed in LAN and WAN environments worldwide. Used OMT (Object Modeling Technique) to develop class, instance, and event trace diagrams. Wrote a detailed design document defining the object model and showing how CORBA and Reuters Triarch would be employed to distribute data in this large distributed objects application.

1/96 - 3/96 : NEK Adult Basic Education, Newport, VT
Developed a Windows 95 student registration and reporting system using Access and Visual Basic for Applications. Wrote translation and validation utilities to convert existing data for import into the new database. Used normalization techniques to define the numerous tables and relationships required for this application.

12/95 - 1/96 : Living SQL Corp., Waitsfield, VT
Developed a prototype user interface and data modeler for a SQL server event monitor under Windows 95 using Visual C++, MFC, templates, and DLLs.

8/95 - 7/96 : Vermont Business Magazine, Burlington, VT
Authored the monthly Digital Vermont column on computing.

1992 - 1996 : Black & White Software, Inc., Waitsfield, VT
Prototyped a fax driver interpreter to allow the behavior of an installed driver to be modified (e.g. to support different modems) by supplying it with a new hardware profile file. Designed a client-server order processing application running under NEXTSTEP and using a Sybase database server. Written using SQL, PostScript, and Objective C. Developed a database server and client applications for a technical support information retrieval system. Used NeXT's DO (distributed objects) to communicate between clients and server.

1993 : Enigma Systems, Boca Raton, FL
Converted a 10,000 line UNIX C++ application into C and modified it to run under IBM System/370 MVS. Developed a technique for preserving the original object oriented design in a C implementation.

1992 : International Digital Scientific, Inc., Valencia, CA
Ported an MS-DOS C++ application to UNIX and modified it to operate with dumb terminals.

1990 - 1992 : Lexical Software, Waitsfield, VT
Developed a compiling interpreter for an operating system control language. Implemented the object oriented design in C++ and assembler. Designed a class library of translator components (scanner, parser, code generator, symbol table). Ported the code to Windows 95, UNIX, NEXTSTEP, and MVS.

1990 : Alsys, Inc., Burlington, MA
Developed MS-DOS based programmers tools in Ada and 80x86 Assembler. This work focused on writing DOS interrupt handlers to allow third party text editors to be controlled by Alsys products.

1987 - 1990 : Wang Laboratories, Inc., Lowell, MA
Managed eight developers rehosting 500,000 lines of Ada for a compiler, linker, and debugger. Implemented assembler routines to support interrupt handling and the multi-tasking portions of the runtime system.

1986 - 1987 : Digital Equipment Corporation, Nashua, NH
Implemented enhanced debugger support for the VAX/VMS Ada compiler.

1980 - 1986 : Wang Laboratories, Inc., Lowell, MA
Developed compilers, interpreters, code generators, optimizers, runtime systems, linkers, and editors in PL/1 and assembly language.