University of Dayton Research Institute

University of Dayton Research Institute

Senior Software Engineer - Sensor Systems Division Tech Lead
2015 to Present

OSUS (Open Standard for Unattended Sensors)

Enhanced and maintained OSGi services and plugins which read and acted on data read from various sensors.

Technologies

Java, OSGi, BndTools, Apache Felix, H2 database, MongoDB, Gradle, Mockito.

AMASE (AVTAS Multi-agent Simulation Environment)

Enhanced and supported the AMASE application, which is simulation software that provides a basic simulation environment for the demonstration and testing of UAV control technologies.

Technologies

Java, Gradle, JMockit.

Substitute Professor - Computer Science

Provided substitute teaching for the CS150 and CS151 courses, which taught beginning Java.

Technologies

Java.



Cincinnati Financial Corporation

Cincinnati Financial Corporation

Architect
2013 to 2015

My role at Cincinnati Financial was to move the software develop process to a level that reflected current technologies and best practices. This involved the following:

  • Promoted Responsive Design technologies, such as Twitter Bootstrap, for mobile front end use.
  • Promoted single page application design using JavaScript technologies such as Angular JS and/or jQuery plugins.
  • Introduced and implemented test driven development.
  • Designed a loosely coupled software architecture which drove a layer of abstraction between the View, Controller, and Model in a MVC design.

Along with my architectural practices, I also designed and developed the following applications:

EMS (Event Management System)

Architected and developed a publisher/subscriber service which was used at an enterprise level to communicate messages to/from applications within the corporation.

Technologies

Java, Spring JDBC, Spring AOP, Spring IoC, Oracle Weblogic, IBM DB2

Sales Dashboard for Mobile use

Presented a mobile friendly, responsive design dashboard application for the sales department which presented prospective customer information, sales proposals, marketing materials, and active work tasks -- all by agency.

Technologies

Java, Spring JDBC, Spring AOP, Spring IoC, JSP, HTML, Twitter Bootstrap, CSS, JavaScript, JQuery, AJAX, EL, JSTL, Stripes, Oracle Weblogic, IBM DB2.

Loss Control application for mobile use

Architected and developed a mobile friendly, responsive design application for the loss control department which presented risk evaluation information relevant for either a policy renewal and/or a new business submission. The application interfaced with the workflow system, agency management system, and other policy administration systems to pull in all relevant information and present the necessary forms to the field representative. Upon completion of the evaluation, the application interfaced with the document management system to store the end result plus any supporting files.

Technologies

Java, Spring JDBC, Spring AOP, Spring IoC, JSP, HTML, Twitter Bootstrap, CSS, JavaScript, JQuery, AJAX, EL, JSTL, Stripes, Oracle Weblogic, IBM DB2.



Liberty Mutual Insurance

Liberty Mutual Insurance

Component Architect & Principal Software Developer
2005 to 2013

My role at Liberty Mutual is a Principal Software Developer, which is synonymous to a senior software engineer or an application architect. I architected, designed, and developed the following new products, services, and web applications for Liberty Mutual Insurance. Each product was developed with a high level of quality in mind. I used test driven development (TDD) for these projects, using JUnit to create my test suite. Each of these products was developed solely by myself. They involved database design, including the creation of indexes and enforcement of referential integrity in order to achievement maximum performance results. Each product provides extensive inline/API documentation for ease of reuse and maintainability.

Commercial Lines Worklist

An internal workflow web application servicing all commercial line underwriters within Liberty Mutual. This application streamlines all processes within the commercial line department and provides underwriters the ability to work, route, transfer, and create additional work items. This application is very well received and presents a very nice web 2.0 interface (uses the jQuery Panels plugin described above). Compatible with all major browsers.

Technologies

Java, Spring JDBC, Spring AOP, Spring IoC, JSP, HTML, CSS, JavaScript, JQuery, JQuery UI, AJAX, EL, JSTL, Stripes, IBM Websphere, IBM DB2 (both mainframe and distributed), IBM MQ Workflow, Websphere Process Server, IBM Content Manager.

