Martin E. Koons
CertifiedMicrosoftProfessional
Senior.NETDeveloperandSoftware Architect
443.467.4865
martykoons@outlook.com
TECHNOLOGY
DEVELOPMENT- .NET Frameworks all versions, C#,C++,Win32 API, .NET Win forms, ASP.NET,MVC3-4, Entity
Framework, XML DOM,XSLT, Visual Basic all versions, COM, COM+,TeamFoundation Server,Windows
Communication Framework (WCF), Microsoft Transaction Serverall versions including Component Services,
Source Safe,PowerShell 2, MS Message Queue,Windows Workflow 3, BizTalk, Windows Installer, Install
Shield,Log4Net Logging, Microsoft Unity Framework
Application Types – Win32 API, In-Process DLL, Custom Win32 Controls, Out of Process OLE Server,
Stateless Middleware, Windows Service,Visual Studio and VB Add-In, MMCPlugin, .NET Remoting,
WebApps, ServerSide Controls, WebServices,EventDriven, Distributed COM+ Application, n-Tier,
Multi-Threading and Async.
OtherOS – IBMOS/2 - Presentation Manager, Dialog Manager, Easel,DB2/2,Cset/2++ ,Smalltalk/2 5.0
IBM/MS DOS:CLI, BASIC,Quick Basic, 8086 Assembly Language,Debug,DSD,Codeview Unix – C++,
Korn Shell, vi
Design Patterns –Collection/Singleton, Object Factory, MVC, Pipeline
DATABASE – SQL Serverall versions, Oracle, MS Access,eRWin,Rational, dBase, bTrieve,DataEase, Paradox,
DB2,Faircom C-Tree DBMS
PRODUCTIVITY- MS Office: Word, Excel,PowerPoint, Visio for Enterprise Architects, Boston Workstation
Emulators CRM: Goldmine and Insight
MOBILE – Linux,Android, Python, Eclipse, USBDeveloperBridge,Android Server,several device emulators
MAINFRAME – MVS,VM,TSO,ISPF, Panvalet, Assembler H,System Dumps,VTAM,started tasks, DB2,VSAM,
Generation DS,LU2, LU6.2, APPC, JCL, IDCAMS,IND$ File Transfers
A BRIEF HISTORY
I begandevelopingonthe MicrosoftPlatforminthe mid'90's using Visual Basic 5 and 6. When.NET arrived,I
pursuedthe C# language and itsabilitytouse Objectsto implementBase/Subclassesemployingobject-
orientedfeaturesof EncapsulationandPolymorphism.
Since 2000, the workI've done hasbeenprimarilyin C#,Winforms,ASP.NET,DistributedArchitecture,Object
OrientedDesignand Programmingand the SQL ServerDatabase. Most recentlyIhave beenfocusedon web
developmentusing MVC,EntityFramework,WCF anda smatteringof Linq.
I am specificallyinterestedincontinuingmycareerinMicrosoftdevelopmentusingC#,Winforms,ASP.NET,SQL
Serverandall of the mostcurrenttechnologiesavailablethatemploythe MicrosoftDevelopmentPlatform.
Unlessstatedotherwise,all of the work listedbelowsince 2000 has beenwritteninC# usingSQL Server.
EXPERIENCE
UPS 10/2013 – PRESENT
o Using C# and the Faircom C-Tree Database ManagementSystem,performed maintenance on existing
package delivery systems including the forward-facing application MyChoice.
o Using C# and C-Tree,developed utility programs which evaluated and compared terabyte databases
to perform parallel testing of old and new software. This was used to determine if various new
development was working correctly.
o Used DependencyInjection(DI) in order to fake certain systems. For example,when comparing
large databases, there might have been code in existingobjects which posted to Message Queuesor did
I/O to disk files. These operations were faked by using the Microsoft Unity DI Framework. Calls to
various functions did nowork, but returned a successfulcode, allowing the program to continue working
on the database problem without wasting time on unnecessaryprocessing.
o Developedprograms in C# which used Microsoft Office Automation to read complex information
from Excelspreadsheetsand insert them into the C-Tree database.
o Developedseveral multi-threaded test applications which repeatedly called many web services at
random. This produced an environment that simulated thousands of customers calling the web services
when using MyChoice. This application would run for many hours and use Stopwatch objects to record
precise timings and save them in a collection that was periodically written to a log file.
o Used Log4Net in various ways to log information to Info, Debug,Warning and Error logs depending
on the context of the issue.
CANTON GROUP 3/2013 – 9/2013
o Using C#, ASP.NET and SQL Server,developednew features for an existing accounting application
used by the Maryland State Department of Education (MSDE)
o Created new web pages using ASP.NET which allowed MSDEto link a legacy Oracle system with
disparate row IDs and other information to their more current SQL Serverdatabase.
o Created a Windows Service in C# which sends email messages asynchronously to the web
application.
o Using WCF, developeddistributed code modules which ran out-of-process to the website, but
provided a business layer that could be called from any of their running systems.
o Upgraded an internal security sub-system which allowed the website to query a user'srole and
display or hide menuoptions based on the current user's authority level.
o Developeda Winforms program in C# which updated XML data in XML columns of the SQL Server
database. The screenprompted for a connectionstring, a table where the XML data was stored, the
column name of the XML data, the XML node within the data they wished to update and a querythat
returned a dataset which contained the value they wished to put in the XML Node. They could also
choose to put a literal value in the node, bypassing the query all together.
CIMA - 10/2012 – 1/2013
◦ Working one or two days a weekto monitor the initial development of a system migration from a legacy
COBOL code base to MVC 4 web and mobile app using C# and SQL Server.
◦ Installed Team Foundation Serverso that their team members could begin collaborative development.
◦ Overseeingthe initial architecture to ensure that when their actual development phase begins, they
have proper separation of concerns,remote application placement and the ability to lay in daily
modifications using configuration–based DependencyInjection.Theywant to aggressively port the
COBOL code to the .NET Service OrientedArchitecture on a piecemealbasis.
◦ Charged with developing a methodology for unit testing a large scale MVC 4 application. I have
suggested that they implement select areas of Agile, specifically Test DrivenDesign (TDD)using
xUnit.net.
◦ Configured TFS to perform Continuous Integration, a feature that builds the system and runs the full
suite of automated tests any time a check-inoccurs. The system is then Continuously Deployedto an
Acceptance TestServer.
CRI - 05/2012 – 09/2012
◦ Developeda solution to a memory leak in an existing C++ application. Several threads were working in
the program that were not directly accessible to the main program, ie: VBA Kernel,third–party controls
and the SQL Server data managers being used by the program.
◦ Once memory leak was fixed,moved on to various maintenance projects to extend,enhance and fix
existing bugs.
SUMMIT CONSULTING - 11/2011 – 05/2012
◦ Developeda system from scratch using C#.Win32 program that included routines to evaluate AutoCAD
drawing files. The requirements included the ability to determine the existence of certain drawing
objects; whether they overlapped; their position in relation to other objects and other geometric
properties including elevation, slope and area.
◦ Created a user–editable, rule–basedmethod to determine if the AutoCAD files had all the necessary
objects and that theywere properly placed and sized. User updatable files were XML based and used a
series of rules that determined pass, marginal pass, fail or incomplete.
◦ Ported low–level geometricroutines from C++ to C#.It was necessaryto switch some C++ data
declarations such as pointers–to–pointers and overloaded operators and globally defined data into the
equivalent C# declarations.
PROMETRIC - 03/2010 – 07/2011
◦ Designedand developed a solution in C# to optimize the performance of a MSMQbased system.
Messageswere backlogging to the point where they would not be cleared in a twenty–four hour period,
thus causing more problems the following day. Using a design pattern called "Pipeline"I both optimized
the processing of messagesby 500%, but also improved the error handling and logging.
◦ Developed(per spec) the code required to convert a Win32 program running on the task scheduler to a
Windows Service.Thisprogram also requires code changes and re–deploymentif Prometric acquires
another testing company. (Not my design) So this has an ongoing maintenance task that has lasted for
the entire time I've beenhere.
◦ Designedand developed an interactive website in C# and ASP.NET that allows users to review and report
on the types of messages that flow thru the MSMQsystem describedabove.
◦ Designedand developed a website that allows people to randomly select messages(from above MSMQ
system), extract any photographs that are embeddedin the message and display the photo. It there is a
defecton the photo or the face of the candidate is not centeredor is out of focus; or something else is
wrong, they can press a button and the photo, the Database Row ID for the photo and other pertinent
information is sent by email (exchange)to an administrator who can request a new image from the field
location.
◦ Performed analysis on a file type that is transmitted thru the system via a testing program that is now
obsolete. No one here knew what was contained in the file. I reverse engineered the file format by using
bits and pieces of source code and documentation and found that it was a fixed–lengthbinary file that
required data structures with the binary data types (double, int, float etc.) in order to properly parse the
file. I designed and coded a C# object to wrap this file so that developers can now use a normal object to
accessthis data instead of doing low–level file reads and low–level code structures.
◦ Developeddesign documents in MS Word for all above projects
◦ Developed"Release Notes" that accompany software deployment according to our SDLCfor all above
projects.
◦ Performed unit and system tests on all above projects.
SUMMIT CONSULTING - 12/2005 – 04/2006 / 04/2008 – 03/2009
◦ DevelopedacontentdevelopmentsystemusingWin32formsintowhicha nursingassociationcouldenter
questions,answers,picturesandvideo.Thiswouldlaterbe convertedintoacertificationexam.
◦ Created a utility which would allow the user to open an image file and begin to draw hotspots on the
picture. These hotspots could be named, given a tooltip and associated with a sound or video file. If it
was a picture of a patient and they hovered the mouse over the chest area, they would hear a heartbeat.
Or possibly see a video of an EKG.
◦ Created complex XML documentswhich representedthe above exams.
◦ Developeda billing prototype using Windows Workflow 3.0. This state–machine would guide the end
users thru the process of subscribing to an exam,getting various levels of approval, paying their bill and
receivingconfirmation.
◦ Created a Win32 .NET application that performed as an Integrated DevelopmentEnvironment (IDE) used
by clients to develop certification examsfor use within their own companies. Doctors, lawyers, pilots etc
could use this IDEto develop complex internal testing applications.
◦ Created design documents including justification, requirements specification and various technical
specification items such as an object model, database diagrams and sequence diagrams for complex
interactions.
◦ Developedand tested all of the code including an XML based data layer, a business layer which held
state and a complex, Explorer–like GUI. By design,this GUI's behavior is indistinguishable from the
Windows Explorer providing drag–and–drop, object specific popup menus, sort capabilities and property
editing.
◦ Wrote 'transformation constructors' on all business objects so that input could be provided from various
sources such as a DataRow, XML Node, sequential file and MS Excel.Once constructed,the objects
produced the same output regardless of which transformation constructor createdthe object.
LOCKHEED MARTIN - 07/2005 – 10/2005
◦ Short term contract to stabilize an existing MS Accessapplication before the endof a fiscal accounting
period.
◦ Created project documentation that describedand prioritized the steps necessary to accomplish as
much as possible in the short time period.
◦ Created and maintained a project plan, organized the efforts of myself and two client employees,drove
the project to completion.
XL HEALTH - 10/2004 – 02/2005
◦ Designedand implemented a web–basedarchitecture for a small health care company. The system was
intended to be a CRMwhich tracked patients, doctors and health care providers.
◦ Created an object model using MS Visio. Model included all inheritance chains, methods and properties
of all objects and detailed documentation for eachobject, method and property.
◦ Created a SQL Server database to replace a poorly designedlegacy database. Initial database was mainly
lists of related information with no formal database design.Result was a highly normalized database
design with object–orientedconsiderations.
◦ Programmed a method of importing data from multiple sources. The source of the data was the original
database structure and client data in various formats including flat files, Access databases, Excel
spreadsheets and more.
◦ Developeda method for maintaining source control betweendevelopers in Bangalore India and the
Baltimore office.
CIMA - 04/2004 – 08/2004
◦ Enabled this company to upgrade their existing code base to .NET.Theyhad no experience inthis
platform and neededassistance in doing it right the first time. Tasks included: Overview of object
oriented programming and C#;Integration of Visual SourceSafe into the development cycle;description
of the n–tier architecture;.NET Remoting.
◦ Created an end–to–endmodel of a .NET remoting environment with a Data Layer, BusinessLayer and
GUI Layer. Data Layer was on a remote machine and used the standard .NET Remoting to communicate
with the client machine.
◦ Used .NET Dataset objects to represent the internal storage for collection classes. Implemented
IEnumerable and IEnumerator in these classes so that the consumer could iterate the collections like
everyother .NET class that implements IEnumerable.
◦ Created a generic GUI that is similar to the Microsoft ManagementConsole. Any application can be
plugged into the GUI as long as certain interfaces are implemented.GUI is completely separated from
the business logic.
◦ Fielded many questions from the development team regarding the C# language. Mostly variable
declarations; how does try/catch work; how to make a collection etc.
SYLVAN LEARNING CENTERS - 12/2003 – 03/2004
◦ Evaluated existing suite of software currently usedat Sylvan for CRM,Schedulingand Accounting.Client
wished to replace their current software with a custom .NET solution written in C#.
◦ Using a detailed requirements specification, created an Object Model using MS Visio. Object Model fully
described all objects, interactions and OO hierarchy when necessary.
◦ Developedan n–tier design that used .NET Remoting.Evaluated all Remoting scenarios and chose the
best option based on their requirements.
◦ Designeda role–based security system similar to 'Active Directory Manage Groups and Users'. Created a
database solution for this security.Created a 'User'object that would report whether users had certain
rights and privileges. This was used to enable/disable certain UI controls based on the user's authority
level.
◦ Used my previous .NET experience and extensive enterprise development experience to mentor the
project team. Sylvan had experience withFoxpro and VB6 in a two–tier model.
THE ACIGROUP - 08/2002 – 10/2003
◦ Designedand implemented a web–basedapplication using Microsoft .NET.Application was a financial
contact management system for a Baltimore client.
◦ Used rigorous object oriented methodology to design our object model. Used Visio 2002 to create an
object model, sequence diagrams and various use case scenarios.
◦ Used the C# language to implement roughly seventy–five objects to support the system.Our .NET
Assembly had eight DLLs.
◦ Used the .NET Framework to handle transaction processing similar to Microsoft MTS.Byderiving the
appropriate classes from ServicedComponent,we were able to ensure the proper commit/rollback
processing.
◦ Created server–side controls using .NET.Createdobjects with events using .NET.Created specialized
delegates to pass information through the events to the custom controls and back.
◦ On another project using VB6: Created classes that represented collection and singleton classes that
used persistent XML documents as a data store. Rather than use SQL Server,this client wanted to easily
replicate these files around his organization. XML files were easier and used less bandwidth.
◦ Other developers that were used to the collection/singleton metaphor consumedthese classes with little
training. Thus,we were able to save time by providing a familiar solution to a brand new problem.
THOMPSON PROMETRIC (FORMERLY SYLVAN LEARNING) - 10/1999 – 10/2001
Architecture
◦ Contributed heavily to the design of a standard n–tierarchitecture. Was responsible for
developing and maintaining an organized deployment model.
◦ Adopted a COM+ environment on all client and server machines. Client machines had
components in their local COM+ environment running in 'Library', or 'In–Process'mode.Business tier
used COM+ to expose VB components running in 'Server',or'Out–of–Process'mode. Data tier also
ran in 'Server'mode on the physical SQL Server machine.Made extensive use of COM+
◦ Was involved in the design of the SQL Server database solution. Using system requirements
and existing system design, all tables, indexes,referentialintegrity, triggers and stored procedures
were defined.A DBAthen used ERWIN to create the database and associated documentation.
◦ Designedand created a Microsoft Message Queue (MSMQ)solution to the specific problem
of printing confirmation letters in a global organization. All data elements of the confirmation letter
were renderedas an XML document.This XML was posted on a MSMQon one of a number of
servers located in foreign countries. A queue listener would merge the XML into an XSL style sheet
that had been tailored specifically for that country.The documentwould then be printed and sent
via local mail carriers. In this way, my client instantly began saving international postage feesin the
neighborhood of $100,000 per month.
◦ Designedand created a customized version of the Microsoft Management Console (MMC).
This console application allows other, business–orientedapplications to be 'plugged in'. This is
accomplished with VB components and a series of COM interfaces.
Biz Talk :
◦ Designedthe MS Message Queue channels underlying a BizTalk application. Several
classifications of files arrived on a main queue and were separated into ExamResults, Payment
Transactions, Requests for scheduling an exam and requests for grades from Sylvan Learning
Centers.
◦ Additionally, there were several sources of information: Schools,Exam Candidates and Credit
Card Processing Companies; each producing a myriad of heterogeneousdata formats including
XML, CSV,Fixed Record Formats and Sequential Data.
◦ Additionally, some sources of information required that all or some portions of the
transmission be encryptedusing methods that those companies specified. Therefore,it was possible
to have multiple types of encryption, decryption keys and base-64 encoding on any given message
that arrived that single input queue.
◦ Multiplying out the permutations, the above set input formats produces over three-hundred
distinct pathways thru the Biz Talk channels. (Message Queues in this case.)
Development:
◦ Led a team of four developers. Our task was to implement a complete 'domain table'
maintenance system using the MMC–like console application describedabove. This application used
right–click contextmenus to expose the properties of the business–tier objects.
o Developeda VB Custom Control that looked like a Gantt chart. Testing stations were down
the left side, hours of the day were horizontal bars. Eachexam was a bar that could be dragged and
dropped by the operator scheduling the exam.
o Used ADO to perform disconnecteddata access to SQL Server database.
o Performed tedious, grunt programming to produce the myriad of classes required to satisfy
the requirement.
o Developedthe nextgeneration 'test driver' program that actually delivers the examin the
test centers. Thisincluded the creation of a source language to describe the screen layout and
executionparameters of a given exam.This language was developedin XML. We used a schema to
'pre–compile'the source code.A custom compiler then renderedthe the author's intentions into an
OLE Structured Storage (OLESS)file. Like the XML source,the OLESS database is hierarchical. The
'test driver' application read the OLESS file and renderedthe author's intentions onto the screen.
This application was written exclusivelyin VC++.Recursionwas used heavily due to the hierarchical
and nested nature of the data.
o Developedan 'Active DocumentContainer'. This was a window derived from ATLclasses that
implemented all windows interfaces necessaryto site an active documentwritten in VB. In this way,
developers could write 'plug–ins'in VB and site them in the test driver.
o Developeda series of VB objects that wrote binary output to BASICRandom files. These files
would later be usedfor input into a legacydatabase system. I wrote code to translate VB dates,
times, numeric formats into the binary representations of data in the legacy database application.
o This test driver is an advanced COMapplication. ATLprogramming is extremelypowerful, but
complicated. The implementation of COM interfacesusing C++ and the ATL wizards is much more
difficult than VB.
CIBIS - 07/2001
o Created a Win2K Service in VC++.This service would load any COM object into it's process and
expose it's interface.This program was createdto allow normal developers to create COM objects in VB
and start them as services.This is especially helpful in a MSMQenvironment where a myriad of objects
are distributed among many machines in a messaging environment.
JOHNS HOPKINS HOSPITAL - 01/1999 – 10/1999 / 05/2007 – 04/2008
o Performed maintenance on a system that I developedfor the Hospital and University in 1999.
o Assisted in the conversion of a terminal emulation portal from VB6 into an emulator called Boston
Workstation. This required detailed analysis of the original Windows, mainframe and Unix terminals so
that they could be ported into the new system.
o Recommendedthat an n–tierarchitecture model using MTS be adopted as the development
platform for their newest revision of their flagship session management system. It was approved.
o Guided the development cycle.Although the project leadership role was assigned to an employee,I
was involved in all aspects of the system design.
o Designedand implemented the SQL Serverdata model neededto satisfy the requirement.
o Developeda VB Custom Control that behaved like the standard tree/menucontrols in Internet
Explorer that are displayed whenyou choose History or Favorites.
AON RISK MANAGEMENT GROUP - 04/1997 – 12/1998
o Assisted in the development of a database designthat we named 'tall–and–skinny'. It was similar to
the self–describingnature of a database catalog. Instead of tables beingcreated with individual data
items in columns, eachdata item was representedin a single row. Indexes,referential integrity rules,
validation rules, data definition and data values were all stored in this data dictionary. Using this design,
end users were able to add fields and otherwise customize the data model without using SQL ALTER
commands or CREATE/DROPTABLEcommands.
o Led an effort to determine all necessaryconsiderations to create a globalized, multi–language
application. Using a combination of custom programming and windows API calls for specificlocale
information, we developed a system that could run in any of the western languages.
o Led a team of three senior developers in a project to create objects that wrapped the low level
functionality of the system. This functionality included methods to dynamically renderforms in different
languages at runtime, methods to accessa highly abstracted database model, MTS middleware
components (MTS 1.0 was in beta test at that time). These components were consumed by other
developers on the larger, business–oriented development teams.
[ed:] - Theglobalizationand dynamicforms were accomplished primarily by theuseof the'tall–and–skinny'
databasedesign.Each dataitem, suchas 'FirstName' or'Address1',havea uniquekey in thedatabase.You
can lookup theirvalue based onthis key.Youcan also lookupother propertieslike 'ScreenLabelText
(currentLanguage)','ValidationRule()', 'FormatString (currentLanguage)'.
UPS - 10/1996 – 12/1996
o
LOCKHEED MARTIN, OWEGO, NY - CIRCA 1995
o Using VB 5 Custom Controls Edition, developed controls that could be placed on a VB form in design
mode. Eachcontrol represented a real–world device in a Process Control Environment. Using VB in
design mode, users could create a tank, a heater,a thermometer,a valve, safety devicesetc. Property
pages for eachof the devices acceptedinitial parameters as well as behavioral attributes over time.For
example:A tank that is 100% full will rise in temperature at a rate of one degree every five minutes after
it's associated heater is activated.
o When VB was placed in Run Mode,the simulation would actually run. It would operate in accordance
with the parameters entered into the property pages. Eachtime an event was triggered, strings of
machine instructions would be streamed to the debug window. It is my belief that theyused this
application as a GUI that would drive an existing 'command oriented' program that drives an actual
production facility.
ALEXANDER AND ALEXANDER - 04/1995 – 09/1996
o Developeda laptop application for insurance salesman using VB4 and Access2.0.
BALTIMORE GAS AND ELECTRIC - 10/1994 – 04/1995
o Designedand developed a small scale Access2.0 application that managed employee time and
material usage for billing to various unions and employment agencies.
IT TRAINING
Training courses that I developed and presented to developers (Below):
CIMA
o Delivereda two–week seminar on how to develop an n–tiersystem in .NET.Thisarchitecture
involved .NET Remoting.Explained how the n–tier architecture works.
o Setup a complete development environment comprised of the .NET IDE,VSS,Database connections
and various solution files. One solution contained the entire system including the Remoting and Help
System.Another solution omitted the Remoting project for simplicity of working on the business layer.
o Explained how to use real object oriented methods. How to derive classes from .NET objects, how to
scope variables and methods properly (abstract, protected,private, public), how to override methods in
sub–classes or allow them to be handled by the base class.
THOMPSON PROMETRIC (FORMERLY SYLVAN LEARNING) - 10/1999 – 10/2001
o Developedaseriesof one dayseminarsonvarioussubjectmatterincluding:Intermediate VB,Advanced
VB,Objectorienteddesign,VBandCOM+ andMicrosoftMessage Queue.
For each seminar listed above:
◦ Created course syllabus using current projects and readily available internal documentation.
◦ Tailored the learning experience specificallyto the developers and project leaders who requiredthe
information.
◦ Prepared PowerPoint slides to be usedas visual aides during the presentation.
◦ Prepared a learning auditorium containing more than thirty computers. Provided instruction to the
room operators regarding overhead projectors and specificsoftware to be installed on the
computers.
◦ Deliveredthe presentation.
◦ Deliveredexecutive levellectures regarding highly technical subject matter. Using PowerPoint slides,
Rational Rose Object Diagrams and a whiteboard, detailed information was presented and discussed
in an informal environment.
◦ Presented a one day, hands–on demonstration of a Schedulingand Registration program being
developed by myself and other membersof my team. There were over forty administrators from
around the world. Manywere not familiar with Microsoft technology released after Windows 3.1. For
many there was an enormous language barrier. With a lot of perseverance I delivered the
information and receivedexcellentreviews from the administrators.
AON RISK MANAGEMENT GROUP - 04/1997 – 12/1998
◦ Spent many weeks at the whiteboard explaining extremelycomplicated database and object designs
to non–technicalpeople who insisted on knowing the information. Used PowerPoint, a digital camera,
post–it notes, tinker toys and standard "team–building"exercisesusedin managementseminars.
◦ Did everythingI could think of to educate these people in the fine nuancesof technicalsystem
designs. I'm not sure if it all sank in, however, I scored high praise by those who attended.
◦ Deliveredmany system proposal meetings with the highest executive levelpeople in the company.
There was a system that I was contracted to develop by one of the Sales Managers. This system would
streamline the sales process of remote (laptop/handheld) sales people. The problem was, that it
required a re–engineeringof the business. This subject was hotly debated and it was my job to defend
the system to the high level brass.
SOFTWARE CONSORTIUM - 1995 – 10/2001
◦ Working with another developer,created a course syllabus for AdvancedComponent Development
for the COM Environment. This class met once a weekfor four hours. The course was mainly for junior–
level developers to learn the correct way to perform OO design, error handling, parameter passing etc in
a distributed environment.
◦ Created and delivered a one day seminar on the same subject. This class, which was presented at
Villa Julie, was geared more to the advanced–level developer.Designand architectural considerations
were brought to bear on a difficult case study. Primarily normalizations to OO designs to allow web
interfaces to be more efficient in a Microsoft DNA Environment.

