- Hands - on management skills, including documentation, process, architectural, and motivational leadership.
- Familiar with high availability, high throughput environments
- Expert software development in Java, Perl, C/C++, C#, or any modern language.
- Experience in end-to-end design, deployment, and maintenance of production environments with high availability and reliability. Experienced in waterfall and agile methodologies.
- Able and excited to learn new technologies quickly and independently.
- Willingness to take on non-traditional tasks; goal-orientation.
- Superb attitude; motivated by quality, productivity, and value.
Operating Systems: Linux, Windows, Solaris
Platforms: Tomcat, Kafka, Storm
Databases: Oracle, Postgres, MySQL
Applications: Apache, Cricket, Docato Composer, INN, log4j, Nagios, Zabbix, DataDog, memcached, AMQ
Confidential, Bellevue, WA
- Planned and oversaw "insourcing" of Portal application away from overseas contractors to the Bellevue office. Brought team size down 60% while reducing hotfixes by 80%
- Architect for Portal application
- Planning and oversight for similar insourcing of Reconciliation application
- Planned and oversaw first stages of transition of RMP from ad server to SSP
- Managed integration of Header Bidder and ValueAmp products into portfolio applications
- Planned and oversaw integration of Kafka/Storm infrastructure for live processing of statistics
- Led documentation standardization project across the company
- Rationalized and refactored development process along more agile lines for all portfolio teams
- Pushed effort to fully automate testing across portfolio applications
- Ran day-to-day development efforts - sprint planning, code and architecture reviews, resource planning - for the teams
- Resource allocation and planning against company roadmap
- Oversaw employee development, continuing education, and yearly reviews
Server Development Manager / Systems Architect
- Recruiting and training team, seeing to employees’ short-term needs and professional development, both long-term and contract employees
- Managing yearly goals and performance reviews for employees
- Resolving escalations, and personal and technology conflicts
- Interfacing with Client and PM teams for planning
- Keeping team to schedule
- Setting priorities
- Managing transition of team from TGT to Nuance
- Managing transition from waterfall to agile methodologies
- Other responsibilities
- Principal architect of DDCS system; responsible for design of overall system and individual deployable components
- Design of next-generation pluggable content service technology
- Presented DDCS technologies to various groups in- and outside the company, including pre-sales to potential clients. Trained new employees on our technologies
- Led RCA investigations and writeups
- Implemented a number of the earlier components (Java REST-like services on Tomcat), including Over the Air Update and Restaurant Search
- Made various fixes and enhancements to the controller layer in the Java backend.
- Implemented XSL templates to componentize generation of pop-up menus.
- Implemented service as a SOAP web service in Java (using Axis 1.3) running in Tomcat and Sun Java Server environments. Wrote WSDL and generated client and server from there.
- Designed Oracle database schema for data storage, and access layer through Hibernate.
- Implemented multithreaded approach to allow querying of several remote services (web applications, LDAP databases, RDBMS) at once without blocking.
- Developed and executed large (~300 distinct tests) JUnit test suite to automate regression testing
- Wrote extensive design and usage documentation using Macroscope methodology.
- Generated keystores for distribution to clients, to enable HTTPS access.
- Extended native login system by aspecting chosen Java classes via AspectJ to interface with Boeing user authentication system.
- Integrated Composer checkin/checkout with Boeing security requirements via aspecting chosen classes.
- Wrote XSL-FO templates for transforming XML data into PDF documents.
- Wrote various XQuery-based ad-hoc reports.
- Implemented various shell, ANT, and Python scripts to facilitate importing data into the system, and checking its validity against data currently in Oracle.
- Wrote schedules and installation checklists
- Ran testing effort - wrote test plans, held status meetings, and analyzed and triaged problems.
- Worked with other teams to reconcile requirements and interfaces.
- Wrote documentation and gave training on new system to document-authoring team.
- Worked on extensions to the automated test driver system, which was a harness for passing commands to arbitrary hosts, capturing output and return codes, and returning them to the test driver for analysis against expected results. The extensions comprised a number of Perl modules which were called by both test client and test server.
- Designed and implemented a test results logging system to track the results of automated tests and associated data (e.g. Iozone data), and display them as web pages via CGI. The system was comprised of separately deployable collection and analysis/report modules in Perl, and was based on a MySQL backend.
- Automated via test driver system various existing functionality and regression tests for new releases of the Isilon File System, and created new tests. Tests were primarily scripts written in Perl and Python, and replaced checklists of manual steps. This effort saved thousands of
Software Development Engineer
- Created various stages in a processing workflow engine to analyze scanned and OCRed documents. Processing stages were written in Perl and C++, processing image and XML data.
- Detection of headers and footers in scanned text through a combination of rule-based (rotating window of Levenshtein distances) and statistical (projection profile of image) methods.
- Parsing of table-of-contents, and location of contents link targets.
- Detection and classification of page numbers (roman and decimal).
- Classification of hyphenated words into joinable and non-joinable words.
- Detection of mathematics.
- Detection of dropcaps, and automated repair of badly scanned words.
- Detection, analysis, and repair of scanning artifacts.
- Analysis of OCRed documents to find reading flow.
- Detection of indentation classes (normal text, block-quotes) via K-means clustering.
- Designed and implemented distributed, scalable logging system for Digital Media’s workflow pipeline. The system was comprised of separately deployable client, collection, and analysis/report modules, and was based on a MySQL backend and Perl/DBI interface.
- Designed and implemented scripts and procedures for the physical and electronic shipment of data between Amazon and partner companies.
Confidential, San Francisco, CA
- Oracle and MS SQL Server DB schemas and table creation scripts
- Java and C# data access API with error logging
- TSQL and PL/SQL stored procedures
Senior Software Engineer
- Implemented individual harvests in XSL and Java.
- Project manager for project; responsible for documentation, schedule, delivery of product, and allocation of tasks.
- Worked with content partners to define data feeds, and defined feed-to-database mappings.
- Responsible for maintenance of clearing-house server for incoming feeds: scripting for FTP/SCP and wget pull; cron jobs to coordinate downloads.
- Responsible for training technical support personnel to troubleshoot content-related problems and reduce escalations.
- Wrote data-retrieval SQL and JSP to produce XML for further processing.
- Technical lead for broadcast section of several portal projects.
- Designed and implemented Resin/Struts-based data layer to retrieve data from DB, and transform via XSL and custom filters to client-appropriate format.
- Designed and implemented localization scheme to allow cable market-specific and seasonal customizations of portal, and to allow non-technical administrators to add new markets.
- Responsible for spin rate calculation and other set-top box and wire-broadcast parameters.
- Responsible for integration of broadcast applications with other groups’ software.
- Built out and maintained 24/7-available production environment for Confidential applications.
- Wrote requirements document defining criteria to have a product moved into production environment.
- With another engineer, designed and implemented the monitoring plan for the production environment. This included: data gathering via SNMP, Perl scripts, syslog forwarding and one-off applications to collect monitoring data from remotely deployed systems; customization of Cricket and Nagios software to accept disparate input formats; and email and pager notification.
- Produced training media and trained NOC personnel to help them diagnose problems.
- Responsible for installation and maintenance of standard applications (INN, ProFTP server, Apache, and Crystal Enterprise) in production environment.
- Served as backup Oracle DBA while principal was on vacation.
Senior Software Engineer
- Implemented data entry UI as ncurses C++ program running on email terminal.
- Implemented screen templates, field-traversal, and field validation.
- Responsible for design and implementation of data transfer method between SBCIS and Cidco.
- Designed and wrote batch application to automate registration of customers from information in data feed; this included data validation and writing to Oracle database.
- Componentized registration functionality to support a web version of the registration tool.
- Responsible for a gateway application, written in C, to synchronize other programs’ use of NIS+ (for sendmail) and LDAP (for SIMS), to facilitate cutover to SIMS.
- Responsible for data equivalence between installed NIS+ and LDAP databases; developed scripts and procedures for initial migration of existing customer data to LDAP and ongoing data validation, and for synchronization of this data with an Oracle DB.
- Modified wu-ftp daemon to allow rich directory-listing after turning on chroot security.
Confidential, San Francisco, CA
Lead Software Engineer
- Designed and implemented multi-threaded queuing engine based on Oracle database, to allow background processing of multiple long-running tasks on console or remote PC.
- Designed and implemented drop-in "Knowledge Module" architecture for integration with third party web development environments.
- Designed and implemented Link Manager engine which parses D/HTML files to maintain and validate referential integrity of inter- and intra-document links as files and directories are edited in CONTROL UI.
- Designed and implemented installer for product; production engineer for project.
- Team lead for AdHawk effort; responsible for recruitment and task-allocation.
- Planned and implemented port of product from SDI to MDI, allowing multiple DBs to be monitored simultaneously.
- Researched and implemented functionality to test/monitor new versions of Oracle.
Interactive Network Staff Engineer
- Designed and implemented reusable database classes for use by other engineers.
- Assisted development and testing of peer-based Winsock applications
- Design and implementation to spec of configuration of several telephony-related software features from data-entry to validation to output. Features included routing tables and automated call transfer.
- Responsible for calculating memory parameters for PBX telephone switch.
- Team lead for support group for legacy application which DCT Project replaced.
- Project lead for four other engineers; duties included representing project group to customer and marketing groups.
- Responsible for maintenance and extension of telephony configuration features on existing product. Features included port-allocation, routing tables, configurator-script generation.
- Responsible for quick-turnaround fixes to address customer problems.