Scott Dunbar

2811 Silver Place

Superior, CO 80027

303 494 4490

scott@xigole.com
http://www.xigole.com/scott/

Summary

Highly qualified technical leader, senior architect, and software engineer with twenty years of extensive, multidisciplinary industry experience. Results oriented with an eye for detail. Diverse range of expertise including architecture and development of distributed n-tier systems, extensive database background, cross platform development, and team management. Over ten years of Java development experience including nine years using Java EE.

Technical Summary

Programming and Scripting Languages

Java, C#, C++, C, HTML/CSS, JavaScript, XML, UNIX shell

Development Environments and Packages

Java EE (J2EE), Microsoft .NET, Apache Tomcat, BEA WebLogic Server, BEA WebLogic Portal Server, Apache web server, JBoss, Java Server Pages (JSP), Java Server Faces (JSF), SOAP, Ant, Struts, Hibernate, Apache ServiceMix, JMS, JMX, XML packages such as DOM/SAX, XPath, XQuery, and XSLT, OpenSSL, JavaScript, AJAX

Databases and Database Client Tools

Oracle, Sybase, Microsoft SQL Server, PostgreSQL and MySQL database client development (native and JDBC) and server administration, standard database tools and concepts such as triggers, stored procedures and declarative referential integrity

Operating System and Language Tools

TCP and UDP network development, Java threads, POSIX threads, NT threads, shared memory, semaphores, pipes, UNIX signals, UNIX and NT process management, memory mapped files, symmetric multiprocessing

Professional Experience

SpireLine Systems
(formerly Patron Systems)
Boulder, Colorado
September 2006 to present
Director of Enginering / Architect

Director of Engineering and Lead Architect for a product that enables Adobe electronic forms processing in the public safety sector. The product is used by large and small police departments throughout the country. Officers in the field file report forms from their cars via a wireless connection to the central office. The forms are then routed to other users such as supervisors and records management where they can be approved or rejected back to the originating user for further work.

Primarily responsible for the architecture and development of the new SaaS product line that enables SpireLine to host many police departments in a single instance. This version includes significant scalability and reliability enhancements including the ability to cluster across nodes. It uses a JMS communication backbone with an JPA persistence layer backed by Hibernate, Java Server Faces (JSF) as the MVC framework, and has extensive configuration capabilities based on JMX. The system can be deployed on any Java EE container and ships on Tomcat. External services are interfaced via standard SOAP web services using both synchronous and asynchronous communication. The client side uses an embedded servlet container and database to allow for disconnected operation. Both the client and the server queue data in a persistent JMS queue when connectivity is interrupted and transmit when it becomes available.

Management responsibilities include hiring, performance reviews, and other personnel issues for the engineering and quality assurance teams. Responsible for creating delivery schedules spanning both teams that are used by all departments within the company to plan with. Additionally, hold regular team meetings and design reviews that include engineering and QA and can include product management and customers. Frequently interact directly with customers to ensure that any customer issues are resolved quickly.

McKesson
Louisville, Colorado
January 2005 to August 2006
Senior Software Engineer

Senior Software Engineer responsible for the architecture and development of a next generation system to maintain patient orders at hospitals. The system is installed at some of the largest hospitals in the U.S. and is used by various hospital staff from doctors and nurses to technical staff. It allows users to enter and review orders for care given to patients. The patient orders are then displayed to the care givers as appropriate. JBoss and Tomcat are used for development and deployment and a fault tolerant persistence layer uses Hibernate 3.x to an Oracle database.

Primarily responsible for the business object, persistence layers and SOAP interprocess communication layers. A "double MVC" pattern was used in the design of the persistence and model layers to isolate legacy database artifacts from the object model. The persistence layer transforms the artifacts of the database into business objects in the model tier which is able to cleanly implement business rules and present a solid object model to the view tier.

Sandoz via TEKsystems
Broomfield, Colorado
August 2004 to January 2005
Contract Software Engineer

