George J. Wilk
tel. (603) 490-1368
gjwilk@comcast.net
Summary:
20+
years of experience in software design and development using Java, C++, Visual
Basic, COBOL, and Object Oriented Analysis & Design techniques; building
distributed n-tier systems within insurance, telecommunication, and
manufacturing business sectors.
Extensive experience with object based internet applications in all
phases of development, from requirements analysis to delivery; back-end system
development using Java and Microsoft technologies; distributed messaging
systems using EJB, SOAP and TCP/IP; front-end experience using HTML, DHTML,
XML/XSL, AWT, Swing, Struts, JavaScript, VB and VC++. Worked in a broad range of
project roles, including team technical lead, software developer and architect,
both as a team member and individual contributor. Sun Microsystems Certified Java 2 Programmer,
and Microsoft Certified Professional (MCP).
Technical summary:
Core Skills:
Java, J2EE, EJB, XML, XSLT, C++, OO
Design (UML, OMT), TCP/IP, JDBC, SQL, Servlets, Scripting (JavaScript,
VBScript, WinBatch, REXX, shell scripting), C#,
Visual Basic, VB.net, Build Automation (ANT, make, batch), Messaging (JMS, SOAP,
SIP), COM, ActiveX, SDO, HTML, DHTML, JSP
User Interfaces and Frameworks:
Struts, Tiles, Spring, Hibernate, Web
Services
Operating Systems:
Windows95/98/NT/2000/XP Pro, DOS, Linux,
Solaris, Mac OSX
Servers:
JRUN, JBOSS, Apache, Tomcat, Websphere Application Server 3.5/4/5/6.0, MTS, MS SQL
Server, MySQL, UDB/DB2
Case Tools:
ClearCase, RationalRose,
TogetherSoft
Vertical Markets:
Telecommunications, Insurance, Banking,
CRM, SSO, CCOW, Healthcare
Professional Experience:
June 2009 – present
Liberty Mutual, Portsmouth,
NH
Implementation
and design of eService customer-facing portal. Designed and
implemented command-based design pattern deployed on IBM Process Server
platform. Implemented eService
claim reporting functionality in application’s service layer. Utilized SoapUI for testing of web
services.
Design and implementation of
internal enterprise web service providing insurance background information used
in quoting. This service interfaced with
3rd party vendor – LexisNexis via web service interface.
Platforms:
·
Development – Virtual Linux Slice IBM WID
·
Deployment – IBM Process Server, BPEL
Technologies:
·
JDK 6.0, WSDL, XSD, XML, Web Services, BPEL, SoapUI,
SOA
Project Role: Senior
Developer/Designe
April 2008 – December 2009
Designed and developed LogView desktop application to interface with Data Logger hardware
devices via serial port. LogView reads measurements from vibrating wire sensor and
the integral thermistor manufactured by Geokon. Supported functionality includes upload of
device configuration, realtime data stream monitoring,
bulk data download, graphical data representation, export
of collected data to external formats. POC of mobile implementation on Win Mobile platform - Juniper.
Platforms:
·
Development – Windows XP, Mac OSX
Technologies:
·
JDK 6.0, Java Communication API, Windows Mobile, Java Help, ANT,
obfuscation and optimization
Project Role: Sole contributor - Developer/Designer
April 2008 – November 2008
CIDC, Cambridge, MA (DLC,
Woburn, MA)
Enterprise Wallet application for on-line gambling casino. Designed and implemented distributed
SPRING-loaded (IOC) caching mechanism based on JBoss
Cache in CIDC Wallet application deployed in clustered JBoss
environment. Designed and implemented
common services interface, including data transfer objects, standard service
response interface for common services, and configured DOZER mappings for
DTO-to-Domain object translation. Configured JBoss AS deployment
environment for the application (JNDI-based DS configuration, JNDI-based
application property configuration, JBoss clustering
configuration, load balancing configuration using mod_jk). Wrote HQL query for
transaction history access.
Platforms:
·
Development – Windows XP, SOLARIS
Technologies:
·
JDK 6.0, SPRING, JBoss Cache, JBoss AS, JNDI, XML,
XSD, Spring, Hibernate, JBoss 4.2 configuration (clustering, distributed caching)
Project Role: Senior
Developer/Designer
June 2007 – April 2008
Ellacoya Networks,
Participated in functional design and implementation of the Subscriber
Manager server. Subscriber Manager is used for subscriber
authentication on the e30 and e100 Ellacoya network
switches. Designed and implemented SM
failover with real-time synchronization.
Recommended and implemented SM performance enhancements bringing up the
authentication rate to 6500 trx/sec in peer mode (13K
trx/sec single node).
Implemented FSM (Finite State Machine) framework responsible
for management of complex server state dependencies. Designed and implemented proprietary database
persistence state machine. Wrote shell
install scripts for SOLARIS install package enabling Postgres
database installation and failover. Used Java nio package for file and socket
IO. Used new concurrency package
classes for thread synchronization and signaling.
Platforms:
·
Development – Windows XP, SOLARIS
Technologies:
·
JDK 6.0, SOA, XML, XSD, Spring, Hibernate, shell scripting, Postgres, custom TLV protocol, NIO, extensive thread
synchronization, JBoss 4.2 configuration (clustering, distributed caching)
Project Role: Senior
Developer/Designer
February 2007 – June 2007
Designed
and implemented Object-To-Object mapping and default processing framework for
incoming web service requests. Participated in design of the WS interface utilizing extensibility
features of XSD. Designed command
framework consisting of reusable command steps for processing of auto policy
quote requests. Implemented
processing/mapping of XML SOAP requests into SDO 2.0 data structures and mapped
to DTO for backwards compatibility with the legacy services.
Platforms:
·
Development – Windows XP
Technologies:
·
JDK 6.0, Websphere Application Server (WAS
6.0), RAD 7.0, SOA, XML, XSLT, XSD, DB2,
Spring, Hibernate, Dozer O2O mapping utility, SDO
Project Role: Senior
Developer/Architect
July 2006 – February 2007
ITA Software,
Designed
and implements Non-Tariff Product Web Service for an airline reservation
system. Implemented
multiple features of a call center airline reservation client (passenger
details, SSR options, flight itinerary). Developed
highly interactive airline reservation UI for the call center environment using
JSP,
Platforms:
·
Development – Linux RH Fedora, Eclipse, JSP, Struts, Tiles, Web
Services
·
Deployment platform: Linux RH Fedora
Technologies:
·
JDK 1.5, Apache, Tomcat, SOA,
XML, XSLT, XSD, Oracle, Custom Tags, Struts, Spring, shell scripting
Project Role: Senior
Developer/Designer
March 2006 – June2006
Cigna Healthcare,
Designed
and implemented Sales & Underwriting Workbench suite of applications. Lead junior developers in applying SOA
methodology. Implemented
service discovery framework. Implemented
dynamic proxy generation utility to generate service proxy classes based on
WSDL through reflection. Designed and
implemented common application framework for the application suite.
Platforms:
·
Development - Windows XP Pro
·
Deployment platform: Windows XP Pro, Linux RH
Technologies:
·
Java JDK 1.5, Websphere Application Server, Spring, Hibernate, SOA, XML, XSLT, XSD, Oracle
Project Role: Senior
Developer/Designer
January 2006 – February 2006
Designs
and implements command interface for use in scripting languages (bash
scripting, Windows Batch, etc.) for Wind River Workbench 2.5 (Eclipse-based)
real-time debugger used in OCD (on-chip debugging).
Platforms:
·
Development - Windows XP Pro, Linux RH
·
Deployment platform: Windows XP Pro, Linux RH
Technologies:
·
C++, Java, UDP sockets
Project Role: Senior
Developer/Designer
May 2005 – January 2006
OnState Communications Corporation,
Implemented
SIP protocol in telephony client and participated in SIP server implementation
of the VoIP enterprise server.
Implemented SUBSCRIBE/NOTIFY protocol to manage call and user state
information. Implemented client-side processing
of pending calls using Web Services methodology. Implemented SUBSCRIBE/NOTIFY protocol in
conference server. Built
subscription frameowork with generic event handling
library.
Platforms:
·
Development - Windows XP Pro
·
Deployment platform: Windows desktops
Technologies:
·
JDK 5.0, VSS, XML, XSLT, XSD, SIP protocol, RFC3261, RFC3265, Web
Services
Project Role: Senior
Developer/Designer
February 2004 – May 2005
Sentillion Inc.,
Designed
and implemented extensible message-based Java framework for reuse in the bridge
factory enterprise. Designed and
implemented Java driver to CCOW-enable 3-rd party Java Applets by combining
custom class loader, overloaded system EventQueue,
and security spoofing mechanism. Utilized
socket communications and JNI to bridge Java application drivers with the C++
DLLs to perform Windows native tasks. Defined message protocol to facilitate internal bridge
communications.
Designed
and prototyped message-based automation architecture utilizing OpenJMS and ArjunaMQ JMS 1.1
compliant middleware for the Vergence Provisioning
Manager server.
Designed
and implemented CCOW-enabling software bridge adapters for third-party clinical
applications, interfacing with the Vergence Vault server. The Vergence suite of products provides
Single Sign-On (SSO), biometric authentication, as well as patient context
tracking/synchronization functionality, amongst other features. Wrote C++ process hook DLLs into Win32
applications, managing user and patient context changes across a multiple
application spectrum.
Platforms:
·
Development - Windows XP Pro
·
Deployment platform: Windows desktops, Linux server
Technologies:
·
J2SE, J2EE, VC++, MFC, ATL, VSS
·
Applet security, Socket communications, multithreading
·
Real-time DLL process injection/Win API
·
Windows system-level programming.
Project Role: Senior
Developer/Designer
May 2003 – February 2004
CIGNA eCommerce Systems
Division, Bloomfield, CT
(Portal
Customization Application) Designed and implemented
functional components of a Java-based customization Web Service, providing
content-based customization to CIGNA’s portal (Yahoo), which services multiple
lines of business across the enterprise.
Utilized architectural design patterns in system design (MVC, DAO,
etc.). Persistence layer was implemented
using UDB/DB2 database engine.
Performed
WAS configuration. Mentored
team members on Struts methodology and implementation. Performed conversion from
Struts templates to tiles. Extended Struts framework in order to include custom action mapping
attributes. Wrote
comprehensive Ant scripts to automate the build and deployment process for a
large block of applications. Used
Spring framework for application services.
Platforms:
·
Development - Windows XP Pro
·
Deployment platform: UNIX AIX.
·
IDE: WSAD 5, UltraEdit
Technologies:
·
JSP, Servlets, Struts 1.1, Web Services, J2EE, XML, XSLT
·
UDB/DB2, PVCS.
Project
role:
architect/senior developer.
June 2002 – February 2003
CIGNA Healthcare,
(Application
Dashboard) Architected, designed and implemented a multi-platform monitoring
service for monitoring status of various corporate applications (batch and
real-time) running in a mainframe, mid-range and client-server
environments. This high-visibility project
provides company’s senior management with enhanced real-time reporting
capabilities. Utilized use case-driven
analysis and design techniques (UML, Rational Unified Process) to gather
requirements and to model system’s design and architecture. Communications layer employs MQ Series and JMS
listener to collect application status events.
High-level architecture was designed based on the MVC architectural
pattern.
Front-end
design uses Struts framework (Servlet, JSP pages, Java Beans) hosted on a
Websphere Application Server
Platforms:
·
Development - Windows XP Pro
·
Deployment platform: UNIX AIX.
·
IDE: WSAD 5
Technologies:
·
J2EE, JSP, EJB, JMS, MQ Series, Servlets, Struts 1.1, XML, XSLT
·
Websphere Application Server 5, JDBC, MS SQL Server, PVCS.
Project Role: architect/senior developer.
May 2002 – June 2002
Visual Technologies, Inc. -
Developed prototype of a report generator producing dynamically
generated financial reports for web distribution in the PDF format. Used VB .NET objects for binding report data
to an XML form template.
·
.NET framework
·
ODBC
·
SQL Server 2000
·
XMLPDF SDK.
Project
role: Senior
developer
February 2002 – March 2002
Answer Technology, Inc. -
Designed and
implemented interactive applet demo for the company’s website, marketing the Fretlight II ® guitar learning system.
·
Java applets
·
DHTML
·
JDK 1.4
Project
role: Senior
developer
UML presenter SwANH - Software Association of
Prepared
and gave presentation on Unified Modeling Language, explaining basic concepts
related to the language syntax and issues of object-oriented software
development process.
June 2001 – November 2001
Senior Consultant-Architect, Perimeter Technologies, Inc. –
Designed
architecture and co-developed fully scalable, WAN-distributed Management
Information System (MIS) monitoring contact center multimedia soft
switches. Coached the
team of developers in use of feature-driven design and development methodology. Utilized UML and design
patterns. Employed
MySQL database engine with a JDBC access protocol for storage and retrieval of
the switch performance data.
Used JAAS, JNDI to access user login data from an LDAP directory. Deployed EJB components on
the JBOSS application server. Resolved performance
issues and memory leaks in an existing multithreaded soft switch product. Wrote multithreaded client emulator enabling
concurrent testing of up to 120 clients per testing workstation. Built Java Swing-based
on-line reporting console.
Platforms:
·
Development - Windows XP Pro
·
Deployment platform: Unix.
·
JBOSS/Apache/Tomcat/MySQL
Technologies:
·
JDK 1.4, JSP pages, Servlet, EJB, JNDI/JAAS/JMS
·
JBOSS, J2EE, XML, XSLT, JDBC
Role: architect/senior developer.
September 2000 – June 2001
Senior Consultant, !hey Inc. –
Designed
and developed “call transfer” functionality for the web-based call center
product. Researched, designed and implemented internationalization support for
the product. This 3-tier application exposed user interface through a JSP and
Java applet-based thin client.
Platforms:
·
Development - Windows XP Pro
·
Deployment platform: Unix.
·
JRun application server
Technologies:
·
JDK 1.4
·
TCP/IP Sockets
·
Swing, JSP pages, Servlets
·
J2EE
·
XML, XSLT
·
JDBC
·
Rational/UML
Role: architect/senior developer.
June 2000 – September 2000
Senior Consultant, CISCO Systems, Inc. –
Designed
and developed web-based API for the CISCO's Address & Name Registrar system
(ANR), which manages dynamic allocation and re-allocation of IP address space
and domain names for the IP networks, utilizing SOAP protocol and custom XML
messaging.
Platforms:
·
Development - Windows 2000
·
Deployment platform: Unix.
·
Apache/Tomcat
·
UDB/DB2
·
JBuilder
Technologies:
·
JDK 1.4
·
TCP/IP Sockets
·
JSP
·
XML
·
SOAP
·
UML
Role: architect/senior developer
January 2000 – June 2000
Technical Consultant, !hey Inc. –
Designed
and developed a multimedia agent workstation for the
September 1999 – January
2000
Technical Consultant, ChannelWave Software, Inc. –
Developed web-based PRM product (Partner Relationship Management). Utilized use case driven approach to object modeling. Generated skeletal Java
code from the Rational Rose model.
Implemented business layer and database access layer classes using Java
2 platform interfacing with the Oracle RDBMS via JDBC. Implemented COM Java
wrapper classes to enable MTS deployment. Technologies/languages used: RationalRose 98i, VJ++, XML. Deployment platform: UNIX
June 1999 – September 1999
Technical Consultant, Inscribe Technologies, Inc. –
Co-designed
and developed internet-based Banking Application for e-commerce virtual bank
website utilizing ASP, DHTML, Java, VBScript, and JavaScript. Implemented Java applet to
providing client-side credit card application functionality.
Tools
and services used: VB6, VJ++, Visual Interdev, IIS, MTS.
Jan 1999 – May 1999
Architect/Technical Consultant, Verid Technology
Corp. –
Utilized
Rational Rose/UML to model and design 3-tier Object Oriented manufacturing
process management system. This
application was deployed on the MTS application server, taking advantage of
resource pooling (object pooling, connection pooling). Implemented custom object marshaling based on
XML hierarchical structures. The phase
II of the project involved design and implementation of a plug-and-play
architectural framework. System’s business
rules were exposed via COM interface.
June 1998 – Dec 1998
Technical Consultant, Clinical Networx –
Utilized
DHTML\XML\CSS in design and implementation of the document management system
built on a VB6 programming platform. Front-end dynamic forms,
back-end ASP, and IIS. Utilized
XML to control workflow of a doctor-to-patient encounter (visit) form designed
for use by outpatient clinics during medical examinations. Design documentation completed based on the
RUP (Rational Unified Process) methodology.
March 1998 – June 1998
Technical Consultant, Cigna Insurance Group –
Built
replacement classes for 3rd party 16-bit helper DLL’s. Assisted in VB3.0 to VB5.0 conversion of a large-scale insurance
administrative application. Recommended
and executed direct VB3.0 to VB5.0 conversion of a large-scale insurance
administrative application utilizing REX macros to replace code references to
16-bit 3rd party controls with 32-bit control references. Performed comprehensive
system tests.
March 1994 – March 1998
Sr. Consultant, Research and Development, CSC -
Specific
duties included team mentoring in the implementation of the software systems,
interviewing VB contractors and employees, project leadership, creation and
oversight of coding standards and hands-on approach to development process.
Designed
and developed Visual Basic application framework supporting
Designed
and developed a suite of highly reusable ActiveX Components in VB5.0 (OCX’s and
OLE servers) for deployment with a new insurance administrative system built on
the premise of the n-Tier architecture. Designed and implemented NT workstation
prototype for end-user installations.
Developed
a Visual Basic software providing Data Dictionary
capabilities to the internal development staff as well as external clients.
Product features automated data import and export processes. Microsoft Access
database is used to store cross-reference information regarding data
attributes, structure and usage. Application is built on an MDI framework and
makes use of RDO technology to fully utilize VB’s premiere RAD features.
Developed
high complexity InstallShield3.0 setup programs used as delivery vehicles for
client/server versions of the Vantage-One® insurance administrative system.
Designed
and co-developed a Visual Basic\C++ data warehousing application. The GUI
front-end of this application is written in VB5.0 . It
utilizes ODBC and RDO to administer data stream and meta
table definitions. Generic translation and filter classes are used in the
process of manipulating data streams. SQL Server and ORACLE were used as
alternate database management tools (variation based on the client group
requirements).
Project leader \ Team Mentor responsible for the analysis and design of
a complex software reengineering effort involving OOP techniques.
October 1989 – March 1994
Programmer Analyst, The Travelers Insurance Corp. -
Held responsibility for analysis, design, coding and testing of COBOL
programs for Universal Life and Variable Universal Life applications. Participated
in development of detail specs, software changes, and code reviews. Managed small development
project.
Designed
and maintained the LAN Lotus123 Time Reporting System for the Life & Health
Financial Services Group.
Worked with internal customers to assure success of numerous projects
in all stages of the lifecycle.
May 1988 – October 1989
Computer Programmer Analyst, Industrial Risk Insurers -
Maintained an existing payroll system and underwriting system, system
function enhancements, testing and documentation.
Designed
and developed a reporting system using Report Writer.
May 1987 – May 1988
Service Engineer, Xerox Corporation
Performed
service calls to maintain Xerox office products (PC’s, Laser Printers and Fax
machines). Duties included trouble-shooting, repair and parts inventory.
Education
MCP
(VB4, VB5, Win Arch I, MCP Id# 486663
Java
2 Sun Microsystems Certified Programmer
BS
Mechanical Engineering, University of
Accelerated
Computer Programming Course, Greater
"C++
Programming Workshop", Instruction Set (5 day course)
"Advanced
C++ Programming Course", UCI (5 day course)
"Mastering
Distributed Application Design and Development Using Microsoft Visual Studio
6.0", Microsoft (3 day course)
Unified
Modeling Language, Rational Software Corp. (4 day course)
Professional Memberships
Member
of Greater
Member
of NEJUG
Software
Contractors' Guild (www.scguild.com)