Summary

Some highlights:

I re-designed a system architecture through performance testing to increase the system capacity by 30% on the same hardware.

I designed infrastructure to take a white box, poor performing system from a distributed network to turn it into a high scaling performance system with 43X the original throughput.  For this I was recognized by the government with a team of the year award, competing against thousands of teams.

I rewrote the openj2k algorithm to process in 5 seconds what it normally does in 45 minutes.  In addition, I improved the filter values to more accurately reproduce the product under certain conditions.

Work History

Work History
Mar 2013 - Present

Founder

Silicon Raptors

We are building a web based sprinkler controller for water conservation.

Oct 2012 - Present

Technical Staff / Performance Engineer

NICE

Technical StaffSkills: psql, c++, perl, Java, xml, unix, linux, solaris, hibernate, osgi, maven, ivy, nexus, Jenkins, groovy, ant, ddl, mssql, sql, soasta, dynatrace

  • Re-designed the system layout to get a 30% performance increase on the same hardware.
  • Created a scaling model to reduce hardware costs by 20%.
  • Designed asynchronous handling in the software to reduce bottlenecks and increase the throughput of the system by a factor of 3.
  • Balanced throughput over different proxy configurations to increase capacity and scale horizontally.
  • Analyzed and resolved poor data query performance, synchronization issues, memory leaks, GC issues and customer performance problems.
  • Automated a manual build system for bundling, deployments, hotfixes, patches and other build artifacts. This includes a very heavily scripted set of builds for little developer/qa involvement.
  • Designed a nexus based build and deployment system to handle a software as a service platform as well as the current installation procedures.
  • Provided performance analysis, expert opinion and code fixes for database and gui performance issues.
  • Built and expanded an asynchronous message processing system in a linux environment.
  • Scaled out an algorithms processing system to handle a distributed pull model workload for a massively memory intensive processing service.
  • Converted a complicated and issue prone distributed workload system to a simple message based execution platform.  The result was a system that had 100x increase in throughput, and, more importantly, single critical product processing time.
Sep 2011 - Oct 2012

Software/Performance/DB/System Architect

IEX (NICE)

Skills: psql, c++, perl, Java, xml, unix, linux, solaris, hibernate, osgi, maven, ivy, nexus, Jenkins, groovy, ant, ddl, mssql, sql, Liferay, Tomcat, Jboss, LoadRunner, JMeter, newrelic, yourkit

  • Created a build and deployment infrastructure to increase the productivity of a team of 40, saving approximately 5 man months a year in productivity.
  • Generated an enterprise architecture proposal with a complete system topology layout for revamping a project, specializing with development and QA cost cutting.
  • Worked to identify bottlenecks in the system at the integration level to increase the throughput of the product.
  • Designed a nexus based build and deployment system to handle a software as a service platform as well as the current installation procedures.* Provided performance analysis, expert opinion and code fixes for database and gui performance issues.
  • Found, analyzed and resolved hundreds of resource contention anti-patterns.
  • Discovered, analyzed and helped to resolve hundreds of database and datausage query problems.
  • Scaled out a product that was not previously performance tested from a max of 1000 users on geometrically scaling hardware to 50000 users on a mostly linear hardware increase scale.
  • Designed a system architecture for future scaling work.
  • Sped up the performance of a new platform consisting of mule/mq/liferay through analysis of working components and code rewrite recommendations.
  • Resolved synchronization and bottleneck issues in the back end servicing code through top level analysis and deep dive coding fixes. This involved hibernate rewrites, custom synchronization code refactoring, working around jdk bugs and finding algorithmic inefficiencies.
  • Consistently deal with high visibility, technical, customer issues.
  • Provided field solutions for intricate custom setups.
  • Created system level architecture deployment to enhance scalability.
  • Built a clustered environment from generic jboss solution.
  • Built a high availability and monitoring solution for a SaaS system layout.
  • Created cross domain and ssl workaround for liferay services.
  • Designed a cross site forgery mitigation solution.
Nov 2009 - Sep 2011

Technical Lead

Raytheon

Security Clearance: SSBI – ActiveTechnical StaffSkills: c++, perl, Java, xml, jaxb, unix, linux, solaris, visio

  • Put together costing for new projects, based on objective evidence and analysis in leveraging engineering capabilities.
  • Designed a plug-able, generic framework with the intention that it could be a basis of integration for less experienced engineers.
  • I consult with other contractors to provide expert opinions on design and in a technical capacity.DBASkills: oracle, OEM, ddl, sql, shell scripting
  • Analyzed performance for database queries for a highly transactional system.
  • Performed system wide analysis to determine inefficiencies during integration testing.
  • Identified places where the way we designed business logic had several flaws in an asymmetric messaging system that requires significant intensive processing time.
May 2005 - Nov 2009

Software Engineer

Raytheon

Skills: Java, c++, perl, xml, javascript, atom, Guice, jaxb, ajax, unix, linux, solaris

  • Created a messaging system framework for decoupled, dynamically configurable GUIs.
  • Implemented a generic XML based framework to mock up functional GUI displays rapidly and turn those mock ups into production GUIs with little effort.
  • Designed and wrote a high performance logging infrastructure to handle 50+ thread server loads, in a generic high performance server environment. The logger was 80x more efficient than default Java logging service.
  • Provided metrics and performance analysis to maximize computational efficiency over several product lines.
  • Restructured and wrote framework for several open source COTs products for rapid integration. It was able to achieve an average of 90% threaded scalability and orders of magnitude speedup in both single/multi threaded environments.
  • Found, designed and wrote the performance improvements necessary to help revitalize a contract that was failing due to performance/cost concerns.
    • For this I and my team received a Directorate Team Award (Nov 2009).
  • Wrote web based displays to handle product ordering.

Education

Education
Oct 2006 - Dec 2008

Computer Science

SMU

Skills

Skills

Web services

I setup rest services using Gson, Genson, Jersey and Jackson, in which I connected up twitter bootstrap components with a jquery client side.

NoSQL

I setup a Cassandra Database on an embedded platform using Astyanax as a business object layer to provide access to data with rest services.

Automation

I have created a variety of automation systems:   One is to take modular transient processes and string them together to generate products.  This was for beta products, which required rapid development turnaround.   Another project in which I heavily invested was one for QA to be able to generate and run tens of thousands of automated tests as a system delivery validation vehicle, thus reducing QA effort.   Another is a build lifecycle system starting from compiling, through QA to product delivery.

XML

I designed xsd and xml messaging infrastructure for use with xslt processing.  This composed the internal structure of a custom, MQ based ESB.

Oracle/sql

I have database performance experience along with database based application tuning.  This includes rewriting sql for performance, changing business logic for better database access, using OEM to tune high transaction tables for increased performance and ddl modifications for more efficent table access in bottleneck situations.

Java

I have some GUI and web coding experience in Java, most of my experience is in framework, performance and infrastructure.  My maintenance work was last tier, in which anything that couldn't be solved by the programmers that wrote the code came to me.

c++

I specialize in performance systems and algorithms.  I have spent most of my  c++ time writing highly scale-able, processing bound, algorithms on distributed systems. 

Top Secret/SCI