Martin Koons Resume 2015

  • 1.
    Martin E. Koons CertifiedMicrosoftProfessional Senior.NETDeveloperandSoftwareArchitect 443.467.4865 martykoons@outlook.com TECHNOLOGY DEVELOPMENT- .NET Frameworks all versions, C#,C++,Win32 API, .NET Win forms, ASP.NET,MVC3-4, Entity Framework, XML DOM,XSLT, Visual Basic all versions, COM, COM+,TeamFoundation Server,Windows Communication Framework (WCF), Microsoft Transaction Serverall versions including Component Services, Source Safe,PowerShell 2, MS Message Queue,Windows Workflow 3, BizTalk, Windows Installer, Install Shield,Log4Net Logging, Microsoft Unity Framework Application Types – Win32 API, In-Process DLL, Custom Win32 Controls, Out of Process OLE Server, Stateless Middleware, Windows Service,Visual Studio and VB Add-In, MMCPlugin, .NET Remoting, WebApps, ServerSide Controls, WebServices,EventDriven, Distributed COM+ Application, n-Tier, Multi-Threading and Async. OtherOS – IBMOS/2 - Presentation Manager, Dialog Manager, Easel,DB2/2,Cset/2++ ,Smalltalk/2 5.0 IBM/MS DOS:CLI, BASIC,Quick Basic, 8086 Assembly Language,Debug,DSD,Codeview Unix – C++, Korn Shell, vi Design Patterns –Collection/Singleton, Object Factory, MVC, Pipeline DATABASE – SQL Serverall versions, Oracle, MS Access,eRWin,Rational, dBase, bTrieve,DataEase, Paradox, DB2,Faircom C-Tree DBMS PRODUCTIVITY- MS Office: Word, Excel,PowerPoint, Visio for Enterprise Architects, Boston Workstation Emulators CRM: Goldmine and Insight MOBILE – Linux,Android, Python, Eclipse, USBDeveloperBridge,Android Server,several device emulators MAINFRAME – MVS,VM,TSO,ISPF, Panvalet, Assembler H,System Dumps,VTAM,started tasks, DB2,VSAM, Generation DS,LU2, LU6.2, APPC, JCL, IDCAMS,IND$ File Transfers A BRIEF HISTORY I begandevelopingonthe MicrosoftPlatforminthe mid'90's using Visual Basic 5 and 6. When.NET arrived,I pursuedthe C# language and itsabilitytouse Objectsto implementBase/Subclassesemployingobject- orientedfeaturesof EncapsulationandPolymorphism. Since 2000, the workI've done hasbeenprimarilyin C#,Winforms,ASP.NET,DistributedArchitecture,Object OrientedDesignand Programmingand the SQL ServerDatabase. Most recentlyIhave beenfocusedon web developmentusing MVC,EntityFramework,WCF anda smatteringof Linq. I am specificallyinterestedincontinuingmycareerinMicrosoftdevelopmentusingC#,Winforms,ASP.NET,SQL Serverandall of the mostcurrenttechnologiesavailablethatemploythe MicrosoftDevelopmentPlatform.
  • 2.
    Unlessstatedotherwise,all of thework listedbelowsince 2000 has beenwritteninC# usingSQL Server. EXPERIENCE UPS 10/2013 – PRESENT o Using C# and the Faircom C-Tree Database ManagementSystem,performed maintenance on existing package delivery systems including the forward-facing application MyChoice. o Using C# and C-Tree,developed utility programs which evaluated and compared terabyte databases to perform parallel testing of old and new software. This was used to determine if various new development was working correctly. o Used DependencyInjection(DI) in order to fake certain systems. For example,when comparing large databases, there might have been code in existingobjects which posted to Message Queuesor did I/O to disk files. These operations were faked by using the Microsoft Unity DI Framework. Calls to various functions did nowork, but returned a successfulcode, allowing the program to continue working on the database problem without wasting time on unnecessaryprocessing. o Developedprograms in C# which used Microsoft Office Automation to read complex information from Excelspreadsheetsand insert them into the C-Tree database. o Developedseveral multi-threaded test applications which repeatedly called many web services at random. This produced an environment that simulated thousands of customers calling the web services when using MyChoice. This application would run for many hours and use Stopwatch objects to record precise timings and save them in a collection that was periodically written to a log file. o Used Log4Net in various ways to log information to Info, Debug,Warning and Error logs depending on the context of the issue. CANTON GROUP 3/2013 – 9/2013 o Using C#, ASP.NET and SQL Server,developednew features for an existing accounting application used by the Maryland State Department of Education (MSDE) o Created new web pages using ASP.NET which allowed MSDEto link a legacy Oracle system with disparate row IDs and other information to their more current SQL Serverdatabase. o Created a Windows Service in C# which sends email messages asynchronously to the web application. o Using WCF, developeddistributed code modules which ran out-of-process to the website, but provided a business layer that could be called from any of their running systems. o Upgraded an internal security sub-system which allowed the website to query a user'srole and display or hide menuoptions based on the current user's authority level. o Developeda Winforms program in C# which updated XML data in XML columns of the SQL Server database. The screenprompted for a connectionstring, a table where the XML data was stored, the column name of the XML data, the XML node within the data they wished to update and a querythat returned a dataset which contained the value they wished to put in the XML Node. They could also choose to put a literal value in the node, bypassing the query all together. CIMA - 10/2012 – 1/2013 ◦ Working one or two days a weekto monitor the initial development of a system migration from a legacy COBOL code base to MVC 4 web and mobile app using C# and SQL Server. ◦ Installed Team Foundation Serverso that their team members could begin collaborative development.
  • 3.
    ◦ Overseeingthe initialarchitecture to ensure that when their actual development phase begins, they have proper separation of concerns,remote application placement and the ability to lay in daily modifications using configuration–based DependencyInjection.Theywant to aggressively port the COBOL code to the .NET Service OrientedArchitecture on a piecemealbasis. ◦ Charged with developing a methodology for unit testing a large scale MVC 4 application. I have suggested that they implement select areas of Agile, specifically Test DrivenDesign (TDD)using xUnit.net. ◦ Configured TFS to perform Continuous Integration, a feature that builds the system and runs the full suite of automated tests any time a check-inoccurs. The system is then Continuously Deployedto an Acceptance TestServer. CRI - 05/2012 – 09/2012 ◦ Developeda solution to a memory leak in an existing C++ application. Several threads were working in the program that were not directly accessible to the main program, ie: VBA Kernel,third–party controls and the SQL Server data managers being used by the program. ◦ Once memory leak was fixed,moved on to various maintenance projects to extend,enhance and fix existing bugs. SUMMIT CONSULTING - 11/2011 – 05/2012 ◦ Developeda system from scratch using C#.Win32 program that included routines to evaluate AutoCAD drawing files. The requirements included the ability to determine the existence of certain drawing objects; whether they overlapped; their position in relation to other objects and other geometric properties including elevation, slope and area. ◦ Created a user–editable, rule–basedmethod to determine if the AutoCAD files had all the necessary objects and that theywere properly placed and sized. User updatable files were XML based and used a series of rules that determined pass, marginal pass, fail or incomplete. ◦ Ported low–level geometricroutines from C++ to C#.It was necessaryto switch some C++ data declarations such as pointers–to–pointers and overloaded operators and globally defined data into the equivalent C# declarations. PROMETRIC - 03/2010 – 07/2011 ◦ Designedand developed a solution in C# to optimize the performance of a MSMQbased system. Messageswere backlogging to the point where they would not be cleared in a twenty–four hour period, thus causing more problems the following day. Using a design pattern called "Pipeline"I both optimized the processing of messagesby 500%, but also improved the error handling and logging. ◦ Developed(per spec) the code required to convert a Win32 program running on the task scheduler to a Windows Service.Thisprogram also requires code changes and re–deploymentif Prometric acquires another testing company. (Not my design) So this has an ongoing maintenance task that has lasted for the entire time I've beenhere. ◦ Designedand developed an interactive website in C# and ASP.NET that allows users to review and report on the types of messages that flow thru the MSMQsystem describedabove. ◦ Designedand developed a website that allows people to randomly select messages(from above MSMQ system), extract any photographs that are embeddedin the message and display the photo. It there is a defecton the photo or the face of the candidate is not centeredor is out of focus; or something else is wrong, they can press a button and the photo, the Database Row ID for the photo and other pertinent information is sent by email (exchange)to an administrator who can request a new image from the field location. ◦ Performed analysis on a file type that is transmitted thru the system via a testing program that is now obsolete. No one here knew what was contained in the file. I reverse engineered the file format by using bits and pieces of source code and documentation and found that it was a fixed–lengthbinary file that
  • 4.
    required data structureswith the binary data types (double, int, float etc.) in order to properly parse the file. I designed and coded a C# object to wrap this file so that developers can now use a normal object to accessthis data instead of doing low–level file reads and low–level code structures. ◦ Developeddesign documents in MS Word for all above projects ◦ Developed"Release Notes" that accompany software deployment according to our SDLCfor all above projects. ◦ Performed unit and system tests on all above projects. SUMMIT CONSULTING - 12/2005 – 04/2006 / 04/2008 – 03/2009 ◦ DevelopedacontentdevelopmentsystemusingWin32formsintowhicha nursingassociationcouldenter questions,answers,picturesandvideo.Thiswouldlaterbe convertedintoacertificationexam. ◦ Created a utility which would allow the user to open an image file and begin to draw hotspots on the picture. These hotspots could be named, given a tooltip and associated with a sound or video file. If it was a picture of a patient and they hovered the mouse over the chest area, they would hear a heartbeat. Or possibly see a video of an EKG. ◦ Created complex XML documentswhich representedthe above exams. ◦ Developeda billing prototype using Windows Workflow 3.0. This state–machine would guide the end users thru the process of subscribing to an exam,getting various levels of approval, paying their bill and receivingconfirmation. ◦ Created a Win32 .NET application that performed as an Integrated DevelopmentEnvironment (IDE) used by clients to develop certification examsfor use within their own companies. Doctors, lawyers, pilots etc could use this IDEto develop complex internal testing applications. ◦ Created design documents including justification, requirements specification and various technical specification items such as an object model, database diagrams and sequence diagrams for complex interactions. ◦ Developedand tested all of the code including an XML based data layer, a business layer which held state and a complex, Explorer–like GUI. By design,this GUI's behavior is indistinguishable from the Windows Explorer providing drag–and–drop, object specific popup menus, sort capabilities and property editing. ◦ Wrote 'transformation constructors' on all business objects so that input could be provided from various sources such as a DataRow, XML Node, sequential file and MS Excel.Once constructed,the objects produced the same output regardless of which transformation constructor createdthe object. LOCKHEED MARTIN - 07/2005 – 10/2005 ◦ Short term contract to stabilize an existing MS Accessapplication before the endof a fiscal accounting period. ◦ Created project documentation that describedand prioritized the steps necessary to accomplish as much as possible in the short time period. ◦ Created and maintained a project plan, organized the efforts of myself and two client employees,drove the project to completion. XL HEALTH - 10/2004 – 02/2005 ◦ Designedand implemented a web–basedarchitecture for a small health care company. The system was intended to be a CRMwhich tracked patients, doctors and health care providers. ◦ Created an object model using MS Visio. Model included all inheritance chains, methods and properties of all objects and detailed documentation for eachobject, method and property. ◦ Created a SQL Server database to replace a poorly designedlegacy database. Initial database was mainly lists of related information with no formal database design.Result was a highly normalized database design with object–orientedconsiderations.
  • 5.
    ◦ Programmed amethod of importing data from multiple sources. The source of the data was the original database structure and client data in various formats including flat files, Access databases, Excel spreadsheets and more. ◦ Developeda method for maintaining source control betweendevelopers in Bangalore India and the Baltimore office. CIMA - 04/2004 – 08/2004 ◦ Enabled this company to upgrade their existing code base to .NET.Theyhad no experience inthis platform and neededassistance in doing it right the first time. Tasks included: Overview of object oriented programming and C#;Integration of Visual SourceSafe into the development cycle;description of the n–tier architecture;.NET Remoting. ◦ Created an end–to–endmodel of a .NET remoting environment with a Data Layer, BusinessLayer and GUI Layer. Data Layer was on a remote machine and used the standard .NET Remoting to communicate with the client machine. ◦ Used .NET Dataset objects to represent the internal storage for collection classes. Implemented IEnumerable and IEnumerator in these classes so that the consumer could iterate the collections like everyother .NET class that implements IEnumerable. ◦ Created a generic GUI that is similar to the Microsoft ManagementConsole. Any application can be plugged into the GUI as long as certain interfaces are implemented.GUI is completely separated from the business logic. ◦ Fielded many questions from the development team regarding the C# language. Mostly variable declarations; how does try/catch work; how to make a collection etc. SYLVAN LEARNING CENTERS - 12/2003 – 03/2004 ◦ Evaluated existing suite of software currently usedat Sylvan for CRM,Schedulingand Accounting.Client wished to replace their current software with a custom .NET solution written in C#. ◦ Using a detailed requirements specification, created an Object Model using MS Visio. Object Model fully described all objects, interactions and OO hierarchy when necessary. ◦ Developedan n–tier design that used .NET Remoting.Evaluated all Remoting scenarios and chose the best option based on their requirements. ◦ Designeda role–based security system similar to 'Active Directory Manage Groups and Users'. Created a database solution for this security.Created a 'User'object that would report whether users had certain rights and privileges. This was used to enable/disable certain UI controls based on the user's authority level. ◦ Used my previous .NET experience and extensive enterprise development experience to mentor the project team. Sylvan had experience withFoxpro and VB6 in a two–tier model. THE ACIGROUP - 08/2002 – 10/2003 ◦ Designedand implemented a web–basedapplication using Microsoft .NET.Application was a financial contact management system for a Baltimore client. ◦ Used rigorous object oriented methodology to design our object model. Used Visio 2002 to create an object model, sequence diagrams and various use case scenarios. ◦ Used the C# language to implement roughly seventy–five objects to support the system.Our .NET Assembly had eight DLLs. ◦ Used the .NET Framework to handle transaction processing similar to Microsoft MTS.Byderiving the appropriate classes from ServicedComponent,we were able to ensure the proper commit/rollback processing. ◦ Created server–side controls using .NET.Createdobjects with events using .NET.Created specialized delegates to pass information through the events to the custom controls and back.
  • 6.
    ◦ On anotherproject using VB6: Created classes that represented collection and singleton classes that used persistent XML documents as a data store. Rather than use SQL Server,this client wanted to easily replicate these files around his organization. XML files were easier and used less bandwidth. ◦ Other developers that were used to the collection/singleton metaphor consumedthese classes with little training. Thus,we were able to save time by providing a familiar solution to a brand new problem. THOMPSON PROMETRIC (FORMERLY SYLVAN LEARNING) - 10/1999 – 10/2001 Architecture ◦ Contributed heavily to the design of a standard n–tierarchitecture. Was responsible for developing and maintaining an organized deployment model. ◦ Adopted a COM+ environment on all client and server machines. Client machines had components in their local COM+ environment running in 'Library', or 'In–Process'mode.Business tier used COM+ to expose VB components running in 'Server',or'Out–of–Process'mode. Data tier also ran in 'Server'mode on the physical SQL Server machine.Made extensive use of COM+ ◦ Was involved in the design of the SQL Server database solution. Using system requirements and existing system design, all tables, indexes,referentialintegrity, triggers and stored procedures were defined.A DBAthen used ERWIN to create the database and associated documentation. ◦ Designedand created a Microsoft Message Queue (MSMQ)solution to the specific problem of printing confirmation letters in a global organization. All data elements of the confirmation letter were renderedas an XML document.This XML was posted on a MSMQon one of a number of servers located in foreign countries. A queue listener would merge the XML into an XSL style sheet that had been tailored specifically for that country.The documentwould then be printed and sent via local mail carriers. In this way, my client instantly began saving international postage feesin the neighborhood of $100,000 per month. ◦ Designedand created a customized version of the Microsoft Management Console (MMC). This console application allows other, business–orientedapplications to be 'plugged in'. This is accomplished with VB components and a series of COM interfaces. Biz Talk : ◦ Designedthe MS Message Queue channels underlying a BizTalk application. Several classifications of files arrived on a main queue and were separated into ExamResults, Payment Transactions, Requests for scheduling an exam and requests for grades from Sylvan Learning Centers. ◦ Additionally, there were several sources of information: Schools,Exam Candidates and Credit Card Processing Companies; each producing a myriad of heterogeneousdata formats including XML, CSV,Fixed Record Formats and Sequential Data. ◦ Additionally, some sources of information required that all or some portions of the transmission be encryptedusing methods that those companies specified. Therefore,it was possible to have multiple types of encryption, decryption keys and base-64 encoding on any given message that arrived that single input queue. ◦ Multiplying out the permutations, the above set input formats produces over three-hundred distinct pathways thru the Biz Talk channels. (Message Queues in this case.) Development: ◦ Led a team of four developers. Our task was to implement a complete 'domain table' maintenance system using the MMC–like console application describedabove. This application used right–click contextmenus to expose the properties of the business–tier objects.
  • 7.
    o Developeda VBCustom Control that looked like a Gantt chart. Testing stations were down the left side, hours of the day were horizontal bars. Eachexam was a bar that could be dragged and dropped by the operator scheduling the exam. o Used ADO to perform disconnecteddata access to SQL Server database. o Performed tedious, grunt programming to produce the myriad of classes required to satisfy the requirement. o Developedthe nextgeneration 'test driver' program that actually delivers the examin the test centers. Thisincluded the creation of a source language to describe the screen layout and executionparameters of a given exam.This language was developedin XML. We used a schema to 'pre–compile'the source code.A custom compiler then renderedthe the author's intentions into an OLE Structured Storage (OLESS)file. Like the XML source,the OLESS database is hierarchical. The 'test driver' application read the OLESS file and renderedthe author's intentions onto the screen. This application was written exclusivelyin VC++.Recursionwas used heavily due to the hierarchical and nested nature of the data. o Developedan 'Active DocumentContainer'. This was a window derived from ATLclasses that implemented all windows interfaces necessaryto site an active documentwritten in VB. In this way, developers could write 'plug–ins'in VB and site them in the test driver. o Developeda series of VB objects that wrote binary output to BASICRandom files. These files would later be usedfor input into a legacydatabase system. I wrote code to translate VB dates, times, numeric formats into the binary representations of data in the legacy database application. o This test driver is an advanced COMapplication. ATLprogramming is extremelypowerful, but complicated. The implementation of COM interfacesusing C++ and the ATL wizards is much more difficult than VB. CIBIS - 07/2001 o Created a Win2K Service in VC++.This service would load any COM object into it's process and expose it's interface.This program was createdto allow normal developers to create COM objects in VB and start them as services.This is especially helpful in a MSMQenvironment where a myriad of objects are distributed among many machines in a messaging environment. JOHNS HOPKINS HOSPITAL - 01/1999 – 10/1999 / 05/2007 – 04/2008 o Performed maintenance on a system that I developedfor the Hospital and University in 1999. o Assisted in the conversion of a terminal emulation portal from VB6 into an emulator called Boston Workstation. This required detailed analysis of the original Windows, mainframe and Unix terminals so that they could be ported into the new system. o Recommendedthat an n–tierarchitecture model using MTS be adopted as the development platform for their newest revision of their flagship session management system. It was approved. o Guided the development cycle.Although the project leadership role was assigned to an employee,I was involved in all aspects of the system design. o Designedand implemented the SQL Serverdata model neededto satisfy the requirement. o Developeda VB Custom Control that behaved like the standard tree/menucontrols in Internet Explorer that are displayed whenyou choose History or Favorites. AON RISK MANAGEMENT GROUP - 04/1997 – 12/1998 o Assisted in the development of a database designthat we named 'tall–and–skinny'. It was similar to the self–describingnature of a database catalog. Instead of tables beingcreated with individual data items in columns, eachdata item was representedin a single row. Indexes,referential integrity rules, validation rules, data definition and data values were all stored in this data dictionary. Using this design, end users were able to add fields and otherwise customize the data model without using SQL ALTER commands or CREATE/DROPTABLEcommands. o Led an effort to determine all necessaryconsiderations to create a globalized, multi–language application. Using a combination of custom programming and windows API calls for specificlocale information, we developed a system that could run in any of the western languages.
  • 8.
    o Led ateam of three senior developers in a project to create objects that wrapped the low level functionality of the system. This functionality included methods to dynamically renderforms in different languages at runtime, methods to accessa highly abstracted database model, MTS middleware components (MTS 1.0 was in beta test at that time). These components were consumed by other developers on the larger, business–oriented development teams. [ed:] - Theglobalizationand dynamicforms were accomplished primarily by theuseof the'tall–and–skinny' databasedesign.Each dataitem, suchas 'FirstName' or'Address1',havea uniquekey in thedatabase.You can lookup theirvalue based onthis key.Youcan also lookupother propertieslike 'ScreenLabelText (currentLanguage)','ValidationRule()', 'FormatString (currentLanguage)'. UPS - 10/1996 – 12/1996 o LOCKHEED MARTIN, OWEGO, NY - CIRCA 1995 o Using VB 5 Custom Controls Edition, developed controls that could be placed on a VB form in design mode. Eachcontrol represented a real–world device in a Process Control Environment. Using VB in design mode, users could create a tank, a heater,a thermometer,a valve, safety devicesetc. Property pages for eachof the devices acceptedinitial parameters as well as behavioral attributes over time.For example:A tank that is 100% full will rise in temperature at a rate of one degree every five minutes after it's associated heater is activated. o When VB was placed in Run Mode,the simulation would actually run. It would operate in accordance with the parameters entered into the property pages. Eachtime an event was triggered, strings of machine instructions would be streamed to the debug window. It is my belief that theyused this application as a GUI that would drive an existing 'command oriented' program that drives an actual production facility. ALEXANDER AND ALEXANDER - 04/1995 – 09/1996 o Developeda laptop application for insurance salesman using VB4 and Access2.0. BALTIMORE GAS AND ELECTRIC - 10/1994 – 04/1995 o Designedand developed a small scale Access2.0 application that managed employee time and material usage for billing to various unions and employment agencies. IT TRAINING Training courses that I developed and presented to developers (Below): CIMA o Delivereda two–week seminar on how to develop an n–tiersystem in .NET.Thisarchitecture involved .NET Remoting.Explained how the n–tier architecture works. o Setup a complete development environment comprised of the .NET IDE,VSS,Database connections and various solution files. One solution contained the entire system including the Remoting and Help System.Another solution omitted the Remoting project for simplicity of working on the business layer. o Explained how to use real object oriented methods. How to derive classes from .NET objects, how to scope variables and methods properly (abstract, protected,private, public), how to override methods in sub–classes or allow them to be handled by the base class. THOMPSON PROMETRIC (FORMERLY SYLVAN LEARNING) - 10/1999 – 10/2001 o Developedaseriesof one dayseminarsonvarioussubjectmatterincluding:Intermediate VB,Advanced VB,Objectorienteddesign,VBandCOM+ andMicrosoftMessage Queue. For each seminar listed above:
  • 9.
    ◦ Created coursesyllabus using current projects and readily available internal documentation. ◦ Tailored the learning experience specificallyto the developers and project leaders who requiredthe information. ◦ Prepared PowerPoint slides to be usedas visual aides during the presentation. ◦ Prepared a learning auditorium containing more than thirty computers. Provided instruction to the room operators regarding overhead projectors and specificsoftware to be installed on the computers. ◦ Deliveredthe presentation. ◦ Deliveredexecutive levellectures regarding highly technical subject matter. Using PowerPoint slides, Rational Rose Object Diagrams and a whiteboard, detailed information was presented and discussed in an informal environment. ◦ Presented a one day, hands–on demonstration of a Schedulingand Registration program being developed by myself and other membersof my team. There were over forty administrators from around the world. Manywere not familiar with Microsoft technology released after Windows 3.1. For many there was an enormous language barrier. With a lot of perseverance I delivered the information and receivedexcellentreviews from the administrators. AON RISK MANAGEMENT GROUP - 04/1997 – 12/1998 ◦ Spent many weeks at the whiteboard explaining extremelycomplicated database and object designs to non–technicalpeople who insisted on knowing the information. Used PowerPoint, a digital camera, post–it notes, tinker toys and standard "team–building"exercisesusedin managementseminars. ◦ Did everythingI could think of to educate these people in the fine nuancesof technicalsystem designs. I'm not sure if it all sank in, however, I scored high praise by those who attended. ◦ Deliveredmany system proposal meetings with the highest executive levelpeople in the company. There was a system that I was contracted to develop by one of the Sales Managers. This system would streamline the sales process of remote (laptop/handheld) sales people. The problem was, that it required a re–engineeringof the business. This subject was hotly debated and it was my job to defend the system to the high level brass. SOFTWARE CONSORTIUM - 1995 – 10/2001 ◦ Working with another developer,created a course syllabus for AdvancedComponent Development for the COM Environment. This class met once a weekfor four hours. The course was mainly for junior– level developers to learn the correct way to perform OO design, error handling, parameter passing etc in a distributed environment. ◦ Created and delivered a one day seminar on the same subject. This class, which was presented at Villa Julie, was geared more to the advanced–level developer.Designand architectural considerations were brought to bear on a difficult case study. Primarily normalizations to OO designs to allow web interfaces to be more efficient in a Microsoft DNA Environment.