Commercial Policy File (CPF)

An account-centric internal web application, servicing all commercial line underwriters within Liberty Mutual. This application provides underwriters the ability to query all files attached to accounts, query and add account notes, view active Workflow work items for an account, as well as many other various informational screens about an account. This application is very well received and presents a very nice web 2.0 interface. Compatible with all major browsers.

Technologies

Java, Spring JDBC, Spring AOP, Spring IoC, JSP, HTML, CSS, JavaScript, JQuery, JQuery UI, AJAX, EL, JSTL, Stripes, IBM Websphere, IBM DB2 (both mainframe and distributed), IBM MQ Workflow, Websphere Process Server, IBM Content Manager.

Common Model Library

An internal library containing business logic for all of Liberty Mutual's commercial lines applications and services. This project provides a repository for common business logic that can be reused throughout multiple projects and resolved the problem of code duplication and business logic duplication that was plaguing the legacy applications.

Technologies

Java, Spring JDBC, Spring AOP, Spring IoC, IBM DB2 (both mainframe and distributed), IBM MQ Workflow, Websphere Process Server, IBM Content Manager.

jQuery Panels Widget

jQuery Panels is a user interface jQuery plugin that utilizes the widgets provided by the jQuery UI open source project to present entry points (or windows) into the server data -- similar to portal technology. All interaction with Panels is done so using AJAX technology, backed by the jQuery library. The Panels plugin allows for extensive customization, providing many points in which client applications can plugin in custom functionality and UI behavior specific to their needs. The plugin uses jQuery and CSS style sheets to dress up the panel content with a uniformed look and feel -- allowing the developer of the panel to focus solely on the functionality and less on the UI.

Technologies

jQuery, jQuery UI, CSS 3.0, HTML.



Ohio Casualty

Ohio Casualty

Ohio Casualty was acquired by Liberty Mutual in 2007. Prior to the acquisition, I served as a component architect and I architected, designed, and developed the following new products / components.

Bond Execution System Technology (BEST)

Insurance Surety Bond customer facing web application which allows insurance agents to search and issue Surety Bonds. BEST is a large scale high performance system, servicing agents within the continental United States and abroad. It achieved an ROI within the first year of use and contributed to a department that was the most profitable department in the company. This project won the President's award for its ease-of-use, agent-feedback, and ROI. Compatible with all major browsers.

Technologies

Java, JDBC (uses the JADA product I developed and the Form Manager web service discussed below), JSP, HTML, CSS, JavaScript, Struts, IBM Websphere, IBM DB2 (both mainframe and distributed), IBM Content Manager, IBM MQ Workflow, Adobe LiveCycle Forms, Adobe Reader Extension Server.

E-Label web service

An internal and reusable print service component which allowed Ohio Casualty personal lines policy administration system to produce online and real time insurance forms populated with the policy information. This service sits on top of the Form Manager service (discussed below).

I presented this technology at the ACORD user conference (2007) in Orlando Florida. It was very well received.

Technologies

Java, Struts, Adobe LiveCycle Forms and Adobe Reader Extension Server.

Form Manager web service

An internal and reusable form service component which allows systems to store, query, populate, and produce their various online forms using Adobe PDF technology.

Technologies

Java, JSP, Struts, DB2, IBM Content Manager, Adobe LiveCycle Forms and Adobe Reader Extension Server.


Java Instructor

In addition to the above, I also was instructor for the following courses held internally at Ohio Casualty.

Beginning Java
Focused on converting legacy developers into Java developers. It covered the Java language as a whole as well as object orientation principles.

Advanced Java
Covered J2EE and web technologies such as HTML, JavaScript, and JSP and java servlets.

Struts
An introductory course focusing on the STRUTS Java framework.



Standard Register

The Relizon Company, AKA Workflow One, AKA Standard Register

Senior Application Developer II
2001 to 2005

I architected, designed, and developed the following new web application for the Relizon Company.