Contract Software Engineer through TEKsystems for Sandoz, a division of Novartis. The contract involved creating a WebLogic Portal based environment for Sandoz. This work entailed interfacing to a number of existing databases and systems across multiple platforms and SAP. The portal site allowed customers to place orders and check the status of existing orders. Returns and partial shipments could also be handled through the site.

Additional tasks included creating an Ant based build and deployment environment to simplify development and configuring an Eclipse environment to help debug complex configuration issues.

BEA Systems
Boulder, Colorado
August 2000 to July 2004
Senior Software Engineer

Senior engineer involved in the architectural direction, development and extension of the BEA WebLogic Portal Server. This product is built on top of the BEA WebLogic Server using Java in a J2EE development environment. It enables customers to develop enterprise caliber sites with strong portal, personalization, and eCommerce capabilities.

Most recently a member of the customer centric engineering (CCE) team that provided customers a voice in engineering and architectural directions. CCE also created custom integrations and solutions for customers as needed.

Other responsibilities involve the integration of third party products into the WebLogic Portal Server. These products include Netegrity Siteminder for enterprise single sign on, Yahoo! Enterprise Edition, which brings over 2500 portlets to the WebLogic Portal platform, and Autonomy Systems search engine. Have additionally been involved in providing a common architecture to enable the WebLogic Portal to be both a producer and a consumer of web services, and the rearchitecting of the realtime tax and credit card processing modules to become web service providers.

Also involved in the overall architecture and design of the next generation of the BEA Portal product. Primary areas of focus are security and entitlements. This work involves the gathering of requirements, working with teams from across multiple product and business areas to determine secondary requirements and dependencies, and presenting proposed design changes to engineering, quality assurance, and the business stake holders.

Global Commerce Systems
Broomfield, Colorado
April 1999 to August 2000
Lead Software Engineer

Lead software engineer on a team that provided an electronic commerce system to one of the largest suppliers of corporate and private credit cards in the world. The system allowed a half million corporate users to review and manage credit card transactional data on line through a standard web browser in addition to giving issuing companies card management and reporting capabilities.

Primary duties include being technical project lead on a six person team responsible for architecting and implementing the data store used in the entire product including the design and development of an object to relational package used by the development team and other teams within the company. This includes the design and implementation of the Java object-relational layer on top of JDBC, and the logical and physical database design. Additionally responsible for the development of the processes that map credit card transactional data to the databases using internally developed Java tools and Informatica PowerCenter, and managing cross-discipline issues that arise within the team.

Platinum Technology
Boulder, Colorado
January 1997 to April 1999
Senior Software Engineer

Senior member of the team responsible for completely rearchitecting the existing job scheduling product. The new system incorporated an extensible object-oriented design, and was developed in C++ and Java using a threaded N-tiered architecture communicating via CORBA and a proprietary TCP-based package. Database access was implemented via an internally developed object-oriented layer on top of Intersolv's ODBC. Sybase, Oracle, Informix, DB2, and MS/SQL data servers are used for backing stores on several variations of UNIX and on Windows NT 4.0.

As team lead for the database, and communications teams, directed the design, implementation, and support of each team's component. Team lead responsibilities included gathering and organizing requirements, creating and documenting the design using UML and HTML, managing team members' development efforts, contributing to the development of the component, working with other teams to minimize dependency issues, coordinating releases, and managing change control.

G-Bar Limited Partnership
Chicago, Illinois
April 1995 to January 1997
Software Engineer

Member of the team responsible for the design and implementation of a next generation trading system used for all trading activity at G-Bar. The system communicated with the CBOE trade entry computers via TCP and UDP, provided real time theoretical values to wireless handheld PC-compatible computers on the trading floor, and was integrated with the legacy trading system.

