STEVE O'DONNELL
**** * **** ***** ***, Meridian, ID 83646
Phone: 208-***-****
Email: ***********@*****.***
TECHNICAL SKILLS
• Programmed software using Java, JEE, Generics, Introspection, Reflection, Grails, Groovy, Spring
Framework, Hibernate, XML, VXML
• Testing abilities include JUnit, Selenium, JMeter, DbUnit, Mock Objects
• Software design skills creating Use Case Diagrams, Class Diagrams, Communication Diagrams, Sequence
Diagrams, Action Diagrams, Component Diagrams
• Experienced with SQL on a variety of databases such as Oracle, SQL Server, Sybase, MySQL, Ingres
• Knowledgeable of the full Software Development Life Cycle in an agile environment.
• Experience with requirements gathering, documentation, design, architecture and engineering, development,
testing and deployment of software
• Worked in different development environments including Linux, Windows, Eclipse, Spring Tool Suite,
maven, ant
RELEVANT EXPERIENCE
Idaho Information Consortium, Developer - Boise, Idaho 2006 - present
Project Experience
Collection Agent Registration – 2013 – Developer
Online application to allow collections agencies to create, maintain, update and pay fees for collection agents.
• Created “shopping cart” leveraging Spring Webflow
• Automated data exports using Quartz JDBCJobStore.
• Created services to merge remote data and local data to maintain accurate history of applicants.
• Developed AJAX autocomplete to ensure more accurate data.
• Leveraged Lucene for quick searching for agencies and agents.
Technologies: Grails, Groovy, GSP, Hibernate, XML, Lucene, Javascript, AJAX, Quartz, Webflow, Spring
Corporate Search – 2012 - Project Lead
Corporate Search is an online application that enables users to search for business entities registered in the state,
view details and purchase Certificates of Existence. The legacy application overloaded the server, requiring
frequent restarts.
• Responsible for migrating legacy in-memory database to use Oracle.
• Moved corporate search project that used an in-memory database to Oracle, leveraging text indexing for
overall increased performance and higher quality search results.
• Implemented Java Reflection to further increase performance for large datasets.
• Used PreparedStatement to reduce the expense of creating large volumes of objects.
• With the enhancements, the system does not run out of memory and need to be restarted.
Technologies: Java, Oracle Text Indexing, Sitemesh, Velocity, Spring Framework
Trademark Registration - 2011 – 2012 - Lead Developer
The Trademark Registration project enabled the Secretary of State's office to modernize their paper registration
system to an online system reducing application time from weeks to hours.
• Developed and tested online application that allows citizens to apply for, edit, and pay for new Trademarks in
the State of Idaho.
• Enabled the state agency to approve or decline an application.
• Used Burning Image plugin to manipulate images to meet the agency's standards.
• Exported Trademark applications to the agency via XML.
• Responsible for development and testing the entire application.
Technologies: Grails, Groovy, GSP, Hibernate, XML, BurningImage, Selenium, Oracle, Quartz, Javascript
Crash Reports – 2010 – Project Lead
Crash Reports can now be requested and purchased online due to this project. Prior to this application, reports
could only be purchased either in person or via fax at one office through the Office of Highway Safety.
• Developed UML documents to ensure a robust application.
• Used CallableStatement to communicate with remote SQL Server database.
• Lead the development efforts for the application.
• Used JSON and AJAX to assist the users to find their accident reports.
• Responsible for implementing unit and integration testing with junit and selenium tools.
Technologies: Java, Spring Framework, Velocity, Sitemesh, UML, database design, Oracle, SQL Server, Quartz,
Javascript, AJAX
Tax Suite of Applications – 2007, 2009, 2010, 2011, 2012
Electronic Withholding, Information Returns (e.g. 1099), and Sales and Use Tax filing were pieced together over
the course of several years. I was responsible for updating the separate applications into one cohesive suite of
applications. Improvements to these applications reduced the number of service calls by over 90%.
Electronic Withholding – Project Lead
• Electronic Withholding was split across five separate projects. Refactored code to leverage the reuse of code
wherever plausible.
• Used Checkstyle to root out duplicate code.
• Reverse engineered the applications to discover duplicate methods and remediate the subsequent issues.
• Implemented extensive unit tests to ensure that the agency's requirements were met.
Information Returns – Project Lead
• Responsible for creating the original UML documentation for the application.
• Refactored the application to match the original UML and engineering of the application.
• Implemented unit testing to ensure accuracy.
Association – Lead Developer
• Designed and developed a separate application to enable a single sign-on functionality for the suite of
applications.
• Created UML documentation included Use Cases, Class Diagrams and Activity Diagrams.
• Leveraged Java Generics to enable users to access multiple applications while signed into the legacy systems.
Refund Status – Lead Developer
• Developed UML diagrams including Use Cases, Class Diagrams and Activity Diagrams.
• Programmed application in Java
• Implemented unit testing for the application.
• Developed VXML scripts to replace legacy voice recordings.
Technologies: Java, JEE, VXML, Spring Framework, UML, Velocity, Sitemesh, Oracle, Quartz
Professional License Renewals – 2008, 2009, 2011, 2012, 2013 – Various Roles
Created applications for various licensed professionals to renew their licenses online. Professionals include
Pharmacy professionals, Legal professionals and Health professionals.
• Performance enhancements to applications whose reporting capabilities were extremely slow, often the
clients' browser would time out before receiving their data.
• Implemented Java Reflection to streamline reporting thus improving performance.
• Refactored code and centralized client data into one database, performance has been greatly improved.
Technologies: Java, Spring Framework, UML Velocity, Sitemesh, Oracle, SQL Server
Hazardous Materials Registration – 2008 – Developer
This project was a rewrite of a poorly performing legacy application
• Developed an online application for shipping companies to lookup their registered vehicles and register them
for transporting hazardous materials through the state.
• Implemented code in Java based on UML artifacts
Technologies: Java, JEE, Spring Framework, UML, Velocity, Sitemesh, Oracle, Ingres
Driver's License Reinstatement - 2007 – 2008 – Lead Developer
Prior to this online application, users would need to do their reinstatement via mail or fax. This new program
drastically reduced the number of employees needed to get a license reinstated.
• Developed UML diagrams including Use Cases, Class Diagrams and Activity Diagrams.
• Coded complex financial algorithms to ensure proper distribution of funds.
• Another feature of the program enables users to check the status of their driver's license online, further
reducing phone calls to the agency.
Technologies: Java, JEE, Spring Framework, UML, Velocity, Sitemesh, Oracle, Ingres
Job Responsibilities
Software Maintenance – Performed ongoing maintenance and enhancements to existing portal projects. These
tasks ranged from minor updates, change requests and fixing defects to major overhauls.
Framework Development and Procedures 2006 - present
• Developed enhancements and improvements to an existing internal framework that is based on the Spring
Framework.
• Created efficiencies for the entire development team. Leveraging Java Generics and XML, created a new
way of handling Data Access Objects and Object Relational Mapping. These enhancements reduced the need
for several new classes for each Domain Object and hundreds of lines of code.
• Used introspection and reflection to create a single class for tracing objects. This results in four less imports
and dozens of less lines of code per class.
Technologies: Java, Generics, Introspection, Reflection, Bean, XML, Quartz
Foxglove Solutions, Owner, Developer – Sandpoint/Boise, Idaho
2004 – 2007
Accomplishments
Ecommerce Application – 2004 - 2006
• Designed, developed, marketed, and maintained an ecommerce application.
Technologies: Java, Spring Framework, Hibernate, JSP, UML, MySQL, Quartz
Glahe and Associates, Technical Manager – Sandpoint, Idaho 2003 – 2006
Accomplishments
• Converted inventory system from manual entry with Excel to barcode scanner backed by a database.
• Performed graphic design service including digital restoration, digital enhancements, archiving, etc.
Technologies: Photoshop, Sybase, Zebra, AutoCAD
EDUCATION
Information Technology Institute, Portland, Oregon - Certificate of Applied Technology
Western Michigan University, Kalamazoo, Michigan - Bachelor of Science