Andrew B. Sudell http://www.drewsudell.org/contact-info.html Summary Experienced architect and development lead with a strong background in Java/J2EE, Unix/C/C++, and scripting languages including Python, Perl, and TCL. Has built systems on a wide range of platforms including J2EE servers, various Unix platforms, and utilizing RDBMSs such as Oracle, MySQL, PostgreSQL, etc. Experienced with a range of distributed and networked interfaces including Sockets, TLI, CORBA, RMI, EJB, SOAP, and XML-RPC as well as MOMs such as Talarian SmartSockets, IBM MQSeries, ActiveMQ, and RabbitMQ. Has a strong track record of taking leadership roles over the full product life cycle, from requirements gathering and design, including OOA/OOD using UML, thorough construction and deployment. Has a proven history of working with Senior Management, Operations, and Business users to define requirements and set product direction. Areas of interest include Agile methodologies, software security, system performance tuning, distributed systems, software extensibility, internationalization, and cryptography. Employment Invite Media, Senior Software Engineer, 2008-present Building an online advertising optimization engine. * Responsible for design and implementation of cluster monitoring and management system. * Responsible for integration, deployment, and scaling of a system involving diverse technologies including Java, Python, Hadoop, RabbitMQ, and memcached and deploying to Amazon EC2. * Responsible for building and extensible data layer for analytics database using SQLAlchemy and PostgreSQL. GSI Commerce, Principal Software Engineer and Architect, 2002-2008 Maintained and enhanced e-commerce platform used by a provider of outsourced online stores for major retail firms, such as Toys''R''Us, Radio Shack, and Linens-n-Things. * Responsible for architectural governance, design, and leadership for a wide range of projects with emphasis on those involving the shopping cart, third party integrations, internal inter-system integrations, security, scalability, and internal tools suites. * Provided architectural guidance and leadership to development teams including design reviews, code reviews, and coordinating their efforts with operations and the business at large. In addition lead and/or assisted with the development on a significant subset of the same projects. * Provided technical assistance and guidance to the business, including technical direction, project cost estimation, and evaluation of third party technologies. * Worked with launch teams and partners to help define solutions for new partners unique needs, while folding them into a unified underlying platform. * Lead several performance and scaling related projects including distributed caching, memory reduction, and Q4 performance profiling. * Lead, designed, and/or implemented a range of third party payment schemes including Google Checkout, various Gift Cards, ACH, PayPal, Bill Me Later, and other similar systems. * Primary application developer responsible for security, including PCI compliance for a level 1 service provider. This effort included integration with FIPS-140 hardware security devices. * Responsible for evaluating and leading the implementation of new technology initiatives, including new platforms, application servers, and application frameworks. * Responsible for a number of internationalization project from data encoding schemes to selecting European payment providers. Trintech, Senior Software Developer, 2000-2002 Worked on a variety of banking and e-commerce applications, primarily eIssuer, an electronic wallet. * Implemented extensions to eIssuer to support payment via Secure Electronic Transaction (SET), a public key infrastructure (PKI) for credit card transactions. * Responsible for overall technical direction of the eIssuer product. Researched new features and technologies. Worked closely with Product Marketing and Management in establishing product direction and providing technical expertise. Prototyped enhancements using a range of technologies including Servlets, JSP, EJB, RMI, and XML. Led the design and participated in the implementation as new technologies were incorporated into the product line. * Responsible for web tier architecture. Designed and implemented a Model-2 framework using custom Tag Libraries to enforce a separation of concerns between the Servlet and JSP components and support presentation in a variety of markup languages including HTML, WML, and XML based messaging. * Responsible for portability across a range of J2EE platforms including Tomcat, JRun, Websphere, Weblogic, and iPlanet. * Responsible for security aspects of eIssuer, including design and implementation of schemes for encryption of persistent data and key management. * Responsible for Internationalization (I18N) issues for products running in a wide array of locales, including those using non-western multi-byte encodings. HealthAxis, Senior Developer, 1999-2000 Extended and enhanced e-commerce site, since sold to Digital Insurance, selling a range of third party insurance products. * Participated in rearchitecting the site from a proprietary solution to a web application based on Servlets and JSPs. * Designed and implemented a data driven form processing package used for validating, persisting, and transforming data on on complex forms, such as insurance applications. Platinum Technology (now Computer Associates), Senior Product Developer, 1995-1999 Worked on the Enterprise Performance Management (EPM) product suite, as a member of the kernel team. EPM is a performance monitoring application that gathers data from servers (Unix and NT), networks, applications, and RDBMS engines in order to graph trends, detect anomalies, and perform notifications and corrective actions. Also worked closely with the POEMS project, a systems management framework within which EPM integrated with other Platinum products. * Ported EPM architecture to new platforms, addressing platform specific defects. Eventually supported upwards of two dozen Unix platforms, including SunOS, Solaris, AIX, and HP-UX, as well as Windows NT. * Extended the EPM core architecture, including reengineering to allow the ad hoc loading of data collection routines, thus providing for easier addition of new monitors better modularity and independent testing of components. * Supported and maintained EPM source base, serving as primary resource for issues involving portability, linking, builds, shared libraries, interprocess communication, networking, and performance tuning. * Designed, documented, implemented, and maintained interfaces between the EPM kernel and groups (both internal and external) developing data collectors for various objects, as well as POEMS based integrations with other products. * Built and maintained a reusable library of shared components which originated in EPM and were used by other products as part of the POEMS architecture to provide system independent abstractions of common OS services. * Designed and implemented, in Perl, a distributed autobuild system that built and tested EPM across all supported platforms daily and reported any failures to preserve portability and to support continuous integration among several distributed development teams. Feith Systems and Software, Senior Software Engineer, 1989-1995 Major projects were Feith Document Database (FDD) and Netware for Unix. FDD is a document imaging system build around MS-Windows clients and Unix Servers, using commercial RDBMSs and a locally written Optical Disk Library Manager (EasyJuke). Netware for Unix is a source code product from Novell, which Feith OEMed on the AT&T and NCR platforms. * Trouble shot and tuned for performance the FDD client's SQL interaction with database servers. This included redesign of statements, indexes, and table layouts to make better use of the various database engines' optimizers, and analysis of database engine traces and statistics. * Wrote a series of test and support utilities for the EasyJuke Server in TCL/TK that used TCL extensions written in C to wrap the EasyJuke client API. * Served as the control point between Engineering and Support for the release of binaries, documentation of install procedures, and analysis of customer problems. * Wrote platform specific code for Netware for Unix and fixed deviations found by a Novell provided series of application, API, and network level certification test suites. * Wrote custom applications as part of systems integration efforts around FDD in C, ESQL/C, Informix-4GL, and Informix-SQL. Step-Saver Data Systems, Support Analyst 1987-1989 Step-Saver provided Office Automation and Billing systems to the Medical and Legal professions. Primary responsibilities included supporting and enhancing Unix based Medical systems derived from a 3rd party OEMed source base. * Maintained an extensive and rapidly changing body of code for paper and electronic insurance claim submittal to Medicare, Blue Shield and Medicaid in 7 states. * Integrated and certified various third party hardware and software products. Education Villanova University Master of Science in Computer Science. Independent study project Design and Implementation of a Tuple-Space Server for Java. University of Pennsylvania Bachelor of Arts in Astronomy and Astrophysics. Professional Member Usenix, ACM, and the IEEE Computer Society.