RESUMEKevin J. BridgesSeptember 10, 2018 |
Position Personal Data Education Hardware/Software Employment History Career Objective Detailed Work Experience |
Address: | Omitted for Privacy Reasons Greater St. Louis Area (Metro East) |
Date of Birth: | Omitted for Privacy Reasons |
Phone: | Omitted for Privacy Reasons | Email: | inquire@wiiBridges.com |
School: | University of Missouri - Rolla
now known as the Missouri University of Science and Technology |
Degree: | BS Computer Science 1979 |
GPA: | 3.5/4.0 |
Honors: | Magna Cum Laude Computer Science Honorary - Upsilon Pi Epsilon (President) |
Hardware: | Linux, Unix (HP700, SunSPARC, RS/6000, AT&T63xx), Mac OS X, INTEL(Windows 10/7/XP/NT/98/95/3.x, MSDOS), VAX(VMS), IBM(MVS/VM) |
Languages: | JavaScript (es6, both functional and OO), Java (EJB/Applications/Servlets/Struts/Applets/RMI/JNI), JSON, Groovy, C++, C, html, XML/XSLT, Velocity, Perl, CGI, PASCAL, PL/I, FORTRAN, BASIC, COBOL, Assembler |
Graphics: | Swing (Java), Google Maps API, AWT (Java), OSF/Motif (UIL), UIMX, X-Windows, DECwindows, html, PS, GKS, MDC-GSR, GM-CGS |
Frameworks: | React, redux, redux-logic, feature-u, Angular 1, Servlets/Struts (Tomcat), Web Services (Axis), AJAX (JSON), EJB (JBoss, WebLogic, XDoclet), Spring, CORBA (JacOrb, VisiBroker, Dais, Orbix, XShell), RMI, RPC |
Analysis/Design: | UML (Unified Modeling Language), TogetherJ, OMT (Object Modeling Technique) |
Database: | JDBC, ORACLE, PostgreSQL, SqlServer, DB2, MySql, JDO, Hibernate, IMS/DB(DL/I, DLT0), VSAM, DB2, DBASE, Btrieve, FOCUS |
TP: | Tuxedo (Jolt), IMS/DC(MPP, ADF, BTS, BMP) |
Expert Systems: | Clips, Jess (Java Expert System Shell) |
IDE: | eclipse, emacs, intelliJ/idea, ant |
Support: |
NODE.js ... npm UNIX ... Shell Scripts (Perl, C, K, Bourne), make, cygwin, git, cvs, sccs, dbx, xdb VAX/VMS ... Symbolic Debugger, EVE, WPS+, Standard Runoff IBM/MVS ... TSO, SPF, DMS, CLIST, JCL, ACF2, RACF, SDSF, Panasophic IBM/VM ... CMS, EXEC, PROFS, Telegraph |
4/2015 - Present | Retired | Retired Life |
8/2004 - 4/2015 | Consultant | RGA-TP |
7/2007 - 4/2008 | Consultant | Q-up Mobile Systems |
10/2003 - 8/2004 | Consultant | Monsanto |
11/2001 - 9/2003 | Consultant | Express Scripts International |
12/1999 - 10/2001 | Consultant | AG Edwards |
1/1996 - 11/1999 | Consultant | Edward Jones |
7/1995 - 12/1995 | Consultant | MasterCard International |
10/1994 - 6/1995 | Consultant | Southwestern Bell Technology Resources |
3/1994 - 9/1994 | Member of Technical Staff | Ascom Timeplex |
5/1987 - 2/1994 | Senior Technical Specialist | McDonnell Douglas Corporation |
3/1985 - 4/1987 | Technical Specialist | Electronic Data Systems |
6/1979 - 2/1985 | Project Leader | Delco Electronics - Division of GM |
5/1977 - 9/1977 (Summer Employment) |
Programmer | McDonnell Douglas Automation |
Retired | 4/2015 - Present |
I have also started biking. My son and daughter-in-law (a seasoned triathlete) inspired me to get more exercise.
From a technical perspective, I am keeping current! I have become proficient in es6 (JavaScript) and React. My preferred front-end stack is react, redux, redux-logic, and feature-u. I have also been contributing to open source, and have published several libraries (see https://github.com/KevinAst/).
Consultant (Technology Partners) | 8/2004 - 4/2015 |
This effort provided a programmatic interface to the AURA session, representing the first interactive Aura offering that does not promote a GUI representation - rather program-to-program API (bound through a web-service). This component is used by clientele that wish to take complete control of their GUI, and simply use Aura as a "back-end service".
An extensive design effort was accomplished to promote a very object-oriented model of the legacy rule engine.
This component provides the mechanism by which underwriting decisions can be formulated by assessing risks analyzed from multiple sources -- both automated (AURA scripts), and manually entered decisions (by a human underwriter). This provides a "Clearing House" where by multiple information sources can be controlled, summarized, and maintained -- in a holistic way.
Ui2 is Aura's next generation script GUI - promoting Aura's dynamic reflexive question/answer session. Internally, Ui2 is layered on top of Aura's WebService. The object-oriented nature of this API provides a very clean model to build upon.
The GUI was completely re-vamped using a modern up-to-date look and feel. User inputs are specified through a more intuitive "form entry" style, with fill-in-the-blank semantics.
The philosophy of this GUI is to maintain the User's current state, whenever a service request is implicitly required, providing a very intuitive "user experience", even when Aura's sub-reflexive structure dynamically injects a sub-question mid-stream. This provides the best of both worlds - the power of Aura's dynamic reflexive structure, with an intuitive GUI presentation.
Question types were enhanced to promote more-streamlined entry. Examples of this include the date calendar popups, auto-complete impairment search, streamlined contacts, implicit treatment of optional questions, advanced treatment of question notes and help, non-intrusive spell-check popups, etc.
Higher level presentation directives were made available. For example, the new grid directive supports a concise rendering of repeated disclosures within a grid (via Aura's wrapup).
Ui2 is Web 2.0 compliment. This means that it does NOT take control of the entire browser window. As a result, an Aura Script can be embedded within the larger context of the client's application page (say through a sub-section of the page, or even a Dhtml popup).
A hallmark of Ui2 is to provide modular extension points that support customization at either a deployment or customer level. This "extension" philosophy applies to both style (CSS) and logic (JavaScript). This is accomplished without functionally modifying core, allowing the customization points to more easily migrate to subsequent Aura releases.
I designed and implemented an advanced testing tool used by AURA users to validate their rules. This utility is a "System Testing" tool, as it exercises fully deployed AURA functionality. An innovative approach was used where test data (both complex input and expected results) could be maintained in spreadsheets, interactively driving the test suite (through internal macros).
The last achievement of my RGA tenure was part of a team that re-wrote RGA's long standing AURA rules engine. A new design was implemented that promoted a next-generation Disclosure Engine. I was instrumental in the design process, and lead the team that developed the Disclosure Engine User Interface - using the Angular 1 framework (very new at the time).
Q-up Mobile Systems
St. Louis, MO
Consultant | 7/2007 - 4/2008 |
While somewhat confidential (at this point), the apps were based on a J2ME architecture (Java Micro Edition), and were deployed to GPS-enabled cell phones and PDAs.
One aspect of this project involved the development of a sophisticated web-based geographical mapping agent, utilizing the Google Maps API (a programmatic API that provides the ability to interject application-specific graphical overlays), employing an AJAX-based Web 2.0 architecture.
Consultant (Technology Partners) | 10/2003 - 8/2004 |
I was instrumental in re-factoring the underlying architecture to utilize business-objects, capable of being marshaled over a distributed boundary (through XML).
I designed and implemented a full-featured scheduling system, supporting the automation of project work within the lab. The system is very interactive, promoting a variety of flexible views, with drag-and-drop capabilities.
I also architected a report query tool using an XML grammar. The XML binding provided an expressive mechanism to represent complex and extensive structures in an intuitive way. All queries were maintained by our administrative users, and presented through a dynamic menu hierarchy.
Express Scripts International
St. Louis, MO
Consultant (Technology Partners) | 11/2001 - 9/2003 |
In addition to my component development responsibilities, I have promoted extensive use of high-level documentation (in an on-line web-based form), both technical specifications (using UML class and sequence diagrams), along with extensive javadoc. I have also implemented several automated development processes, including a build process using ant, and an automated test environment using JUnit.
Specialty Distribution System | 3/2002 - 9/2003 |
I joined this project subsequent to it's release in production. My primary responsibility has been in the area of re-architecting various critical-path components -- to provide better throughput, with more flexibility, using sound Object Oriented design principles. My major contributions include the following:
The end result of this re-design effort was very successful, improving throughput performance by a factor of 10, even with the increased volume. Equally important was the maintainability improvement of the release checks themselves, through an extendable and open architecture. The following aspects were implemented:
It was recognized early on that our previous architecture, modeling knowledge through clips rules, would fundamentally not satisfy these requirements. Supporting these advanced features require a meta-reasoning capability, that is, the ability to reason about the rules themselves. This provides features such as how, why, what if, and the ability to identify missing input that could affect resultant decisions, etc. Meta-reasoning dictates that the rules themselves be treated as data. Fortunately in our case, the rules could be represented as a network of and/or nodes and both the reasoning and meta-reasoning functionality needed can be accomplished using rather strait forward algorithms -- using any conventional language (such as Java). The decision to replace the Jess component was a straightforward for the following reasons:
A delegation event model was employed, providing the proper division of work. A "secondary" external activity emits the appropriate application-defined events, while suitable correspondence agents listen for selected events, generating the necessary correspondence.
The correspondence listeners were implemented through a supplier-based class hierarchy (using a factory pattern), which allowed supplier-specific correspondence decisions to be applied at the appropriate location (using polymorphism).
With the introduction of this event/listener model, it was crucial to retrofit all logic to utilize this central point of control. Prior to this effort, logic was spread out over a variety of places (as a result it was unwieldy, difficult to maintain, and not very expandable).
The cache duration is completely defined by the client's usage, tied to the life-cycle of each SdsObjCache. A typical usage scenario would be to use a cache instance only within the context of a logical transaction. This allows each transaction to see the most current database content while significantly reducing the number of redundant database accesses within the scope of the transaction.
SdsObjCache is re-usable and generic in the sense that it can be used by any SDS component. Derivations of SdsObjCache can provide value-added semantics to a specific component/operation (for example, a multi-threaded initialization process, seeded with key contextual information).
SdsObjCache is thread safe. It guarantees that requests for the same object key will return the same object instance (even in a multi-threaded environment). In addition, parallel processing will function in the most optimal fashion, synchronizing on the smallest scope locking objects possible. This promotes the most optimal throughput possible.
The SDS System run-time configuration is accomplished through a single java property file. Multiple property files can be used, but in general, are not needed. The details of this configuration have been abstracted through the use of the SysResources java component. It is possible to utilize a single (unmodified) property file for all processes in all deployment environments. As a result, this single resource can be version controlled, and deployed as part of the packaging process of the build procedure.
The pool is created with an initial capacity of Threads. The number of threads can dynamically increase beyond the initial capacity, as required ... based on the maximum number of concurrent threads requested.
Alternate Funding System | 11/2001 - 2/2002 |
I was responsible for the design and implementation of the back-end distributed Corba Java components, along with the expert system means testing service.
A typical usage scenario would be an iterative process where an advocate answers a series questions about a patient. At any time a means test can be performed to determine what assistance programs they are qualified for. If a program's eligibility cannot be determined because additional information is required, those unanswered questions are then presented.
The acceptance criteria, for the various third party assistance programs, can be completely customized by an application administrator. This criteria persists within an Oracle relational database. The means testing component utilizes an expert system knowledge base, which is derived from the Oracle representation, transformed into a Jess Clips format.
Consultant (Technology Partners) | 12/1999 - 10/2001 |
A strong emphasis was placed on architecture, design, and documentation. Standards, utilities, and procedures were established that work in an open environment (spanning the gambit from NT development workstations, to the production delivery Unix platforms).
My responsibilities included a full gamut of the various architectural tiers, including servlet components, internationalization, view state, state transition, business services (utilizing session EJBs), and the business domain objects (used throughout each layer of the various software tiers). I was also responsible for the design/implementation of various infrastructure components, key to the architecture, along with the development/build environment, and documentation standards used by the entire team.
Consultant (Technology Partners) | 1/1996 - 11/1999 |
Subsequent projects were web-based implementations, utilizing Java Applets/Servlets, and JavaScript. A business tier middle-ware component was employed (implemented in Java).
Several early prototypes were developed in CGI using Perl.
One of my project efforts also employed Java JNI (Java Native Interface) tying into legacy libraries, and utilized Java RMI (Remote Method Invocation) as a distributed service protocol.
An on-line documentation approach was developed that included both project content (such as Architecture, Design, Object Models, and Technical Specification) as well as process (such as methodologies used, and administrative procedures).
I have also been utilized at Jones in establishing their internal standards and tool selection, specifically in the area of Java and C++ development.
MasterCard International
St. Louis, MO
Consultant (Technology Partners) | 7/1995 - 12/1995 |
Southwestern Bell Technology Resources
St. Louis, MO
Consultant (Technology Partners) | 10/1994 - 6/1995 |
Member of Technical Staff | 3/1994 - 9/1994 |
McDonnell Douglas Corporation
St. Louis, MO
Senior Technical Specialist | 2/1991 - 2/1994 |
The system adheres to a strict object oriented methodology, and was implemented using C++, Motif, and X-Windows, on both Sun SPARC and HP700 work-stations. It's user interface is very flexible and highly intuitive, patterned after the dominant GUI's of today. The system utilizes pull-down and pop-up menus, and electronic clipboards. Mouse wrappers allow graphical objects to be mouse-selectable. Overlapping prioritized windows allow multiple concurrent viewports to display the same or different models in the same or different formats.
The system actually provides an automated design knowledge capture. The acquired design information is to be used in subsequent tools to support testability, embedded systems software, reliability and maintainability, thereby promoting concurrent engineering and integrated product definition. This was a very exciting project which obtained high level visibility within MDC.
The system is very production oriented. Even though it was a research project, it is being actively used in the production design of several sub-systems on the F/A-18 E/F, T45, and C17 aircraft.
I also prepared and taught a 5 day course entitled "Object-Oriented Programming Using C++". The course emphasizes object-oriented concepts and techniques while learning the C++ syntax.
Senior Technical Specialist | 11/1988 - 2/1991 |
Technical Specialist | 5/1987 - 10/1988 |
Electronic Data Systems
Detroit, MI
Senior Software Engineer | 3/1985 - 4/1987 |
In addition to the above responsibilities, I served in the capacity of the Technical Assistant reporting directly to the Divisional Manager of the Computer Aided Engineering Department.
Delco Electronics - Division of GM
Kokomo, IN
Project Leader | 1/1984 - 2/1985 |
Systems Analyst | 6/1979 - 12/1983 |
One major contribution was the development of a complete on-line Bill of Material Maintenance system including a computer aided Part Number Assignment Facility. The inquiry capabilities of the system developed into a highly visible communication tool for Delco personnel across many functional areas. An extensive Users Manual was developed and formal presentations made dealing with the usage of this system.
McDonnell Douglas Automation
St. Louis, MO
Programmer | Summer Employment 5/1977 - 9/1977 |