Thomas J. Clancy 273 Deerfield Drive Canonsburg, PA 15317 Home: (724) 8731718 Mobile: (412) 4453850 Email: thomas.clancy@mac.com
SUMMARY: Creative, motivated software architect with a passion for innovation, learning, and technology.
SKILL SET:
DESIGN ENVIRONMENTS (IDEs/UML)
Eclipse, Netbeans, IntelliJ, JBuilder, Visual Studio .NET/VB.NET/VC#.NET, Poseidon 3.x, MagicDraw 10.x/12.x/ 14.x, Borland Together, Rational XDE, Microsoft Visual C++/Visual Studio 6.0, GNU’s GCC/G++, Borland C++, IBM’s Visual Age for C++, Microsoft Embedded Visual Tools 3.0, Borland Pascal
JAVA EXPERTISE
Java (JDK5, J2SE 1.4/1.3), J2EE (EJB 2.1, JMS, JAXRPC, SOAP), ApacheCommons, Javabased Aspect Oriented Programming (AspectJ and AspectWerks), Java 2D API, SWING, ANT and ANT Task Development, JUnit, JDBC, Java Mail API, JavaBeans
C++ EXPERTISE
STL (Standard Template Library), ACE (ADAPTIVE Communications Environment) C++ Library, Boost, Qt portable User Interface library
OTHER LANGUAGES C, C#, Visual Basic, JavaScript, Pascal, XML, HDML, WML, HTML, Ruby, SQL, VBScript QA TOOLS
Junit, NUnit, Rational PureCoverage, Clover, JStyle, SmallWorlds
WEB DEVELOPMENT
JBoss 3.2.x/4.0x, Sun Java System Application Server, Weblogic, Apache Web Server, Java Server Pages, Java Servlets, Struts, C/C++ CGI, multiple platforms; Web Page Design, Microsoft Front Page, Adobe DreamWeaver, HTML 4.0
DATABASE DEVELOPMENT
Oracle, MySQL, SQL Server 2005, PostgreSQL, Informix ESQL/C, Intersolve’s ODBC and SQL for OS/2, Informix Online 7.2, FoxPro, dBase IV
OPERATING SYSTEMS MISCELLANEOUS TECHNOLOGIES GENERAL EXPERTISE
Microsoft Windows 95/98/2000/NT/XP, Linux (Fedora, Redhat and Mandrake), Unix variants (Sun Solaris, HP UX, SCO UNIX), Mac OS X, Microsoft Pocket PC for Windows, IBM’s OS/2 Warp 3.0, MSDOS, PDP11 RSTS/E, VAX VMS Inprise’s Entera 3.0 RPC Broker Object Oriented Analysis and Object Oriented Design (OOA/OOD), OMG Unified Modeling Language (UML), Business Process Modeling, Workflow Theory and Modeling, Aspect Oriented Programming (AOP), GUI development, TCP/IP, Multithreaded and Asynchronous Software Design, Asynchronous Communications Programming
ACCEPTED ARTICLES:
“A Tale of Two Endians”, accepted for publication by the C/C++ Users Journal
EDUCATION: Bachelor’s degree in Computer Science, Thiel College, May 1991
MEMBERSHIPS: ● ●
Association for Computing Machinery (ACM) IEEE Computer Society
PATENTS: ●
Coinventor of a Complexity Management System
WORK EXPERIENCE: Founder of MyBraynz.com, Canonsburg, PA 5/2002 to Present MyBraynz develops open source web 2.0 applications and other software technologies that include concept modeling, complex event processing, collective intelligence and simulation. Accomplishments: ●
Currently developing ○ A web 2.0 social media platform using PHP, MySQL and jQuery ○ A blogging and publishing platform using PHP, MySQL and jQuery
●
Developed a Javabased discrete event simulation framework for exploring evolutionary processes. This software was donated to Duke University as open source Developed in Java and C# an object oriented implementation of Charles L. Forgy's Rete algorithm Developed in Java a rudimentary, genericsbased edgenode graph algorithms package Developed in Java a Swing Geometry exploration and drawing system Developed in Java some fundamental matrix and vector math packages Developed in Java and J2EE a Workflow Management System
● ● ● ● ●
Lead Software Engineer, Electronics for Imagine (EFI) 10/2007 to 6/23/2008 EFI develops MIS software for the Printing Industry.
Accomplishments: ● ●
Developed in Java a visual desktop server monitoring tool used to monitor status and licensing of EFI's traditional and digital printing MIS servers Developed in Java EE5 a systemwide complex event and notification service utilizing JBoss remoting and EJB3
● ●
Developed in Java and Java EE5 a generic command processing system used by various client applications to communicate with the MIS services. Researched Automated Planning and Scheduling theory for building a smart MIS that plans and schedules print jobs based on rules that infer the intent of partially specified orders
Lead Software Architect, TrueBaseline Corporation, Pittsburgh, PA 1/2006 to 6/2007 TrueBaseline develops application frameworks and products for the service management space and next generation networks.
Accomplishments: ● ● ●
Helped establish standards and guidelines for the development staff Promoted best practices in unit testing, code coverage analysis, code documentation and standardization Designed the company's original flagship service management product, SOAComply, that provides compliance monitoring of networked hardware, software and SOAbased applications. This included the following: ○ Developed Web Service APIs, and GUI ○ Employed an Adaptive Object Model as the core architecture ○ Developed in C# an edgenode graph library for use in network analysis ○ Implemented breadthfirst and depthfirst algorithms ○ Implemented Dijkstra's Algorithm (single source shortest path)
●
Developed TrueSMS, a service management framework designed to fulfill the requirements of the IPsphere architecture. Designed TrueOMF (True Object Modeling and Management Framework) that employs Complex Event Processing (CEP) techniques and an Enterprise Service Bus (ESB) architecture for efficient distributed processing. Designed the Message Exchange Framework (MEF) which is a type of Enterprise Service Bus (ESB) Designed Complex Event Processing (CEP) framework for efficiently handling and routing business events. Employed BPEL 2.0 as workflow language for orchestrating business processes Employed Drools.NET as the basis for our declarative rule engine and policy control language Designed TrueSDx, a Service Delivery Platform (SDP) Integration solution Designed code generation tools for integration into native language applications (e.g. C#, C++, Java, Python)
●
● ● ● ● ● ●
Software Architect, Nationwide Appraisal Services Corporation (NASCO), Pittsburgh, PA 9/2004 to 1/2006 NASCO provides to over 2000 clients in all fifty states both title and appraisal services, and develops products to manage customers' title and appraisals and to match vendors (appraisers) to potential customers. Accomplishments: ●
Designed in J2EE the algorithms and software framework necessary to accomplish automated vendor assignment. This included: ○ The creation of a detailed and concise architecture using UML 2.0 ○ The creation of the mathematical notation for the vendor ranking algorithm
● ● ●
Designed a J2EE validation framework that incorporates java annotations, introspection, reflection and AOP Established a standard for the peer code review process. Wrote several papers and tutorials on unit testing as a way of introducing the development team to good unit testing practices. Trained the development team the proper use and best practices of exception handling Designed a simplified inhouse, webbased CMS as a replacement of an expensive third party CMS Redesigned and prototyped the workflow management system (WfMS) using Java, J2EE and Drools. This included:
● ● ●
○ ○ ○ ○ ○
Full functional requirements and technical design documentation A complete set of UML diagrams (class, sequence, activity, state chart and usecase) Researched a number of commercial and open source workflow management system, taking parts from the best of breed Developed an abstract business rule layer plugin architecture for thirdparty rule engine plugins Built a process execution language based on jBMP which is used to specify and execute the workflows
Senior Software Engineer, Netspoke, Pittsburgh, PA 4/2003 to 3/12/2004 Netspoke develops integrated, webbased desktop and audio conferencing and recording software. Accomplishments: ● ● ● ● ●
Optimized the screen capturing software which is based on the open source QVT application Designed in Qt and C++ an Archive Viewer used for interactive playback of recorded meetings Developed a prototype plugin component of a collaborative whiteboard Integrated into the application various instant messaging applications for their presence functionality Developed a C++ unit test library similar to JUnit
Team Lead/Software Architect/QA Specialist, SmartOps, Inc., Pittsburgh, PA. 5/2002 to 3/2003 SmartOps Corporation develops supply chain management and optimization software. Accomplishments: ● ● ● ● ●
Designed in Java the supply chain algorithms stress test software Managed the implementation of various inhouse applications Mentored junior developers during design, estimation and implementation of internal projects Evaluated and recommended software development tools such as Together Control Center and Rational XDE Developed an efficient, generic event management system used for the propagation of system messages and logging. This included: ○ Developed the Oracle database tables and SQL for queuing, retrieving and logging event messages ○ Created in MagicDraw the UML design documentation
● ● ●
Developed an efficient thread pool class that increased overall throughput performance Developed in Java and Ascential DataStage ETL the thirdparty integration and data loading system Specified the standards and managed the organization of the peer code review process. This included: ○ The integration of Jstyle for use as an initial, automated code review ○ The mediation and documentation of code reviews
● ● ●
Implemented and integrated into the build process Clover code coverage analysis and reporting Integrated into the build process the SmallWorlds static code analysis Specified the standard for code style and bestpractices in engineering
Software Architect, Personity, Inc., Pittsburgh, PA 12/2000 to 4/2002 Personity, Inc., formerly Network Projects, Inc., and now defunct, developed IETFstandardized presence, availability and instant messaging technologies for telecom companies. Accomplishments:
● ● ● ● ● ● ● ● ●
Developed in C++ the WAP web gateway interface for connecting cellphones to our presence and instant messaging services Assisted in the specification and design of more advanced presence and instant messaging protocols Assisting in enhancing and performance tuning the middleware and server software Rewrote platformspecific C++ code into crossplatform code (e.g. threads and mutexes) that enabled us to run servers in Windows, Linux, HPUX and Sun Solaris Developed webbased server management software for controlling and provisioning remote servers Developed server software licensing using the SentinelLM licensing software Developed stress testing and user simulation software Authored white papers that introduced clients to our software Researched and authored proposals for new directions and functionality in these technologies
Consultant, Independent Concepts, Inc., Beaver Falls, PA 5/2000 to 12/2000 Independent Concepts, Inc., develops cognitive prosthetic medical devices, called Jogger, for use by people who suffer from various degrees of traumatic brain injury. Accomplishments: ● ● ● ● ●
Analyzed their legacy software and hardware platform Designed a new system based on new requirements Research alternative handheld devices such as the Casio Cassiopeia E115 and the Compaq iPAQ H3600 Prototyped some early concepts of the software in Microsoft’s Embedded Visual Tools 3.0 Authored complete design specifications for all parts of the new system, which included: ○ The desktop Jogger patient user interface ○ The desktop therapist’s user interface ○ The server architecture connecting patients and therapists ○ Device synchronization software that enables a therapist to modify a patient's daily tasks ○ A statistical analysis and reporting system based on a user’s response to each task performed
Sr. Software Engineer/Systems Architect, XCEL Communications Corp., Bethel Park, PA 1/2000 to 12/2000 XCEL Communications Corporation provides free webbased email, web fax services, email to fax services, as well as a host of other webbased services for small to mediumsized businesses. Accomplishments: ● ●
Developed in C++ a POP3 based client library, email routing services and Oracle ODBC wrappers Led the effort to port the software to Java running on Linux. This included: ○ Deploying and configuring Redhat Linux Servers ○ Deploying and configuring the Apache web server ○ Analysis and design of the new system ○ Development in Java of the new system that included: ■ Development of multithreaded POP3 rover application that, on request, retrieves a user’s email from POP3 servers and stores them in a webmail database ■ A multithreaded POP3 server for allowing users to get their mailroom webmail via a POP3 compatible client (e.g. Microsoft Outlook, Eudora, etc.) ■ A multithreaded MDA (mail delivery agent) that routes incoming mail from sendmail to the intended user’s inbox within our database ■ Mail filtering rule engine that is used by the MDA for providing such things as userconfigurable spam filtering, private mail, etc.
Team Leader/Senior Software Developer, ETransport, Inc. Pittsburgh, PA
06/1997 to 12/1999 ETransport (now part of Descartes Systems) develops document translation and workflow software systems for the ocean freight shipping industry Accomplishments: ●
Designed in C++ and Informix an objectbased repository for storing, processing and retrieving documents that included ○ Enhancing an inhouse C++ class library which wraps Informix’s ESQL/C library by providing it the ability to manage Blobs (binary large objects) ○ Implementing an LRU caching scheme for caching ESQL queries ○ Implementing a lowlevel, generic C++ library that stores, retrieves, indexes and otherwise manipulates attribute/value based objects regardless of the underlying database engine ○ Implementing a logical, sessionbased locking scheme for granting lock rights to clients for individual or groups of objects within the repository ○ Implementing a small SQLlike query language used by Mix’s repository search engine ○ Implementing the server layer which can act as a remote or compiledin set of services for clients to easily store, retrieve and otherwise maintain objects in the Mix repository
● ●
Developed OO RPC client/server interface Developed document and attribute level access services that controls access to all or parts of a document
Project Leader and Senior Software Engineer, Byers Engineering, Atlanta, Georgia 08/1995 to 06/1997 Byers Engineering develops CADbased Automated Mapping, Facilities Management and Global Information Systems (AM/FM/GIS) software designed for infield engineers of utility companies to plan and manage the installation of utilities such as telephone poles, coax cable, fiber optics and natural gas lines. Accomplishments: ●
Developed in C++ application components that included: ○ Spatial Query User Interface ○ Mapbased connectivity ○ Renumbering of unique items of plant in a geographical exchange (area) ○ ACT (Administrator’s Configuration Tool)
● ● ● ● ● ● ●
Managed team of developers in porting software from OS/2 to Windows NT. Established coding guidelines Interviewed potential candidates Debugged and maintained legacy C code Redesigned and ported software written in C to C++ Developed graphical user interface enhancements and new GUI designs. Tested and debugged core products such as ODBC class wrappers and the CAD engine
Manager of Software Development, Innovative Icons, Inc., Atlanta, Georgia
10/1993 to 08/1995 Innovative Icons developed Isabella, a greeting card, invitation and announcement ordering software for instore kiosks. Accomplishments: ●
Writing detailed requirements and design documentation as well as implementing in Borland C++ under Windows 3.11 the following: ○ The Isabella order entry system ○ The backend rendering, accounting and communications modules
○ ○ ● ● ● ● ● ●
A personal, CDROM based version for home office use A multiuser version of Isabella for mall kiosks
Coding software in Borland C++ and Visual C++ under Windows for Workgroups 3.11 that interfaced with Paradox databases using the Borland Database Engine for C++ Providing backend graphical interfaces to databases in Paradox 4.5 and 5.0 Managing the team of developers on the project Interviewing and hiring new employees Overseeing production of software and approving patch releases Researching viability of an Internetbased Isabella system