Shyela
Aberman
404-307-8067
(c) •
Software Architect
▪
Adept at
translating business needs into a technical strategy
▪
Strong skills and
experience in Java and related technologies
▪
Broad experience
in C#, PHP, and other technologies
▪
Vigorous believer
in agile, lightweight, and evolutionary development processes
▪
Published author
with O'Reilly and Associates.
Key Skills
|
|
Experience
Smilebox, Inc
Senior Developer —
July, 2005-Present
Helped build and launch this Internet-based
consumer service. Smilebox is a creative messaging
service that combines greeting-style personal expression and photo sharing. The
client application is implemented in Visual C++ and Adobe (formerly Macromedia)
Flash. It communicates via SOAP and simple HTTP with a Java service utilizing Spring and Hibernate over a PostgreSQL
database.
Worked with a highly
collaborative, highly skilled team using intensively agile processes, such as
pair programming, weekly release candidates, weekly and monthly planning at differentiated
levels of granularity (milestones and iterations), “just enough” coding and
design, weekly learning and rapid feedback rituals, diligent use of automated
testing, continuous integration builds, constant presence of customers and
customer proxies (program management), and process experimentation.
Agilysys,
Inc
Senior Developer —
June, 2004-July, 2005
Expanding
the integration capabilities of Agilysys’ document management solution. The product suite provides indexing, searching,
routing, notification, and related functionality. The suite was implemented with
Visual Basic, for the user interface, and Visual C++ Win32 DLLs, for the core
business and data access logic.
Added new programmer-friendly
component interfaces for Java and COM delegating to the core DLLs. The Java
wrapper used Java Native Interface (JNI) to access the DLLs and also provided a
Remote Method Invocation (RMI) interface for network use. The COM wrapper used Visual
Basic. Both wrappers required considerable additions to the core DLLs to
support thread-safe operation.
Rebuilt the
web-based client to use the COM wrapper. The legacy web client was a monolithic ASP design, and all business
and data access logic was implemented in ASP (VBScript) and did not use the
Win32 DLLs. The relevant ASP was replaced with calls to the COM wrapper. The
remaining ASP was refactored to separate the display logic and user input
processing logic into ASP files and VB components, respectively, as per the
Model View Controller Version 2 pattern. The codebase
was thoroughly reviewed and cleaned up. After phase 1 of the revision, the codebase was reduced from 107 files to 81, and from
19991 lines of code to 15548.
Managing
the planning for the Phase 2 revisions to the web client. I am working with product management to document functional
specifications that are technologically feasible. I have begun a technical
strategy document highlighting and analyzing the qualities and capabilities
that the web client will need to be enterprise-ready.
Created Agilysys’ first
source control branching process and am actively managing and evolving that
process. Serena’s Version Manager (formerly PVCS) is used for version control,
but the group did not use branching before I joined it. Business and technology
needs have made branching essential, and I spearheaded its definition,
implementation, and initial management. I have created a “just-good-enough” branching
process that emphasized simplicity and minimal day-to-day changes. This allows
the branching process to evolve as needed without extensive disruption.
Radiant
Systems, Inc.
Software Architect —
March, 2000-June, 2004
Entertainment
Systems
July,
2003- June,
2004
Designed
Radiant’s next generation movie theater solution. The solution integrated and updated existing
applications—ticketing point of sale, food service point-of-sale, and multi-site
enterprise management—and added a new site management application.
Part of the
team responsible for cross-application functionality and overall system
dataflow. Focused on transmitting
point-of-sale data to site-level and enterprise (above site) back office
applications. This uses a combination of raw TCP sockets and message queuing
(Microsoft MSMQ) to communicate the data. C# components were developed to
translate data from fixed-length format to XML format. XSLT templates were used
to transform the XML for application-specific processing. Additional C#
components did this processing and inserted the data into a Microsoft SQL
Server database. Unit tests were created for all components.
Lodging Systems
(Hoteltools)
March, 2000-July, 2003
Designed and built a
centrally-hosted hotel/motel Property Management System which offered
front-desk, back-office, and advanced multi-site enterprise reporting and
configuration.
Primary
architect for enterprise security/structure model, configuration registry,
in-memory application data caching module, and 2nd-generation
read-only data access framework. Significant
contributor to reporting module, inventory (room night) management, and
guest/contact management. The n-tier system was J2EE-based, making use of EJB,
JMS, and JSP/servlet technologies. Session EJBs encapsulated the core
transactional logic, while entity EJBs handled create/update/delete operations and
JDBC handled read-only queries. JMS was used to communicate with the
hotel/motel sites. Business logic was invoked by JSPs,
which were in turn called by the DHTML/JavaScript front-end. All data was formatted
in XML. Reports were formatted by XSLT templates into PDF documents. Unit tests
were created for core components.
The system was built for BEA Weblogic 5.1.0 and was ported to the JBoss
3.2 application server. Ran on Sun Solaris 7, Redhat Linux 7.3, and Windows. The database server
was Oracle 8i, running on Sun Solaris 7.
Helped
create a highly adaptable software development process based on Extreme
Programming. The process featured iterations
of two to four weeks, daily or more frequent builds into an integration
environment, and frequent branching and merging to support simultaneous
development. The build system used Ant, CVS, and other open source tools and performed
scheduled and as-requested builds.
USWeb/CKS
Software Architect —
January, 1998-March, 2000
Implemented development
projects for a variety of clients. Project types included sales automation
systems, ecommerce systems, and informational web sites. Responsible
for technical side of requirements, risk management, and communication.
Development was performed
with either ASP with Visual Basic COM components (75%) or Java Servlets (25%).
Projects requiring a database server used Microsoft SQL Server.
Virtual Resources, Inc.
Website/Database Programmer —
January, 1997-December, 1997
Implemented development
projects for a variety of clients. Project types included ecommerce systems and
informational web sites.
Development was performed
with C/C++ CGI executables (85%) or Java Servlets (15%). Projects requiring a
database server used Oracle 7.x or MiniSQL.
Cadmus Interactive, Inc.
Website/Intranet
Developer — August, 1995-January, 1997
Implemented development
projects for a variety of clients. Project types included ecommerce systems and
informational web sites.
Development was performed with
C/C++ CGI executables. Projects requiring database functionality used Oracle
7.x, MiniSQL, or dBase files.
Authorship and Presentation
▪
Co-wrote “EJB
Design in the Real World” chapter to Enterprise
JavaBeans, 4th Edition (Est. April, 2004). O’Reilly.
▪
Security
Presentation (General and network security),
Education
Completing
a Bachelor of Science in Computer Science.
▪
▪
Southern
▪
▪