Résumé of David W. Neuendorf
Object-oriented Java developer with 15 years of Java, as well as previous C/C++ programming experience. Approaches all software development from an object-oriented perspective. Primary experience is with Java's Swing package (12 years). Contact
Phone: (812) 926-1828
Java 15 years continuous experience working with JDK versions from 1.02 to 1.6; routinely use Swing, collections, XML, threads, reflection, many other features Swing 12 years continuous experience, my primary development focus; commonly use many Swing components, often including JTree and JTable; have experience with JGoodies. Rated “master” on Brainbench Java GUI exam (transcript ID 5864368). Object-oriented About 17 years continuous experience; worked on many design teams; functioned as architect on analysis and recent assignment, including leading design sessions; used several UML design tools, most design recently MagicDraw UML. XML Used with Java since 2001; solid experience with DOM, basic knowledge of SAX; often use XSLT with Java. Database Basic knowledge of relational database principles and SQL; used JDBC-ODBC bridge and MS Access on several projects. Called Oracle PL/SQL stored procedures on one assignment, using custom XML-based object-relational mapping. On another project, called stored procedures on DB2 on AS400 platform. Developed persistence layer using H2 database with Hibernate, JPA and plain JDBC. Web Basic knowledge of web development; extensive servlet development on one project, defined and used EJB session beans on another. Some experience with JSF and richfaces. Documentation Skilled writer; known by some co-workers as “Mr. Documentation” due to attitude toward design documentation, as well as speed and quality of documentation production. Team Enjoy working either solo or on teams of various size and composition; develop good relations with Development co-workers; enjoy and skilled at mentoring; had good results in leadership role on recent assignment. Used SCRUM methodology on recent assignments. Tools Java IDE: many years experience with JBuilder, Eclipse UML: Together Developer, MagicDraw UML XML: XMLSpy on one assignment Version control: Visual SourceSafe, CVS, Subversion, Clear Case Software installation: developed several installers using InstallAnywhere Unit testing: JUnit Frameworks: some exposure to Spring Platforms All versions of Windows Domain experience Health insurance, medical records, hospital clinical management, manufacturing, mechanical product configuration, e-learning courseware, public utilities, stock exchange, factory automation. Miscellaneous Native code: developed adapter DLL for accessing Delta Tau Systems PMac motion control card.
; Sun Certified Java Programmer, January 1998
; Sun Certified Java Developer, October 1997
Dave was a contract Java developer for a high profile project with a complicated code base. He learned the application quickly and delivered high quality code that kept Projects our project on time and within budget. Dave also demonstrated strong soft skills by listening carefully to requirements and an LifeTouch Portrait Studios – May 2011 to August 2011: Java Swing ability to work remotely with a developer adding features to the application used in LifeTouch studios to sell geographically distributed portraits to customers. Integrated new code into the client’s existing very complex team. Dave is a proven asset to any team he works with and I binding framework. Worked in both client and server code; made database changes enjoyed having him on my team. and created new hibernate entities as needed. Used SCRUM methodology on this assignment. -- Brian P. Olson Manager, Application Development & Architecture FedEx – February 2011 to May 2011: Java Swing developer on several Lifetouch Portrait Studios Inc. projects. Wrote a variety of custom JTable and JTree custom cell renderers and JTable custom table models. Interfaced client code with proxies for stateless session beans running in WebLogic. Also worked on debugging Fit test cases for machine-generated Java code.
Rockwell Automation, Cleveland, Ohio – June 2010 to December
2010: Java developer working on software for managing factory automation controllers. The work has focused on developing a persistence API using Hibernate and JPA annotations and the H2 database, with heavy use of Junit unit tests and code I worked with David on updates to a couple mission critical apps for reviews in Code Collaborator. Later work involved re-implementing with straight FedEx Express. He quickly came JDBC after removing Hibernate and JPA. Used SCRUM methodology on this up to speed on the rather complex assignment. business logic and provided exactly what we needed in terms of Java Swing clients. His knowledge of Java in general and Swing in Health Management Systems (HMS), Nashville, Tennessee – July particular is excellent. He provided a quality product and was very easy 2008 to January 2010: Java developer working on hospital clinical to work with. David has a very good management software implemented as Swing applets. The work was a mix of bug level of expertise in the art of fixes and development of new features. Also worked for several months on an software development that is very hard to find. I would recommend intranet project using JSF and Richfaces. him for those projects where you need the job done right! New feature development included nursing orders, co-signature of all types of orders by physicians, and many smaller features. Wrote a utility to recover data that had Keith Wimberly been saved using default Java serialization and thus could not be read by newer FedEx Services versions of the software. Every project, whether bug fixing or new feature development, required reverse engineering of undocumented code, honing analytical skills.
Chicago Stock Exchange, Chicago, Illinois – July 2006 to July
2008: one of two Java developers on two teams, working with users, project managers, business analysts and PL/SQL stored procedure developers. The major challenge on this assignment was using the client’s powerful but complex and
undocumented architecture and application framework. Advanced analytical skills
Dave joined our team as a were required to research class relationships and sequences of operations used by the contractor when we were framework. The applications were client-server based, using Java Web-Start for challenged with transitioning from client deployment, JINI for client-server communication, and Oracle for data storage. C++ development to Java. In both the development he was tasked They also used the Spring framework to externalize the selection of implementations with and the code reviews which of many interfaces as well as initialization of the implementation classes. were thrust upon him, he was helpful in pointing out where we One project involved producing a new version of legacy Java software for were deviating from standard Java investigating violations of trading rules by brokers. The purpose of the other project practices. More than that, however, was to develop a maintenance application for stocks and other entities used by the on those occasions where the pecu-stock exchange. The latter project was still in progress when the assignment ended. liarities of our requirements led us to continue down an unconventional In both projects, developed Java code for the Swing user interface down through path, Dave adapted to our design, looked for unanticipated ramifi-calling of stored procedures. Also developed much XML for object-relational cations, and found ways to address mapping and externalized rules for market regulation. those issues. Dave was pleasant to work with, he pro-actively educated himself on the technologies we had Bayer HealthCare, Elkhart, Indiana – March 2006 to June 2006: selected, and he consistently looked Worked on a team of six developers to create a diabetes management desktop for ways he could help. application using Java and Swing. The project was postponed due to external factors, -- Brent Johnson so the software was not completed during the period of the assignment. In addition to Senior Project Engineer the official role of Swing developer, served unofficially as OO architect and lead Rockwell Automation, Inc. developer.
Most of the time on this project was spent on analysis and design, including writing design documents. Bayer’s software is classified by the FDA (Food and Drug Administration) as a medical device, so a stringent development process is observed, I worked with Dave as a team with every step being carefully documented. In addition, on this project the process member on a software system included test-driven development. written primarily in Java to be used in the automation industry. I found Used MagicDraw UML daily to create class and sequence diagrams; conducted team Dave to be very conscientious design sessions; participated in design reviews. Mentored team members on design regarding the code and docu-and Java implementation. Used JBuilder and its JUnit support to create and run unit mentation he wrote. Also, his Java tests for most classes. and database expertise helped the
team several times as most of the Responsible for implementing main application classes and a mail merge feature. other team members were from a The latter used localizable tags inserted into a Swing StyledDocument as JLabels C++ background. I found Dave to with tags attached as client properties. Each tag encapsulated all necessary be a great team member and he will information for merging with the recipient’s data. be missed. -- John Kelly Senior Software Engineer Rockwell Automation, Inc. Modern Die Systems, Elwood, Indiana – September 2004 to
February 2005: Teamed with mechanical and electrical engineers, developed a Swing application to control a machine that measures dimensions of an aluminum extrusion and uses a servo motor to make a correction to one of the dimensions. The Dave joined the Common Services machine was custom designed for Alcoa in Auburn, IN. team in a contract role to develop our Java persistence solution using an embedded database. He was User interface: The user interface presents both operator and administrator views of able to come up to speed quickly in the machine's operations. The administrator is able to manage administrative and a complex development environ-operational users, configure machine operation (e.g., set target dimensions and ment as part of a large team, and tolerances), and search the archive for historical data on parts processed. The effectively implemented code and tests for a large slice of the operator is able to start and stop the machine, and observe the software's perception persistence solution. of the machine's current state.
-- Tim Biernat Software Architect Interesting features of the user interface include a machine state diagram, in which Advanced Technology the current state is highlighted by color change. This is implemented as a custom Rockwell Automation email@example.com Swing JPanel. There is a graph for viewing series of processed parts. As the mouse +1.414.382.4563 traverses the graph, a vertical line highlights a particular part and that part's individual data appears in JTables outside the graph. Heavy use was made of the
Dave was brought on in a contract role as a highly skilled Java JGoodies libraries for look and feel as well as binding beans to the gui. developer and served us well. When our project System Architect left the company, Dave stepped up Threading: The machine interface has some near real-time requirements. The user and picked up the role of System interface must be able to report safety or other operational problems with little or no Architect and successfully led the delay; and the software must be able to detect those problems and immediately take team through completion of the system design. I would welcome the action to prevent damage to the operator or the machine. In order to meet these chance to hire Dave again. requirements, the software heavily utilizes Java's multiple threading capabilities.
-- Paul Inman Director, R&D Software Persistence: Data on parts processing and software and machine configuration are Bayer HealthCare, retained in a database. For this purpose, used the MS Access engine built into Diabetes Care Division Windows XP, accessed using JDBC and SQL.
Logging: Software actions are logged using the Apache Jakarta commons logging api.
I retained the services of Dave Hardware interface: The interface to the machine itself is a Delta Tau Systems Neuendorf to program a machine PMac motion control card. The software interface to this card is a Windows dll. To control device. This was a departure use this dll in the Java application, wrote an adapter dll using C in MS Visual from the usual programming that Dave was experienced in. This Studio .NET 2003. The dll allows the software to send ASCII commands to the machine was to learn the bending PMac. By this means, the software is able to read the states of various sensors, characteristics of an aluminum including optical switches, proximity sensors, digital position indicators and servo extrusion and correct parts that motor position. It can also turn switches on and off, activate pneumatic cylinders varied as much as eight mm in either direction of optimal. The through solenoids, and control the motion of the servo motor. project required Dave to learn the intricacies of two servo control devices and write the needed code Steel Tools LLC, Noblesville, Indiana - November 2004 to to gather data, control the November 2005: Developed Tool Manager, a client-server Swing application to mechanical device, its servo motors manage maintenance of tools and dies in stamping plants. The major benefit of the and trouble shoot itself. Dave studied the manuals and wrote the software is that it makes it possible to do the right maintenance at the right time, thus code for this project in much less preventing breakdown of tools during a press run and reducing maintenance costs. It time than I would have thought can also manage re-use of certain steel scrap, further reducing costs and improving reasonable. The software was the competitiveness of the plant. Steel Tools is testing Tool Manager in one medium cornerstone of the entire project. Dave's dedication to the project sized stamping plant, and is actively pursuing licensing to other plants. made it a success. The software User interface: The client user interface presents varying capabilities to several user was amazing. Within three or four types: administrators (software configuration and user management), supervisors parts the machine learned the (reading and writing data on tooling components, presses, work orders etc), crib bending characteristics of the current lineal and was correcting the attendants (tool crib inventory management functions), and toolmakers and other parts to within ? .2 mm of optimal. read-only users. It is Swing based, and relies on the JGoodies libraries for look and The user interface was easily feel as well as binding data to the GUI. Search results are presented in a JTree, understood and invited the which is the base from which all tooling objects (tools, presses, etc) may be viewed, operators to interact with the machine. edited or deleted.
I look forward to working with Dave Server: Data is managed by a server application. Client-server communication is again some day. accomplished by passing objects through sockets using ObjectInputStreams and --Robert L. Davis ObjectOutputStreams. The database used by the server is the MS Access engine built General Manager/Owner into Windows XP, accessed using JDBC and SQL. Modern Die Systems Elwood, IN 46036 Logging: Server actions are logged using the Apache Jakarta commons logging API. Hardware interface: The interface to the machine itself is a Delta Tau Systems PMac motion control card. The software interface to this card is a Windows dll. To use this dll in the Java application, wrote an adapter dll using C in MS Visual Studio .NET 2003. The dll allows the software to send ASCII commands to the PMac. By this means, the software is able to read the states of various sensors, including optical switches, proximity sensors, digital position indicators and servo motor position. It can also turn switches on and off, activate pneumatic cylinders through solenoids, and control the motion of the servo motor.
Dave was brought on in a contract role to help us through a difficult transition period. During his time at the CHX, Dave was able to provide NeuSys, Inc., Aurora, Indiana - April 2002 to present (ongoing and deliver innovative ideas and development): Sole developer of a Java 1.4 framework for technical solutions. If the situation were to present itself, I would not hesitate to manufactured product catalogs. I started development of the framework concurrently hire Dave again. with its first use on a project (April 2002 to March 2003) for Ortman Fluid Power (Quincy, IL). Ortman manufactures several lines of pneumatic and hydraulic -- Robert Garrett Vice President, cylinders. The software I developed for them makes it easy for a user to specify Application Development, features of a cylinder from any of Ortman's product lines. It then generates a catalog Chicago Stock Exchange number, product spec sheet and drawing of the selected cylinder. It provides printing capability for the spec sheet and drawing, as well as zoom and pan for the drawing. The user can also export the drawing to an AutoCAD DXF or PNG file. The framework uses manufacturer-specific catalog data that are externalized in XML files. The externalized data include product features, rules for mutual compatibility of features, drawing dimensions, drawing instructions and a spec sheet template. The XML drawing instructions include expressions that are evaluated using a postfix expression evaluator included in the framework. The externalized spec sheet template is written in XSLT, to convert an XML product spec generated by the Dave is one of the few developers framework to HTML for display and printing. All user interface text strings are that really understands the Swing externalized in a properties file to facilitate localization. libraries! My project would have not
succeeded without him. I developed several user interface features for the framework. A panel for selecting
-- Daniel Brookshier product options presents Swing components of different types for the various options Chief Architect, types. For example, the "double rod end" option is Boolean (true or false); it is NoMagic Inc represented on the option selection panel as a JCheckBox. Mounting style is a selection option, with several possible choices; it is represented as a JComboBox. Floating point and integer options are represented using custom JTextField components. The option selection components are arranged vertically down the area of the selection panel using a GridBagLayout.
The framework also contains a DescriptionBar class that displays an icon and description of each option as the user moves the mouse over the components in the option selection panel. This includes a different icon and description for each item in any of the JComboBoxes in use. Dave has been instrumental in the Product specification sheets are displayed as HTML in a JEditorPane. The html development efforts of two projects at the Chicago Stock Exchange. He content for the spec sheets is generated using an XSLT template. Drawings of the is conscientious with his work and is selected product are displayed on a ProductDrawingPanel of my own design. This an excellent resource for class uses Java2D to render a product drawing. It supports layers (such as dimension Java/Swing programming. He would line, English and metric unit layers), infinitely variable zooming, and panning using be an asset to any Java project.
scroll bars. -- Carolyn Lynch Sr. Systems Analyst The Ortman application of the framework presents the option selection panel on the left side of a JSplitPane. The spec sheet and drawing panels are on tabs in a JTabbedPane on the right. Below these is the DescriptionBar described above. Buttons on a JToolBar duplicate the most commonly used items in the menu system. UML design and JavaDoc system documentation for this project is performed using TogetherSoft's Together 6.0 application. I used various releases of JBuilder (6 through 9) as the IDE for the project, though all user interface code was hand-coded, not generated by JBuilder. While using JBuilder 6 for this project, I wrote a review of that product for the web-based publication Journal of Object Technology,
(http://www.jot.fm/products/review1) along with Dr. Richard Wiener, editor of that Dave is a skilled and conscientious
object-oriented developer and publication. I used Java SDK 1.4 for all code in the project.
Swing programmer who also communicates effectively. His For application deployment, I developed an installer using InstallAnywhere 4.5 writing, both Java and English, is Enterprise. I also used my experience with this and other installer products to clear. He is an able and tireless
worker and an excellent colleague.
It was a pleasure working with him.
-- Dr. Richard Wiener Chairman, Department of Computer Science, University of Colorado; Editor-in-Chief, Journal of Object Technology (www.jot.fm)
collaborate with Dr. Richard Wiener in writing a review of installer software for the Journal of Object Technology (http://www.jot.fm/products/review2).
The basic web features of the framework are complete. A catalog developer now needs to add only a few more lines of xml to list options to appear on wizard pages, and create XSLT templates, in order to dynamically generate appropriate web pages for a product selection wizard.
My present work involves further extending the framework to handle hierarchically organized product lines; adding a solid model view of the selected product, implemented using Java3D; and developing a GUI tool for entering product line data and drawing instructions. I am also busy marketing my catalog development services to manufacturers in the fluid power and linear motion component industries. This involves interacting with potential customers via phone, email and personal visits.
Manugistics, Detroit, Michigan -- 2001
Peer3, San Francisco, California – 2000 - 2001 Besides his extensive knowledge of
Innovatek, Milwaukee, Wisconsin – 1999 - 2000 Java in design and development,
Dave possesses excellent Ericsson, Richardson, Texas – 1999 analytical, problem-solving, and Anthem Blue Cross – Blue Shield, Cincinnati, Ohio --1996 - 1999 technical writing skills. He works 1987 - 1996 Sole Proprietor of Neuendorf Systems –well on a team including providing
assistance to those less
Education --Karen Letts Project Lead, ; BS, Chemistry; Valparaiso University; Valparaiso, Indiana Bayer HealthCare
; MS, Materials Science and Engineering; Purdue University;
West Lafayette, Indiana