SIMON (Simple Information Management Online)

A web-based content management system designed to manage the content on an Intranet.

Technologies

Active Server Pages (ASP), HTML, CSS, JavaScript, IIS, SQL Server.


Additional Work

Search Engine

Redesigned and rewrote the existing search engine within Relizonline. My implementation involved an extensive indexing process that allowed for quick and accurate search results through millions of records, eliminating the latency experienced by the users.

B2B module.

Redesigned and rewrote the existing Business-to-Business module, resulting in no B2B production issues being reported and excellent system performance. Prior to the rewrite, the B2B module was continually failing with timeout issues when large orders were sent during heavy load time. The B2B process takes advantage of the JADA package that I created.

Budgeting Module

Designed and developed a budgeting module which allowed our customers to create budgets for their users to spend. The module would stop the user from ordering past their budget.

Broadcast Order

Designed and developed a module which allowed Relizonline users to place an order and ship the order to a group of shipping addresses.



My Consulting Experiences

Consulting Services

Software Engineer
1991 - 2001

For the first 10 years of my career I focused on consulting services. I worked for several mid-sized to small software consulting companies. The last company that I worked for was a company that I helped start (Gemini Software Solutions). I developed the following new product for Gemini Software Solutions.

Products I have Developed as a Consultant

TranSend

An Active X control that allowed external Windows applications to call COBOL processors within CINCOM Control Manufacturing (an ERP/MRP package). CINCOM Control Manufacturing was a closed system. This Active X controlled bridged the gap between online web applications and/or Windows applications and CINCOM Control Manufacturing.

Technologies

Visual Basic 6.


Additional Work

ERP / MRP Software

Participated in the development of an ERP / MRP web enabled package for small to medium sized businesses, called Converge. The front-end screens for Converge were written in Active Server Pages for the Internet Explorer browser. The back-end COM objects were written using Visual Basic 6.0. Converge utilizes the SQL Server 7.0 database

Technical Team Lead

Served as a technical team leader for Jireh Consulting and Regent Systems Inc. doing consulting work for numerous projects involving Visual Basic, Powerbuilder, COBOL and MANTIS programming

Powerbuilder Developer

Served as a developer for BASS and participated on the team to develop the BASS MerchaNT system, a client-server application providing a Windows NT compliant GUI interface. MerchaNT is a back office system for in-store management of a grocery store. The interface was designed using PowerBuilder 5 and Microsoft Visual C++. The database was SQL Anywhere and resided on a server and was accessed over a LAN using the PowerBuilder native communications

COBOL and MANTIS Development

Worked as a consultant for RJO Enterprises. I participated in the development of the Defense Integrated Subsistence Management System II (DISMS II) project. Development of the DISMS II project was done using MANTIS, COBOL, and SUPRA

Technology Summary

Model

Java, Spring JDBC, Spring Aspect Oriented Programing (AOP), Spring Inversion of Control (IoC), Enterprise Java Bean (EJB 2.0 EJB 3.0), Java Messaging Service (JMS), IBM MQ Series

View

JavaServer Pages (JSP), Expression Language (EL), JavaServer Pages Standard Tag Library (JSTL), JavaScript, Twitter Bootstrap, AJAX, JQuery, JQuery UI, Angular JS, Responsive Design, HTML, DHTML, Cascading Style Sheets (CSS)

Controller

Struts, Stripes, Java Servlets, Spring MVC

Java Client Side

Java Swing, Java Applets, Jasper Reports.

Java Extras

Gradle, Another Neat Tool (ANT), Google Protocol Buffers, Eclipse IDE, IBM Rational Application Developer (RAD) IDE, Proficient in Test Driven Development (TDD) using JUnit, Mockito, JMockit, Java Swing, Java Applets, Jasper Reports, Android.

Microsoft Technologies

.NET Framework, C#, Visual Basic .NET, ASP, Windows Application Development using C#.

Version Control System