Responsibilities included mentoring junior members of the team in object-oriented design, C++, and UNIX, analyzing the existing G-Bar trading system to implement a smooth migration path, designing and building C++ object libraries, and maintaining the build and release environment. Other responsibilities included UNIX system administration of the Solaris 2.x environment, installation and maintenance of the corporate internet connection using the TIS Gauntlet Firewall, producing internal documentation and maintenance tools using Java, HTML, and CGI, and network management using SNMP on Cisco routers and Xylogics (Bay Networks) Annex terminal servers.

S.G. Warburg Options
Chicago, Illinois
January 1994 to March 1995
Software Architect

Managed the architectural design and implementation for a worldwide equity option trading system. Responsibilities included training junior members of the development team and architectural planning, designing, and development for the system, which entailed implementing a consistent architecture to integrate multiple legacy systems while providing a solid foundation for new development. Projects included logical and physical database design, the development of a C++ object-oriented database API, an interprocess communication library implementation in C++, and porting existing software from Solaris 1.x (SunOS 4.x) to Solaris 2.x. Also responsible for the investigation of new technologies for use in all aspects of the development process, including Solaris 2.x, Sybase System 10.x, multi-threaded applications using the Solaris threads library, TCP/IP and TLI network communication libraries, and object-oriented GUI toolkits.

Systems Development Corporation
Chicago, Illinois
July 1992 to January 1994
Software Engineer

Member of the design and implementation team for a pre-trade risk analysis system that allowed traders to run what-if scenarios on executed and paper trades to see potential profit/loss and technical analyses of the trades. The system was written in C++ using a combination of the Rumbaugh and Booch object-oriented design methodologies, and used Sybase as a relational database platform. All GUI work used ParcPlace Systems OI toolkit and native X11R5 library calls. Communication to other internal foundation tools used TCP/IP socket connections.

Continental Bank
Chicago, Illinois
January 1989 to July 1992
Software Engineer / Administrator

As a software developer, responsible for the design and implementation of both system and application software for the Risk Management Trading Desk. System software consisted of programs that extracted market information from various sources and delivered it to the trading applications via TCP/IP socket connections, RPC's, and the Sybase database system. Application software included derivative product pricing, trade entry, and trade information reporting. The software was implemented on Sun workstations in C and SQL using the Sybase DB-Library. The user interface was developed using OpenWindows, SunView, and X11R4.

As the senior system and database administrator, responsible for installing and maintaining a worldwide LAN/WAN consisting of Sun and PC hardware using the Sun INR and Sunlink 3270 products, synchronous and asynchronous modems, and Cisco network routers. Also responsible for OS upgrades, kernel enhancements, hardware installation and verification, and normal UNIX and Sybase system administration.

Oster Communications
Lisle, Illinois
September 1987 to January 1989
Software Engineer

Designed and implemented the host side of a PC-based software system that reported market information to commodity traders. The host obtained a variety of information from the commodity exchanges, organized it into a structured data stream, and delivered it to customers via satellite. The presentation side of the system then formatted and displayed the information to the customer. The system was implemented in C and 80x86 assembly, and included working with device drivers and low level serial port manipulation.

Publications

BEA WebLogic Platform 7 is a fast-paced introduction to the new WebLogic Platform. The focus of this book is to provide you with an in-depth knowledge of the WebLogic Platform 7.0 product and how you can leverage its capabilities and new features to create, configure, manage, and monitor an optimal operational environment for your J2EE applications.

Websites

The HotJoe Java Help Forums (http://hotjoe.com) have helped hundreds of people with a wide variety of Java topics from basic Java installation problems to enterprise design questions. I created the forums as a vehicle to assist people who were new to Java while being able to exchange ideas with seasoned professionals. The forums are hosted on a dedicated server that I manage. They run within Tomcat and use PostgreSQL as the database storage system.

Education

Bradley University

Peoria, Illinois

September 1984 to July 1987

B.S. in Computer Science

Kankakee Community College

Kankakee, Illinois

September 1982 to May 1984

Pre-engineering courses