Summary

Application Architect with broad experience in software design and development using high and low-level languages. Possesses excellent knowledge of architecture, design patterns, software development methodologies, mobile and web technologies and usability. Strong algorithms background with detailed knowledge of multithreading and multiprogramming. More than twenty years experience in systems development.

Experience

Senior Software Engineer, The Climate Corporation; Creve Coeur MO — 2016-Present

As a member of the Geospatial Engineering team, together, we created a scalable geospatial satellite ingestion pipeline.

Implemented an improved Climate FieldView™ scouting map in collaboration with the science team using the provided statistical algorithm. The results were verified using truth data provided by the science team. The outcome is a scouting map that more accurately identifies field health issues.

Experience with ingesting RapidEye-3A, Sentinel-2, Landsat-8 and DEIMOS-1 satellite imagery for use with top-of-atmosphere algorithms.

Application Architect, Aclara; Hazelwood MO — 2005-2016

Provided technology direction, architecture and algorithm implementation for a fault detection and localization project using Scala, Apache Spark Streaming and GraphX. Produced basic descriptive statistics utilizing R and RStudio.

Presented future architecture direction to the largest client.

Created the basis for a unified user experience across four separate platforms, consisting of a third party partnership and series of single page applications. The effort included a working proof of concept, requirements definition, usability discussions, framework selection, code reuse and developer training.

Provided architecture support for Synergize RF Electric. Support included design reviews, XML handling, screen design, mock ups and integration with the unified user experience platform.

Assisted the Test Automation team by addressing user interface testing using Selenium, WatiN and WCF integration testing using Visual Studio Unit Testing Framework.

Added MultiSpeak web service support to the Meter Data Management (MDM) platform enabling enterprise application integration with Customer Information System (CIS) vendors.

Collaborated with Data Architecture to increase scalability and reduce maintenance of the Advanced Metering Infrastructure (AMI) data load by creating a design to redistribute processing responsibilities and remove the need for dynamic SQL.

Lead a team to research, design and implement a service oriented architecture supporting a Meter Data Management (MDM) platform. This architecture formed the basis for a consolidated user interface and business-to-business exchanges. Responsibilities included providing designs, technical oversight, design and code reviews, process and development guidelines and increasing developer productivity.

Developed a highly scalable JEE system providing AMI over existing power lines using Two-Way Automatic Communication System (TWACS) technology. Performed as subject matter expert for the user interface, billing, data import and export. Developed a system monitoring application providing visibility into system execution. The application was intended to evolve as runtime aspects of the system were understood and provide continuous feedback for future system optimizations.

Integrated load control functionality shedding electrical load for short intervals, thereby significantly reducing electricity requirements during peak usage.

Consultant, Belcan Corporation; Chesterfield MO — 2004-2005

Nestlé Purina

Developed printer drivers supporting SATO and Intermec label printers. The drivers supported robust connection handling, error handling, status information and printing using each printer’s specific programming language. Label printing was initiated by means of Programmable Logic Controller (PLC) register events accessed through an OPC Server.

Implemented a custom Java native launcher by leveraging C code shipped with the JDK. The native launcher enabled users to seamlessly use Java applications within the Windows 2000 environment and simplified deployment of the client applications.

Consultant, Ciber, Inc.; St. Louis MO — 2002-2004

Express Scripts, Inc.

Performed as a member of a senior level development team adding dependent and multiple coverage functionality to the On-Line Pharmacy Benefits Management System. Dependent functionality enabled dependents to manage pharmacy benefits and control access to benefit information among family members. Multiple coverage functionality enabled members to manage multiple pharmacy benefits for a single member.

Performed as lead developer on a formulary project creating a high-performance web application to enable browsing and searching formularies.

Software Engineer, Object Computing, Inc.; St. Louis MO — 2000-2002

National Information Solutions Cooperative

Developed a three-tier, generic billing system using Java/Swing, JBoss and Oracle. The project involved rapid prototyping, developing custom data-bound GUI components, designing frameworks, mentoring employees and evaluating usability.

Boeing

