I am an experienced software architect from Dayton, Ohio with a focus on web-based technologies, data visualization, and user interface design. Through my experiences as a defense contractor supporting the National Air and Space Intelligence Center (NASIC) and the National Geospatial-Intelligence Agency (NGA), I have led many large scale, technically challenging projects through design, development, and delivery. My experience in a wide variety of software technologies and agile development techniques have enabled me to excel both as a developer and as a team lead. In addition to my day job at Applied Information Sciences, I also teach Computer Science courses to evening students at Sinclair Community College, and am the lead organizer for the Dayton Data Visualization users group.
Security Clearance: TS/SCI. Provided expert level software development and consultation to NASIC. Led the development of several web-based tools for the processing and exploitation of intelligence data using agile software development. Utilized the latest tools and frameworks (such as AngularJS, D3.js, Leaflet, Django, and GeoServer) to deliver modular web applications that easily integrated with their existing tools and workflows via OGC and RESTful web service interfaces.
Developed software for a news and social media startup. Utilized cloud computing technologies (Amazon AWS) to scale out content harvesting and mining tasks. Wrote code in an Agile (Scrum) based environment using test-driven development and a continuous integration service (Hudson) to ensure code developed by the team was kept to a high quality.
Security Clearance: TS/SCI. Worked as a technical team lead on a number of projects supporting NASIC. In addition to my programming duties, I mentored junior members of the team on software engineering best practices and drove the adoption of agile software development techniques such as Test Driven Development, Continuous Integration, and Scrum, leading to higher quality software developed faster.
Developed several of the Engyro non-Windows monitoring agents for Microsoft's System Center Operations Manager, allowing customers to monitor their Linux/Unix servers and software (such as Apache HTTPD and Oracle DBMS) alongside their Microsoft assets. Worked in a very dynamic environment where schedules and features were constantly changing based upon customer feedback and needs.
Engyro was acquired by Microsoft in March 2007.
The Red Hat Network server allows system administrators to update and manage a large network of Red Hat Linux machines via an easy to use web interface. This includes everything from keeping packages up to date to performing hands-free installations of complete operating systems and configuration file sets. I worked on the server-side team to help deliver bug fixes and new features to customers on a tight release schedule. Day-to-day activities consisted of writing code for the Java web application, documenting code and best practices, writing test plans, preparing level of effort time estimates for project management, and helping team members debug code.
Django, Django Rest Framework, NumPy, PIL, H5Py
AngularJS, D3.js, OpenLayers, Leaflet, Node.js, jQuery, jQuery UI, Express, EJS, Socket.IO, Cordova (PhoneGap)
Struts, Spring, Hibernate, Hibernate Search, Apache Lucene, Freemarker, Apache Commons, Ant, Maven, JUnit, JAX-WS, JAXB, Log4j, Servlets, JSP, JSTL, Custom Tag Development, JDBC, Web Services (SOAP/XML-RPC), Eclipse RCP, Apache Tomcat, Jetty
PostgreSQL/PostGIS, MongoDB, Oracle, MySQL, HBase
Linux, Windows, Mac OS X, iOS, Android, Solaris, AIX
Hadoop, Cloud Computing, Big Data, Mobile Development, Android, iOS, GIS Applications, OGC Web Services (WFS, WMS), GeoServer, GDAL, MapShaper, TopoJson, ESRI Products (ArcMap, ArcGIS Server), KML (Google Earth), Ozone Widget Framework, GNU Image Manipulation Program (The GIMP), Inkscape, Photoshop, Processing (Data Visualization Language)