VP of Data Engineering
Adconion; Santa Monica, CA; October 2011 - Present
I work with the business and product teams to develop strategic plans, technical policies, and engineering practices to achieve our goals reliably, repeatably, and predictably. I work with project managers and engineers to develop plans, designs, and requirements.
My team develops and operate systems for the large scale, near time processing of massive data. We ingest data from a wide range of internal and external sources, normalize the data for warehousing and provide reporting, analytics, and insights.
We work with 200+ core Hadoop cluster for raw processing, maintain multiple PostgreSQL based warehouses for reporting and directly support analytics via MicroStrategy and support a Tableaux reporting team.
I coordinate teams and work across geographically separate office to support Adconion's global business footprint. We have offices in 27 countries using these reports 24x7x365.
We ensure strict QoS and SLAs with our customer teams, provide training and customer support, and handle product development.
Director of Technology: Disney Online Architecture and Central Engineering
The Walt Disney Company; North Hollywood, CA; October 2010 - October 2011
I report to the VP of Technology for Disney Online where I am responsible for architecture, shared services, technology standards, and technical strategy for Disney Online
My primary responsibility is leading the team developing the next generation of Disney Content Management Systems and development tools.
I work with different technical teams across Disney to represent Disney Online's technical strategy, participate in designs, and to help manage co-owned programs.
My team works with other Disney Online divisions to lead architecture and code reviews, and reconcile various disparate and legacy technologies. I am charged with developing technology roadmaps and creating strategies to address our cost/risk/opportunity portfolio for our division.
Director of Technology: Disney Online Mom and Family Portfolio
The Walt Disney Company; North Hollywood, CA; April 2009 - October 2010
I was charged with development and maintenance for the Disney Online Family portfolio, which includes approximately 30 minor content products, 1 e-commerce site, and four keystone properties:
I managed a staff of 20 developers, two development managers, and three project managers.
I introduced program management to control workflows, change management, and delivery of work. These changes increased department wide work throughput by 52% (as tracked by deliverables) over a 3 month period with no increase to staff. I built the project management team and led the adoption of iterative product development and portfolio management. We led scrum and agile management for technology and the rest of Mom and Family Products. We adopted tracking and reporting tools (Version One). My staff led training for the whole department and corporate-wide evangelism for agile/iterative processes and tools.
I instituted modern development and automated practices, using many open source and off the shelf tools:
- continuous integration
- unit and integration testing
- code coverage testing
- peer and team code reviews
- modern source code management
- change and configuration management
- deployments and rollbacks
I oversaw the acquisition of multi-million dollar technical purchases and the migration of assets into the Disney hosting facilities. I managed all Family's third party hosted infrastructure. I coordinated with Disney Technology Shared Services (TSS) to develop deployment practices and standards for TSS hosted applications.
As the Project and Portfolio Director, I lead business and technical prioritization for the department. I managed cross-functional workflows, capacity plans, and budgets. We ran processes which allowed for an adjustable blend of maintenance, strategic work, and rush opportunities.
In this role, I launched 3 major new products:
- User Generated Content Contest Framework, which was used for the 2009 Gap Kids Casting Call
- Family Trip Planner, an interactive GWT web planner for family trips and budgets
- Family Single Sign On, an OAuth based authentication system for the wider DOL Family Portfolio
CTO (Userplane)/Director of Software (AOL):
AOL/Userplane; Santa Monica, CA; November 2008 - April 2009
I reported to the GM of Userplane where I was responsible for the development and operations of Userplane's services and its technical staff.
I took over management of existing Userplane technology and staff which provide web applications and widgets to 300,000+ publisher sites and corporate customers. We deliver "instant" community web based applications and allow for customer control via our web services APIs.
I oversaw the operations and development of the enterprise ColdFusion and Flash farms to support:
- Real time Audio/Video chat
- Instant Message and Presence system
- Video recording and transcoding
- Authentication and API integration
I managed a staff of 13 software engineers, database administrators and network/sysadmins.
I worked with project and product management to bring the organization into compliance with AOL's SDLC practices and to create systems for tracking various aspects of engineering, operations and product development.
I created new systems to increase uptime and lower impact of maintenance to our customers. (Core application servers have gone from being restarted once every 2-3 days to a monthly scheduled maintenance that does not require a full outage).
I reduced cost by introducing open source solutions for presence, video and chat; and refactoring our current data center and network deployment.
Chief Architect (Personal Media)/Director of Software (AOL):
AOL/Xdrive Inc.; Santa Monica, CA; July 2005 - November 2008
I reported to the VP of Digital services, where I was responsible for Xdrive, AOL Pictures and BlueString.
In the first 5 months, I completed the following:
- Migrated service form our data center to an AOL center.
- Led a technology refresh that ported the service to new hardware, OS and software versions.
- Upgraded from 8i on Solaris to a 10g RAC on Linux.
- Integrated with the AOL billing and account provisioning system.
As my group transitioned into AOL corporate, I:
- Led the development and launch of the new media product BlueString.
- Created APIs and a developer community product, OpenXdrive.
- Built a platform technologies team that developed core technologies common to the Personal Media storage and media products.
- Worked with AOL finance to create SDLC processes that feed into capitalization practices that aided in financing development efforts (More than 50% of budget for some projects).
- Managed overseas and 3rd party development groups.
- Worked on patents: 7,337,207, 7,171,472 and several on going applications.
- Evangelized AOL technology at EclipseCon, MashupCamp, Techcrunch 40 and Twiistup.
Chief Technology Officer/Co-Founder:
Xdrive Inc.; Santa Monica, CA; July 2003 - July 2005
I created/managed a service that supported 310,000 active accounts that drove 3,500 simultaneous requests, 180Mbs of traffic and 1 million database transactions per hour.
I reported directly to the CEO to help create Xdrive's corporate strategy and product vision.
As the CTO I:
- Was one of three executives that handled the sale of Xdrive to AOL.
- Handled all of Xdrive's technical due diligence.
- Represented Xdrive to various brokers and companies.
- Controlled Xdrive's technical and product strategy.
As head of technical operations, I:
- Worked directly with the CFO to manage a multi-million dollar budget for hardware, services, staff and facilities.
- Worked with vendors to define requirements and negotiate contracts and services.
- Managed requirements, projects and deliverables for internal development staff, outsourced teams and marketing.
- Handled hiring and managing technical staff. Grew staff from 5 engineers with 15 years of experience to 18 with 160+ years of experience. Created separate development, operational, project management and QA staffs.
- Implemented processes and automated tracking for project specifications, project status, defects, system changes and developer metrics.
- Started a system for tracking system health by monitoring "vital" system metrics and code profiling each release.
As the technical lead I:
- Upgraded from Weblogic5.1 to JBoss 4.0.2
- Unified Xdrive's various code bases into a singular, modular code base.
- Refactored legacy code and tuned servers for faster, more stable operation. (Reduced "Application Down" errors served to users daily 1727%. Reduced login time from 22sec to 2sec.)
- Migrated users from legacy systems to a newer system and database schema.
As the product development lead I:
- Worked directly with marketing and analysts to create specifications for new products and improvements.
- Translated Business/Functional Requirements into Technical Requirements and insured "buy in."
- Launched over 20 new services including: music streaming, faxing, photo galleries and upload accelerator, which led to 823% increase in utilization (Average account size went from 70MB to 576MB, new files added daily increased from 80,000 to 4.2M+.)
- Created new user channels: pre-paid users (sold as kits on CompUSA), free space users and various promotion and referral channels.
- Managed the successful roll out of five package suites. Defined the business rules and migrated existing accounts.
- Launched the Xdrive support forums.
As the inventor of Xdrive's Intellectual Property, I:
- Spearheaded the successful settlement of a patent suite.
- Created an additional 5 patent filings.
Senior Software Architect, NovaWorld Project Lead:
Novalogic; Calabasas, CA; January 2001 - February 2003
I was responsible for NovaLogic's long-running Massive Multiplayer environment, NovaWorld. I was charged with developing new technologies, making old systems scale and increase their QoS, handling operations, QA and project management.
I created/managed the second generation NovaWorld system which supported 13+ million active users and 1+ million game joins a day with high availability (99.9+%) on a small budget (<$20K of hardware and in-office hosting)
As the Technical Lead I:
- Used cutting edge technologies (Apache, JBoss, JoNaS, MySQL, HyperSonic SQL, Linux, BSD, LVS, JUnit, JMeter, ANT) and industry leading software (Solaris, SQL Server 2000) to implement a scalable solution that handled 1.3 million game joins per day on commodity hardware costing approximately $12,000 ($8,000 under budget).
- Redesigned Massive Multiplayer Persistent (MMP) environment using J2EE clustering and management software that dramatically improved the stability and uptime of NovaWorld. The average time between server reboots went from 2.1 to 65.8 days. In the last year, unscheduled downtime was less than 6 hours. All components had complete load balancing, fail over and redundancy.
- Led the technical aspects of the project including: capturing requirements, analyzing and selecting technologies, architecting solutions, developing code, facilitating QA and planning launches and maintenance.
- Redesigned NovaLogic's non-normalized data models. Worked with SQLServer DBA to implement data logic using triggers and procedures. Designed data paths and transformations for data warehouse.
- Converted proprietary legacy software to industry standards including XML, SQL, J2EE, DNS, TCP/IP and HTML; allowing NovaLogic to retire expensive, broken, non-maintainable homegrown software in lieu of off the shelf solutions.
As the Product Manager I:
- Created and maintained project plans (MS Project), enforced change control (CVS), gathered metrics and data (JUnit and JMeter) and tracked and communicated project status. Used UML and modeling tools (Rational Enterprise, Argo, Visio) to create and verify test cases, component views, requirements and project dependencies. Created automated project tracking (documentation, bug tracking, development status, etc.) processes and tools.
- Managed all QA operations. Created test plans. Trained testing staff. Implemented NovaLogic's first load testing lab. Created automated build/test process.
As the Operations Lead I:
- Designed and built the development, QA and production networks and systems.
- Automated monitoring and metrics gathers.
- Enjoyed only 6 hours of downtime in my last year, due to an unexpected power outage.
Software Architect, Consultant
Managed Ventures; Irvine, CA; January 2001 - February 2001
We worked with biomedical companies to implement solutions for tracking, managing and synthesizing large amounts of medical and research data.
I was responsible for providing clients with software design and application server expertise. I would work with stake holders to identify requirements and design high level architecture. I would prepare documentation ranging from code samples and UML to full technical specifications.
I would work with the designers and operational staffs to select technologies and launch projects.
(promoted from Chief Application Architect in April, 2000; promoted from Director of MIS in December, 1999)
Xdrive Technologies LLC; Santa Monica, CA; July 1999 - January 2001
I was responsible for running Xdrive's engineering and operations departments. As one of the founding members, I was responsible for establishing a technology, staff and a service and then scaling it through all the phases from start up to multi-million dollar company with hundreds of employees.
I invented and managed the Xdrive service to support 9.7+ million users; all with rapid growth in user base, utilization and complexity.
As the Chief Architect, I:
- Designed the Xdrive system which handled over 7.2 million transactions, 100GB of file transfers, 30,000 new user registrations per day; more than 120,000 logins per hour; and 12TB of storage.
- Invented and maintained Xdrive's technology using Sun Solaris servers, BEA WebLogic, Oracle, Apache, MySQL and implemented our technology using J2EE, Perl, C++, XML, HTML, WebDAV and WAP.
- Served as architectural lead for business strategy team to develop and refine business initiatives, market strategies and product goals.
- Technical lead in all four rounds of financing, securing 100+ million dollars.
- Created Xdrive's patent and intellectual property and worked with external legal team to create the patent application (patent 6,351,776, Shared internet storage resource, user interface system and method).
As the Engineering Lead, I:
- Responsible for the rapid growth and leadership of an expert technical team (grew from 3 engineers to approximately 40 in one year: 19 Software Engineers, 3 DBA's, 5 Project Mangers, 5 SysAdmins and 7 QA Engineers).
- Created and implemented Xdrive's design, QA, publish and launch processes, which allowed Xdrive to carry out daily publishes of the web site.
- Adapted established team building methods and principles from Extreme Programming (XP), Quality Functional Deployment (QFD) and other industry best practices to build the engineering department structure, which produced clear channels of communication, fostered teamwork, promoted rapid growth and scalability, leveraged the talents and experiences of a varied group of people and maintained a high degree of motivation, team awareness and personal growth.
- Implemented departmental practices to maintain change control, create accurate project tracking, set expectations and produce documentation.
As the Operations Lead, I:
- Responsible for vendor management and selecting vendor and technology choices.
- Managed 24 hour NOC staff that coordinated with local Sysadmins and Data Center managed resources that guaranteed 5 nines of availability of the service.
- Ran a staff of 5 project managers which handled our 24 publish and change process.
MIS Application Developer
Epoch Internet; Irvine, CA; June 1998 - July 1999
I led for projects to:
- create a system that aggregates and assigns IP addresses to Epoch's customers in order to best utilize Epoch's routers and network topology.
- migrate network tracking systems from heterogeneous legacy databases to a standardized Oracle back end.
- created trouble ticket and equipment tracking systems.
- standardized various databases to common Oracle system.
Served on Epoch's Software Design Life Cycle and UI committees.
Created Epoch's plan for executing the Software Engineering Institute's Capability Maturity Model (CMM) framework.
Designed and implemented Epoch's security model and code libraries.
Responsible for designing and building web based MIS applications using C/C++, Perl and Java.
Handled database design and integration, using SQL Server, Oracle, DBI, ProC, PL/SQL and JDBC.
- Well versed in several software design methodologies: Domain Analysis, Reference Method Open Distributed Processing (RM-ODP), Unified Process (UP/Rational Rose) and UML, Architecture Tradeoff Analysis Method (ATAM).
- Experienced with Internet based N-tier architectures, distributed computing models and established patterns in the field.
- Knowledgeable in the Carnegie Mellon Software Engineering Institute's (CMSEI) recommended management and engineering practices.
- Familiar with Objective-C, ColdFusion, OS X, Windows and T-SQL.
- Worked with and implemented various Web Services: SOAP, JSON, XML-RPC.
- Experienced with a wide range of industry leading software including UNIX (Sun Solaris, Linux, BSD), Windows, J2EE Servers (JBoss, BEA WebLogic, JoNaS), Web and Servlet Containers (Apache, Tomcat, Light HTTPD), CFML Application Servers (Adobe ColdFussion, Railo), and RDBMS (Oracle, SQL Server, MySQL, HSQLDB, InstantDB).
- Knowledgeable of CASE tools: source control systems (CVS, SVN), IDEs (NetBeans, Eclipse, XCode, FlexBuilder) and architecture tools (Rational Rose, Argo, Visio, Erwin, InterfaceBuilder).
- Automated building, testing and deployment systems using ANT, JUnit, CruiseControl, JMeter, Mercury LoadRunner and Mercury WinRunner.
- Have solid background and 10+ years of experience in distributed state and transactional systems.
- Worked with common distributed technologies: J2EE, JSON, SOAP, XML-RCP and CORBA.
- Designed and implemented various clustering and distributed technologies using existing clustering technologies (JGroups, T-Spaces), or through standard communication channels (JMS, HTTP, SNMP), or over the wire when existing systems could not be utilized (TCP/UDP).
- Expert in JMX management of distributed systems.
- Led small to large technical teams (4-60) using established practices including Extreme Programming (XP), Scrum and Feature Driven Development (FDD).
- Managed development with Object Oriented and Architecture driven processes. Used self-documenting code, case tools and development repositories to create automated channels of communication among team members.
- Implemented and automated processes and reporting schemes to create efficient departments that were able to meet goals repeatedly and with predictability.
- Well versed in SDLC best practices as proscribed by Project Management Institutes (PMI) and the Carnegie Mellon Software Engineering Institute's (CMSEI): project management, schedule estimation, risk analysis, work breakdowns, cost benefit analysis, defect and change tracking, concurrent development and requirement management.
- Experienced in budget forecasting, resource and capacity planning, contract management and negotiations.
- Dealt with data centers, off-shore development consultants, vendors, contractors and customers.
- Familiar with legal and Intellectual Property concerns.
7,496,578 Shared Internet Storage Resource, User Interface System, and Method (Group 4). February 4, 2009.
- 7,337,207, Shared Internet Storage Resource, User Interface System, and Method (Group 3). February 26, 2008.
- 7,171,472, Shared Internet Storage Resource, User Interface System, and Method (Group 2). January 30, 2007
- 6,985,927 Shared Internet Storage Resource, User Interface System, and Method (Group 1). January 10, 2006
- 6,351,776 Shared Internet Storage Resource, User Interface System, and Method. February 26, 2002
- 11/601,234, Network personal digital video recorder system (NPDVR). Nov 17, 2006.
- 2 additional applications in process
Open Source Projects:
- JMX for Open Distributed Processing (JMX4ODP): open source project to create "out of the box" JMX complient management for enterprise systems.
- The Java Photo Album Wizard (JPAW): open source photo album creation/authoring tool using Sun Image Toolkit.
- iTunes Album Art Extractor (IAAE): Easy program that can 1) extract all your album art from iTunes and 2) create web displays of your music library.
- The JBoss Application Server is one of the fastest growing J2EE solutions with over 6 million downloads. I added network socket timeout management for JNP RMI services.
- Apache Tomcat is the defacto open source servlet/JSP container. I contributed load balancing code to the mod_jk connector that allows it work with the Apache web server.
- ObjectWeb is an open-source software community created at the end of 1999 by Bull, France Telecom R&D and INRIA. I contributed JMX automation to the Fractal project.
- Eclipe Spaces, Users can develop, publish, and consume commercial and third-party Eclipse plugins, creating an open online community of plugin providers. I worked on the storage and storage protocol team.
- Java Developer's Journal is the most distributed i-Technology magazine in the world. Managing J2EE Systems with JMX and JUnit: Manage new systems as they are developed November 3, 2003. Ranked by readership as "HOT STORY."
- Eclipse is an open source community whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle. (Member since 2006)
- Association for Computing Machinery is a major force in advancing the skills of information technology professionals and students worldwide. (Member since 2001)
- Java Community Process holds the responsibility for the development of Java technology. (Member since 2001)
B.S., Chemistry with emphasis in Nuclear/Theoretical Chemistry