Developed a web-based Interactive Electronic Technical Manual (IETM) for helicopter diagnosis and repair. The project involved meeting stringent performance, deployment and internationalization goals, specifically Korean. Other aspects involved mentoring employees and evaluating usability.

Programmer Analyst, Practice Patterns Science, Inc.; Maryland Heights MO — 1996-2000

Developed a multiprogramming project to load, index, analyze and export clinical data warehouses up to 0.5TB in size. Created a Java/Swing client-server application to submit and monitor these loads.

Education

  • Southeast Missouri State University, Cape Girardeau MO — 1996
  • Bachelor of Science, Computer Science/Mathematics-Systems Option

Certifications

  • Scrum Alliance Certified ScrumMaster®
  • Sun Certified Programmer for the Java 2 Platform

Personal Projects

Daily Grind

Daily Grind iOS app assisting with time reporting by tracking time spent on daily tasks. Any number of projects may be added and each project may have any number of tasks. Time is recorded by simply selecting tasks. Generating a report creates a nicely formatted email detailing the time spent on each project's tasks. All images are original and created in Photoshop.

Skills

Operating Systems

iOS; MacOS, OS X Server; Linux; FreeBSD, AIX, Tru64 UNIX, HP-UX, Solaris, Cygwin; Windows, MS-DOS; AmigaOS

Languages

Clojure, Scala, Swift, Java, JavaScript, Python, Objective-C, C, C#/.NET, SQL, Pro*C/C++, Ruby, Haskell, Regular Expressions, R, C++, XSL, XSLT, Object Pascal, Pascal, Icon, Modula-2, IPL, CORBA, Applescript; JSON, Markdown, HTML, CSS, XML, XML Schema, SOAP

Databases

Oracle, DB2, SQL Azure, SQL Server, SQLite, MySQL, PostgreSQL, DynamoDB, HSQLDB, MS Access

Software

IntelliJ IDEA, Xcode, Microsoft Visual Studio, ReSharper, SoapUI, Eclipse, RStudio, AgitarOne, NetBeans, WSAD, JBuilder, Together, Delphi, TextMate, vi, Visual SlickEdit, XMLSpy; Enterprise Architect, JUDE, Rational Rose; JProbe, Purify; Syncsort; Leiningen, Conda, Homebrew, Stack, RVM, rbenv, SBT, Maven, Ant, make; Git, Mercurial, Subversion, CVS, TFS, ClearCase, StarTeam, Microsoft Visual SourceSafe, PVCS; Jenkins; JIRA, ClearQuest; Splunk; Docker, VirtualBox, Vagrant; IIS, Weblogic, WebSphere, Oracle Application Server, JBoss, Apache, Tomcat, APEX, JacORB, orb2; SQL Developer, SQL*Plus, TOAD, pgAdmin, AQT; MS Office, iWork, Google Docs, Google Sheets, Google Slides; QGIS; Photoshop, Lightroom, Painter, Blender; Kepware Products, ICONICS OPC Simulator

Techniques

Microservices, Service Oriented Architecture, Web Services, Single Page Applications, DevOps, CI/CD, Test Driven Development, Unit Testing, Refactoring, Design Patterns, Scrum, Agile Software Development, Unified Software Development Process, UML

Frameworks

iOS SDK, AWS, Boto, Log4J, SLF4J, Core Data, Core Location, Clojure Test, ScalaMock, ScalaTest, RSpec, Apache Spark, YARN, jQuery, jQuery UI, Backbone, Underscore, Bootstrap, Font Awesome, Jekyll, Bundler, DataTables, ODP.NET, JDBC, Common.Logging, log4net, Microsoft Unit Test Framework, Rhino Mocks, JUnit, Selenium, WatiN, Coded UI, Azure, WCF, Spring.NET, LINQ, ASP.NET MVC, JSON4S, Highcharts, Swing, Spring, Guice, Wicket, JSF, JSP, JSTL, GWT, Struts, Tiles, Servlets, Servlet Filters, NIO, Generics, Annotations, Hibernate, Apache Commons, JFreeChart, Batik, JEE, JNDI, JAXP, JDOM, Xalan, Xerces, JAAS, MultiSpeak