Principal Software Engineer Resume
Chantilly, VA
SUMMARY
- Seeking a position as a Java Architect or Team Lead where I can contribute my expertise and experience crafting superior code. I would like to join an organization where teamwork and excellence are paramount.
TECHNICAL SKILLS
Languages: Java, Common LISP, C/C++, JavaScript & jQuery, HTML, ColdFusion, PowerBuilder, Pascal, various Assemblers, COBOL, Clipper, Curl, BASIC, APL, FORTRAN, XML & DTD, JSON, Jasper, XMPP, VCalendar
Frameworks: Spring, Apache Camel (Enterprise Integration Patterns), Apache Axis2 (Web Service), J2EE, JavaServer Faces/Tiles/Apache Tomahawk, PrimeFaces, FuseBox, Apache Vysper (XMPP server), d3.js (JavaScript Visualization), Apache, Tomcat, and WebLogic
Databases & ORM: Oracle & PL/SQL, SQL Server, MS Access, MySQL, Hibernate, Apache Derby, PostgreSQL, HsqlDB, Paradox
Development tools: Eclipse, JDeveloper, IntelliJ, JCreator, SES/workbench, Ant & Apache Ivy, Maven, Jenkins, Sonar & PMD, Atlassian JIRA tools, VersionOne, Redmine, Agile, JUnit, Test Driven Development, Solr & Lucene
Operating Systems: Unix, various Linux, various Windows, VMS, Apple, VMware and VirtualBox
PROFESSIONAL EXPERIENCE
Principal Software Engineer
Confidential, Chantilly, VA
Responsibilities:
- Responsible for re - factoring and abstracting Java source with an eye towards making procedural Java with many enumerations and large class more object oriented. Improved functionality by refactoring the Quartz implementation, email creation code, and introducing a VCalendar implementation. Installed SonarQube server to analyze code.
- Integrated a Spring security solution for CAC credentials with an existing standard Spring login/password credentials.
- Integrated a LDAP server for providing initial values for new users registering with the system.
- The main application used a Vidyo video conferencing subsystem, accessed through web services.
- Implemented an abstraction for scheduling events with participant participations requiring allocating resources. Included methods for scheduling unavailability and recurring events.
- Created an EAR project to be deployed in WebLogic that wrapped a web service that provided user status notification updates to reduce networking traffic. The deployed application user prepared statements to write to a database table shared with the main application. The application used a WebLogic startup class to avoid configuration files.
Engineer Software IV
Confidential, Chantilly, VA
Responsibilities:
- Created REST services in Java using Jersey. Created JUnit tests for the REST services using JerseyTest test harness involving Spring.
- Refactored a tightly coupled application into layers, removing business logic and database calls from the Vaadin user interface layer with the intention of separating the application into halves. Implemented Exception Chaining to abstract the Hibernate ORM layer from the REST layer.
Senior Analyst/Technical Consultant
Confidential, McLean, VA
Responsibilities:
- Architected and wrote an inter-widget communications server. Widgets are lightweight web applications. The model layer of the server implements widget objects that extend XMPP Jabber clients. XMPP is an established, open communication technology and widgets use an XMPP publish-subscribe standard to communicate events. An embedded Apache Vysper XMPP server was implemented as the server and communications were implemented using Strophe/BOSH and also Atmosphere.
- Refactored and modernized a J2EE communications application written using the Struts framework and an Oracle database.
Senior Principal Software Architect
Confidential, Herndon, VA
Responsibilities:
- Architected an Apache Camel solution using Enterprise Integration Patterns to adapt the existing Intelligence Community Data Layer (ICDL) to make the application more flexible and agile. The principle objects in the system were data sources, modifiers, indexes, and consumers. Created an architecture where a standard ETL tool (Twister) fed records to web service that processed the records and routed them through modifiers and indexes using a Routing Slip pattern.
- Designed a semantic search using Lucene.
- Architected a software development environment using Apache Ivy (source code dependency), Ant, Subversion, and Eclipse. The environment allows for the creation of software in an object oriented way - an object’s dependencies are encapsulated in the object. The creation of tools and sample applications allows for the creation of cleaner and better tested code.
- Architected and implemented the Air Force Institute of Technology (AFIT) Sustainment Curriculum Portfolio web site. Redesigned and converted the AFIT SQL Server database. Replaced the existing ColdFusion web site with a Faces/Tiles/Tomahawk framework implementation. Created infrastructure for advanced searches using dynamically generated SQL. Included an Aduna applet for search result visualization.
- Designed and implemented a metadata hierarchy for the Linguist Language Broker (LLB) application. The LLB is a J2EE application using Oracle for maintaining dictionaries of translations categorized by metadata. Created a dynamic bit vector using Oracle materialized views for fast search results.
- Created infrastructure for other projects including several research initiatives. Initiated a library of standardized common methods across projects.
Senior Software Engineer
Confidential, McLean, VA
Responsibilities:
- Completed the Artemis/Dragon Fury J2EE program development started by different contractor. Artemis is a J2EE based data entry application for an Oracle database used by several reporting tools. Added a network display tool using Jung (Java Universal Network Graph) to aid the subject matter experts with their data entry. Rewrote the application using JavaServer Faces and Tiles from Apache Struts. Also wrote a supplemental Faces/Tiles maintenance application for the system administrators for adding users, viewing log files, automatic email warnings, summary database viewing, and property file maintenance.
- Completed the Artemis/Dragon Fury J2EE program development started by different contractor. Artemis is a J2EE based data entry application for an Oracle database used by several reporting tools. Added a network display tool using Jung to aid the subject matter experts with their data entry. Rewrote the application using JavaServer Faces and Tiles from Apache Struts. Also wrote a supplemental Faces/Tiles maintenance application for the system administrators for adding users, viewing log files, automatic email warnings, summary database viewing, and property file maintenance.
- Assigned to the Analytical Assessment Tool (AAT) development staff as a LISP programmer and tool developer. Wrote the LISP XML parser. Designed and implemented a process for creating, centralizing, parsing, and summarizing the network's Unix machines' audit logging.
- Redesigned and rewrote the Electronic Army Intelligence Master Plan ColdFusion web site.
- Was lead developer for the White House Publications Server Y2K renovation project. This effort included an update and evaluation or all Publications Server software and operating systems for functionality and Y2K compliance.
- Worked on the FDIIS (Force Development Investment Information System) program for MI2S (Military Intelligence Investment Strategy) program team. MI2S links Army resources to Army requirements, integrates disparate databases and programs, and provides a cross-program analysis capability which facilitates strategies to ameliorate risk and redress shortfalls.
- Completed a Linguist Support Tool in Microsoft Access 7.0. The Linguist Support Tool is used to aid in determining linguist requirements for various contingency missions for use by Office Deputy Chief of Staff, Intelligence action officers.
- Assigned to FIM (Force Integration MasterPlanner) as a LISP programmer where I worked on Common LISP development tools for use by other developers within the FIM group. FIM is an executive decision support system for the Army Intelligence Staff.
- Assigned to the DMSO (Defense Modeling & Simulation Office) HLA (High Level Architecture) Project. The HLA is the standard architecture for all current and future DoD models and simulations. Enhanced, developed new features for, and documented a model using C & SES/Workbench (a state-of-the-art discrete modeling software) that models the HLA. The HLA model allows the users to test current and potential modeling federations by specifying the federates, or simulations, and communications systems involved. By allowing the users to parameterize their models the HLA model predicts the speed and resource demands of their model, the RTI (RunTime Infrastructure), and communications aspects of their HLA compliant models.
- Managed a team of programmers on the MCS Conversion Project to a successful completion. The MCS Conversion involved rewriting and adapting the Phoenix Synchronization Matrix to the TKC's (Tightly Knit Confederation: Mitre, CSC, et. al.) operating environment. Provided technical support, development, collaboration, and supervision to team members.
- Participated in the software enhancement and debugging of the Phoenix Baseline. Additionally, supported Prairie Warrior Exercise in Fort Hood, TX.