Brian L. Ziman
Centreville, VA 20121
(703) 930-0377
January 7, 2010
Objective:
To obtain a permanent, full-time Senior Software Development position or a freelance software development contract in an environment that will utilize my decade of experience engineering enterprise software, and exercise my problem solving skills, aptitude for algorithms and coding, and passion for learning and creativity.
Experience:
Metron Aviation, Inc.
May 2008 – Present, Sterling, VA
Senior Software Engineer
- Metron Surface –
Responsible for design, architecture, algorithms, and coding for integrating
a continuous high volume of flight related data from a variety of data
sources, and providing real-time situational awareness, using Java, XML,
SQL, and the Spring Framework.
- Noise Modeling –
Created Java task scheduling framework, including crash recovery, thread management, database persistence, and event notifications. Developed Java interfaces to access and parse XML from external web services, and created web services for external use using Java and JSP on Tomcat. Built utilities to convert between various GIS formats, including ESRI Shape files, MapInfo TAB files, and Google Earth KML files. Responsible for investigating and applying grid computing for use in distributing tasks across multiple computing resources.
- Enhanced Substitution Module (ESM)
Responsible for developing new algorithms for optimizing flight slot assignments using evolutionary computation techniques.
George Mason University, Department of Applied Information Technology
January 2010 – Present, Fairfax, VA
Adjunct Professor
- IT 108 – Programming Fundamentals – Responsible for lecturing on Java for beginning programmers.
George Mason University, Department of Computer Science
August 2007 – May 2008, Fairfax, VA
Graduate Teaching Assistant
- Operating Systems – Assisted in the teaching of the graduate introduction to Operating Systems, primarily concerned with threading, scheduling, and distributed systems. Responsible for Java aspects of the course.
- Software Engineering – Assisted in developing course materials and assignments, reviewed and graded student papers, and helped students with software engineering topics.
TEKsystems, Inc.
June 2007 – August 2007, Charlotte, NC
Senior Software Engineer
- Database Management Tool – Gathered requirements, performed analysis, then designed and built a tool for managing and deploying versioned application specific database instance configurations using Ant and Perforce with Oracle and MS SQL Server. Also provided client with knowledge and training on advanced Java Threading, including Java 5 Concurrency Package.
Novell, Inc.
November 2006 – February 2007, Vienna, VA
Senior Software Engineer
- Sentinel Alert Feed – Rearchitected the database and XML schemas used to collect security alert data and distribute it to customer installations, in order to increase the throughput of the feed by over six hundred percent, and developed the associated code in Java and SQL using Eclipse under SUSE Linux Enterprise.
webMethods, Inc.
May 1997 – October 2006, Fairfax, VA
Senior Software Engineer
- Clustered Job Scheduler – Designed and built a distributed task scheduler for webMethods' flagship Integration Server product, using Java and SQL, and developed public Java APIs, webMethods services, and an HTML user interface for manipulating the scheduled tasks. Acted as project team lead, writing feature and technical specifications, and coordinating quality assurance and documentation, in addition to building the feature.
- LDAP Integration and User Management – Responsible for all aspects of LDAP in the Integration Server product. Designed and built an LDAP user manager, allowing the server to authenticate users against an external LDAP system, and retrieve authorization data, such as roles or group membership from the system. The user manager used several layers of caching to achieve high performance, while maintaining security and minimizing network load. Also designed and built APIs for querying and modifying an LDAP system via webMethods services, including persistent search functions, using the Java Naming and Directory Interface (JNDI).
- Public Java APIs and Services – Created feature enhancements, bug fixes, and documentation for the library of public Java APIs and webMethods services for the Integration Server, which include functions for managing security, manipulating XML and data structures, persisting and retrieving data, and managing errors.
- Server Invocation Path – Redesigned primary Integration Server invocation code path in order to handle error conditions in a more stable and predictable manner, improve performance and make the Java code easier to manage. The new design uses an interceptor model which chains each stage of the invocation path to the next, allowing a stage to catch only the exceptions it must explicitly handle, and allowing all others to pass up the chain. This design also allows new links to be easily and dynamically added without requiring any change to the framework, for example to allow profiling of services.
- Core Advocacy Engineering – Individually responsible for all support escalations for the Integration Server product. Maintained and built fixes for all versions of the Integration Server product, running to more than one million lines of Java code each. Identified and coordinated processes related to engineering support of the product, pending the creation of a new team dedicated to this task.
- Broker Filter Converter – Developed Java code to convert from Integration Server filter language to Broker filter language, including regular expressions. The Integration Server and Broker use separate filter languages with unique syntax, but for performance reasons, it is advantageous to execute as much of a filter on the Broker as possible, but all filters are specified by the user with Integration Server filter language. The converter uses a table driven parser to translate the filter, while recognizing segments for which there are no equivalent instructions, and replacing those segments with values that will allow the filter to execute properly. Including regular expressions, the converter handles over thirty thousand unique states.
- SAP Integration Module (Walldorf, Germany) – Acted as technical lead on webMethods' SAP Integration Module product. Implemented lowest level connectivity in C using the SAP RFC Library and built a JNI interface and high level API in Java that provided the base functionality for the product. Wrote extensive design analysis and documentation, including functional requirements, flow diagrams, use cases, performance analysis, and scheduling requirements.
- Quality Assurance – Designed and built from scratch, an interactive bug/support/account tracking system, in Java and SQL with an HTML/Javascript user interface. Acted as Quality Assurance lab systems administrator, managing users, various applications, and a variety of hardware running Linux, Unix, and Windows. Also responsible for creating test scripts and software prototypes using Java, Perl, and other technologies.
- Agent Discovery – Developed "Agent Discovery" application, used as a case study in The XML Handbook (First Edition) by Goldfarb, et al., 1998, Chapter 17. Agent Discovery allowed the Discovery Design Group to have a single unified interface for searching across a number of different stock image catalog web sites. It was implemented using Java and webMethods' Web Interface Definition Language (WIDL).
Indiana University of Pennsylvania Department of Mathematics
September 1997 – May 1998, Indiana, PA
Research Assistant
- Surface Modeling – Assisted in the analytical solution of complex real world boundary problems, and implemented the associated mathematical models in the C programming language.
Indiana University of Pennsylvania Department of Physics
January 1997 – May 1997, Indiana, PA
Research Assistant
- Monte Carlo Simulations in the RPμ Ensemble – Assisted in computer modeling of the molecular behavior of silicon using Monte Carlo techniques, developed visualization techniques on Solaris workstations using Xlib and C, assisted in the drafting of academic publications in collaboration with scientists from Oak Ridge National Lab, and presented the project results to the American Physical Society (American Physical Society, Annual March Meeting, March 17-21, 1997, abstract #M11.07).
Related Skills:
Programming and Mark-up Languages: Proficient developing in Java and C. Extensive experience with Regular Expressions, HTML, XML, SQL, PHP, bash scripting, and JavaScript. Significant academic experience with Lisp.
Operating Systems: Proficient using Linux, Unix, and Windows. Current administration experience on Ubuntu Linux.
Applications, APIs, and Environments: Proficient with vi, JNDI, JDBC, Spring Framework 3.0, Eclipse, gcc, GNU tool set, MySQL, Perforce, SVN, and Ant.
Languages: Native speaker of English. Proficient in German.
Education:
George Mason University
Master of Science in Computer Science, May 2008
- Outstanding Academic Achievement Award for Master of Science in Computer Science
- Coursework in Advanced Artificial Intelligence, Robotics, Graphics, Linguistics, Language Processors, Databases, Theory of Computation, and Concurrent Software Systems.
- Developed a Java API for controlling the Hokuyo URG-04LX laser sensor via the SCIP 1.1 protocol for the Autonomous Robotics Laboratory.
- Graduate Teaching Assistant for Software Engineering and Operating Systems.
- Freelance tutor for Wyzant tutoring agency.
Bachelor of Science in Computer Science, January 2006
Magna cum Laude
- Minor concentration in Linguistics.
- President of Virginia Alpha chapter of the Alpha Chi National College Honor Scholarship Society.
- Member of the Association for Computing Machinery.
Indiana University of Pennsylvania
- Studied Applied Physics and Computer Science between August 1996 and May 1998.
- Participated in 1996 SSHE Summer Honors Program in Vienna, Austria.
- Enrolled in Robert E. Cook Honors College.
- Captain of team competing in the 1998 ACM International Collegiate Programming Contest World Finals.
- Published "An Introduction to Using the Internet for Research", Communication: Journalism Education Today, Spring 1996, V 29, n.3, p 5.
Current résumé is available at
http://www.brianziman.com/ziman-resume.html.
This version is archived as http://www.brianziman.com/ziman-20100107.html.
|