GIT, GitHub, SourceTree, SVN, CVS, Team Foundation Server, IBM Rational ClearCase, IBM Rational Team Concert, StarTeam

Adobe Technologies

Adobe LiveCycle Form Server, Adobe Reader Extension Server, Adobe LiveCycle Designer

Application Servers

IBM Websphere, Apache, Apache Tomcat, JBoss EAP 6, Oracle Weblogic, Resin

Databases

DB2, Oracle, MySQL, H2, MongoDB, JDO, DataNucleus, Microsoft SQL Server , CINCOM SUPRA

Micro Services

OSGi, BndTools, Apache Felix

Other

Machine Learning, Deep Learning, Autonomy, Continuous Integration, Jenkins, Stash, IBM Websphere Process Server v7.x, IBM MQ Workflow, IBM Content Manager, IBM Tivoli Access Manager, CA SiteMinder, iText, REST, Object Oriented Programming, XML, Powerbuilder, C++, MANTIS, COBOL, Ubuntu Linux

Education

Ohio U

College

Ohio University, Athens, Ohio, 1991
Bachelor of Science, Computer Science
Graduated Cum Laude

West Carrollton Pirates

High School

West Carrollton High School
West Carrollton, Ohio, 1986

My Portfolio

Seven Dwarfs Child Care Center and Springboro Child Development Center

Seven Dwarfs Child Care Center and Springboro Child Development Center are locally owned, licensed childcare facilities located in Miamisburg and Springboro Ohio.

Technologies

Java, Spring JDBC, Spring AOP, Spring IoC, JSP, HTML, CSS, JavaScript, JQuery, Twitter Bootstrap, EL, JSTL, Stripes, Tomcat 7 and/or Resin, MySQL 5.x.


Gwen Estep Photography

A self-taught, on-location, lifestyle photographer located near Dayton, Ohio with a passion for capturing life's precious moments.

Technologies

Java, Spring JDBC, Spring AOP, Spring IoC, JSP, HTML, CSS, JavaScript, JQuery, JQuery UI, EL, JSTL, Stripes, Tomcat 7 and/or Resin, MySQL 5.x.


Trick Truck n Rods

Trick Truck N Rods is a business that specializes in restoring old Chevy and GMC trucks, as well as buying and selling vintage trucks.

Technologies

Java, Spring JDBC, Spring AOP, Spring IoC, JSP, HTML, CSS, JavaScript, JQuery, JQuery UI, EL, JSTL, Stripes, Tomcat 7 and/or Resin, MySQL 5.x.


Elite Expediting

Elite Expediting is a full service courier company serving the central Ohio area.

Technologies

Java, JDBC (uses the JADA product I developed), JSP, HTML, CSS, JavaScript, Struts, Tomcat 7 and/or Resin, MySQL 5.x.


Dillhoff Financial

Dillhoff Financial is a full service independent financial services firm specializing in Stocks, Bonds, Mutual Funds, Life Insurance Analysis, Debt Management, Spending Plans (Budgeting) Charitable Giving Strategies.

Technologies

Java, Spring JDBC, Spring AOP, Spring IoC, JSP, HTML, CSS, JavaScript, JQuery, JQuery UI, EL, JSTL, Stripes, Tomcat 7 and/or Resin, MySQL 5.x.


My Quest Church

Simple web site for a local church which allows the church to author their own pages.

Technologies

Java, Spring JDBC, Spring AOP, Spring IoC, JSP, HTML, CSS, JavaScript, JQuery, JQuery UI, EL, JSTL, Stripes, Tomcat 7 and/or Resin, MySQL 5.x.

Military Experience

Ohio Army National Guard

Ohio Army National Guard

I joined the Ohio Army National Guard (1987-1993) right out of high school to help pay for college. I ended my 6 year commitment as a sergeant(E-5) as a heavy equipment mechanic.

Contact Information

The best way to contact me is by email. Below is my contact information:

Doug Estep
douglas dot estep at gmail dot com

My PDF Resume

My PDF Resume

CLICK HERE

to download my resume.