|
TECHNICAL SKILLS
Java EE (JMX, JavaMail, JAXB,
JNDI), Spring (DI, AOP, txn mgmt),
remoting (JAX-RS (REST), JAX-WS, CORBA),
database (JDBC, SQL, LDAP, iBatis, Hibernate, TopLink,
JPA, PostgreSQL, Java DB, Oracle), Web-tier (JSF,
Facelets, JSP, Servlets, Portlets, security, AJAX, CSS, Javascript,
IceFaces, Balsamiq), testing (Mockito, JUnit, TestNg,
Spring test framework), modeling (UML, E/R)
|
WORK
HISTORY
Time-Warner Cable,
Broomfield, CO
(Entertainment and communications industry
providers of products and services on an enterprise scale, with 14
million customers - digital cable, high-speed internet and digital
phone)
| Senior Software Engineer,
Advanced Technology Group |
2008-present |
Develop and evolve components and services
for an enterprise application supporting cable plant operations.
Current focus: streamline a cumbersome product installation process
by retrofitting an RDBMS persistence layer to legacy CORBA code.
Further simplify that process by providing a web-based management
UI. Support corporate goal of exposing back-office data with a
JAX-WS interface to the business logic. Concurrently working various
other projects: a JAX-RS registry that facilitates seamless
navigation between UI components; general product maintenance; and
prototyping contemporary technologies as part of refactor/redesign
for next-generation releases. Overall goals include lowered support
costs, improved diagnostics and flexibility in framework selection.
- Address ongoing bugfixes and new feature requests for
established product deployed nation-wide
- Provide new components supporting RIA experience and enhanced
capabilities to facilitate ease-of-use for the product users
- Refactor legacy code as needed to increase understandability,
reduce coupling and improve diagnostics; in particular, factor out
business logic from any particular framework to give the
development team greater flexibility in technology selection,
preserving the business investment while leveraging updated
technology.
- Produce proposals, prototypes and proof-of-concept exercises
around technologies targeted to update the legacy codebase
(RESTful and standard web services, JMX, JSF, etc.).
- Participate in team reviews of proposed architectural patterns
and infrastructure component designs supporting the
next-generation release.
- Publish extensive writeups to the team wiki outlining research
findings, techniques and technical tips.
|
|
Sun Microsystems, Broomfield,
CO |
|
(Software and hardware
products supporting enterprise-scale deployments)
|
| Software Engineer, Network Storage and
Solaris Software Divisions |
2002-2008 |
Database and web lead, data modeler and business
logic contributor for SAN management applications. Deliver common
components for web and database layers. Produce innovations supporting
project needs, resulting in three patents pending.
- Collaborate with HCI experts to guide UI designs; principal
developer for portlet and servlet implementations
- Coordinate across business units and address varied stakeholder
interests to implement Solaris Achievement Awards nomination tool; sole
developer for this website (classic J2EE: security, persistence,
transactions, notification, application logic and JSF front end)
- Provide high-level persistence layers to enable service-tier
developers
- Conduct design presentations for architectural review committees
- Deliver multiple projects in parallel
- Provide inventions to fill gaps until industry standards emerge (see
Patents Pending)
- Facilitate team momentum by providing facade over complex plumbing -
capture relevant aspects of data model, design/implement database
physical model, design/implement high-level API to hide the complexity
and provide value-added functionality - enabling teammates to
concentrate on product-level features instead of infrastructure
- Keep project schedule on track by absorbing departed teammate's
responsibilities for providing core service-tier functionality - quickly
learn SMI-S (Storage Management Initiative Specification), JMX (Java
Management Extensions) and SLP (Service Location Protocol), using these
technologies to develop module for automatic discovery of SAN elements,
in effect the foundation of the service tier
- Demonstrate proof-of-concept pluggable portlet framework to
facilitate dynamic service deployments, providing a basis for a
next-generation product with enhanced flexibility/modularity and reduced
footprint
|
University Center for
Atmospheric Research (UCAR), Boulder, CO |
|
(Non-profit corporation
formed to enhance the computing and observational capabilities of
universities, comprising 66 Member and 20 Academic Affiliate
institutions - administrative focus with some development
facilities) |
| Software Engineer - Digital Library
for Earth Systems Education |
1999-2002
|
Architect/developer
for digital library web application providing peer-reviewed Earth systems
educational resources. Responsible for use cases, requirements, UML and
data models, database implementation, middleware architecture and
implementation, and infrastructure components. Provided guidance to team
on new technologies (XML, JSP, etc.). Interviewed, selected technical
candidates for hire as team members. Mentored junior developers on team.
- Exceeded requirements in database performance (with maximum
acceptable response time of 2 seconds, delivered system came in at 1/2
second)
- Delivered system ahead of schedule, avoiding various slowdowns with
lightweight approaches, including:
- Avoided learning curve on XSL (at the time, an early
adopter technology) by quickly implementing a simple rules-based
declarative mechanism for XML-to-HTML transformation
- Facilitated clear role separation on team by introducing
JSP as the "interface" between web authors and database/service tier
- Enabled rapid prototyping with dynamic reconfiguration
mechanism, so that product look-and-feel could be modified without
recompilation or webserver restart
- Remedied exploding maintenance costs by advising a team
doing many-to-many transformations to instead leverage the mediator
design pattern
- Produced cost savings (approximately $200K) by accomplishing
delivery with a team of only 1.3 out of four originally allocated
developer FTEs
| Data Modeler / Software Engineer -
Finance and Administration/Data Warehouse Group
|
1997-1999
|
Design/implement middleware, logical data model
and web-tier aspects of decision support system for business information
needs.
- Increased productivity for both end-users and developers by
restructuring DBA's existing procedures to use mirroring and increase
availability uptime from 89% to 99%
- Streamlined existing "sneaker-net" deployments and improved overall
reliability by developed auto-sync mechanism to transparently push new
files to fat clients, keeping them up-to-date...including automatic
self-update of the syncing mechanism itself (reduced manual efforts from
3-5 hours per deployment to zero; with 4-5 deployments per month, this
saved 12-25 person-hours/month)
|
National Center for
Atmospheric Research (NCAR), Boulder, CO |
|
(Non-profit corporation
formed to enhance the computing and observational capabilities of
universities, comprising 66 Member and 20 Academic Affiliate
institutions - research and development focus)
|
| Software Engineer - Atmospheric
Technology Division |
1987-1997
|
Developed GUI-based software (at the time, new
technology) in support of real-time research flights, in particular a
multi-year effort providing 2-D graphics and video displays of atmospheric
conditions, both in real-time and as replay for post-flight analysis
(WINDS - Window Display System). In use for 15+ years, WINDS was widely
recognized as a de-facto standard; our team received a U.S. Dept. of
Commerce Multi-Organizational Excellence award for collaborative effort
adapting WINDS for the National Oceanic and Atmospheric Association
(NOAA).
- Provided an intuitive, quickly learnable front-end: new users were
productive with GUI within minutes, as needed in field project settings
with short, turbulent research flights and little preparation time (this
not only increased productivity but also reduced costs since fuel for
flights was very expensive)
- Collaborated with NOAA in design, procurement, and deployment of
WINDS in NOAA research aircraft, resulting in $1M increased revenues and
an enhanced partnership between UCAR and NOAA
|
DESIGN PHILOSOPHY
|
|
Principles
- Single point of change: lowered maintenance costs,
extensibility, testability
- Declarative vs. procedural: more powerful
abstractions, extensibility
- Interface vs. implementation: encapsulation,
polymorphism, reusability, testability
- Abstraction layers: put responsibilities where they
belong
- Small, quick development-release iterations:
including customer feedback cycles to facilitate course
corrections
- Process: iterative requirements/design/implementation
cycles - unit/system/acceptance tests - profile for
performance - regression tests
|
Outcomes
- Sustainable - extended product lifetimes
- Reusable - minimized redundant efforts
- Extensible - react quickly to evolving customer
requirements
- Performance - footprint and user experience: stay
competitive
- Debuggable - lowered field support costs
- Understandable codebase - accelerated learning curves
for new staff, lowered maintenance
costs
|
|
PROFESSIONAL
RECOGNITION
|
- Nomination, Outstanding Performance Award, WINDS, 1998
- U.S. Department of Commerce Multi-Organizational Excellence,
1998
- Distinguished Service Award, C-130 project, 1994
- Nomination, Technological Achievement Award, WINDS, 1991
- Incentive Award, WINDS, 1991
|
|
PUBLICATIONS
- Horton, G., 1994. Interactive graphical user interface
system for real-time and post-processing display and analysis of
aircraft measurements. Proceedings of AMS 10th International
Conference on Interactive Information and Processing Systems for
Meteorology, Oceanography, and Hydrology, Nashville, TN, Jan.
23-28 1994, pp. 11-16.
- Griffith, M., Horton, G., Pelk, J., 1991. Real-time window
oriented data acquisition and display system for aircraft
measurements. Proceedings of American Meteorological Society
(AMS) 7th International Conference on Interactive Information and
Processing Systems for Meteorology, Oceanography, and Hydrology,
New Orleans, LA, Jan. 14-18, 1991, pp. 471-4.
|
|
PATENTS
PENDING
A named inventor on three patents pending, through Sun
Microsystems program:
- Portlet-based MVC Framework: design and
implement a portlet-centric Model-View-Controller to facilitate
schedule while waiting for a JSF-based MVC to emerge
- Stylesheet Simulation for Portlets: design
and implement dynamic look-n-feel management on a per-portlet
basis, without relying on stylesheets at the page level (which
compromises the spirit of portlet environments)
- Dynamic Global Portal Environment
Administration: design and prototype a pluggable
mechanism allowing providers to hot-deploy new portlet content and
functionality
|
|