- Github: ericbmerritt
- Twitter: @ericbmerritt
- Linked In: https://www.linkedin.com/in/eric-merritt-140541
2015-Present - VP of Engineering, Stealth FinTech Startup, Bellevue, WA.
I am in the process of kicking off a new, well funded, Fintech Startup in the Fraud Detection space. We have hired the team, designed the system built the MVP.
2013–2015 Senior Software Engineer, Amazon.com, Seattle, WA.
I was recruited to bring expertise in distributed systems and green field projects to a new organization within Amazon whose purpose and scope remain confidential.
- I was brought in as employee number three to build out a complex distributed systems platform. My primary tasks was to architect the team that would build out this platform. I set the hiring bar, directed the recruiting organization, attended relevant conferences pitching potential candidates and interviewed and managed the intake process. I built an accomplished team that was able to deliver the project.
- The goal of this project was to accomplish something unique that had never been dome before. Amazon’s highest levels of leadership funded the project as a gamble, believing that it was unlikely to succeed, but the value of success was high enough to justify the financial risk. I was brought in to design the platform and supporting systems and drive the project to completion. We successfully delivered the project, earning the trust of management and our customers.
- Given the nature of the platform, finding the required skill sets for this project was tough. Only a small proportion of the population of Software Engineers had the skill set needed to build this system. As the primary technical leader of the Organization, I had the responsibility to grow the engineering staff to meet the demand and ensure that the Engineers had the required skills. In both the design of the system and the work organization, I took into account the relative strengths of the team along with talks and individual mentoring. By the time the project was in full swing, each team member was capable and experienced in required areas with the ability to speak and think clearly in probabilistic and statistical approaches needed.
2011–2015 CTO/Founder, Afiniate, Inc., Washington DC.
I founded Afiniate, Inc. with my business partner and served as the technical Co-Founder, recruiter, and manager.
When we started, my partner and I had nothing more than an idea and a Lean Canvas business plan. As the Technical Co-founder, my responsibility was architecting the team that would build our project. I was able to bring on four extremely competent engineers and contributing members of the staff with equity as the sole compensation. This allowed us to design and build complex and functional systems that we would not have otherwise due to financial constraints.
Our initial plan called for real-time analytics of financial data in the banking sector. I designed and implemented a distributed rules evaluation engine. This system was based on horizontally distributed version of RETE algorithm. I designed and implemented the prototype as a sales tool.
We pivoted and applied our rules system to the operations space. This pivot increased the scale in which we needed to operate by an exponential amount. Our existing implementation could not scale to the level required, so I redesigned the system. I built a system that was able to scale to a horizontally using a previously unknown approach to distributed, recursive pattern recognition. The new system was capable of doing complex pattern recognition on a large amount of data with the unit of variance being the number of hardware resources involved. We implemented this system and got through initial tests before running out of funding
2012–2013 Manager Architect, Five9, Inc., San Ramon, CA.
I organized, architected and managed the development of Five9’s next generation platform distributed telephony platform.
Five9 had an existing successful, but monolithic call center platform with significant stability problems. The CTO brought me in to redesign the system in a fault tolerant, distributed manner. I assessed the existing system and organization. I designed an eventually consistent actor based distributed system to replace that existing system. I led the engineering organization to build and deploy the system.
Five9 had no distributed systems expertise when I joined. I organized a small group of senior engineers and intensively mentored them on the fundamentals of distributed system design and implementation. Over the course of several months, these senior engineers become proficient in those fundamentals and become sources of mentoring for the rest of the organization. By the end of the project most of the organization had a decent fundamental understanding of the probabilistic thinking needed to successfully design and implement these systems.
Five9 had few quality processes as an organization. In the interests of being able to deliver a stable fault tolerant system I designed and help implement a full suite of expected quality processes and infrastructure to support continuous delivery of the new platform. Within a few months we where able to have instant continuous delivery of all code changes to the new product.
2008–2010 Senior Software Engineer, PEAK6 Investments LP, Chicago IL.
I was brought in to start a greenfield High-Frequency Trading system and build the team and infrastructure to support it.
PEAK6 decided to get into the market of high-frequency trading with the goal to be better able to compete with its competitors. I was brought in to design and help build that system. I developed an actor based system with design concessions to optimize for vertical vs. horizontal scaling requirements. We delivered a system based on this design. This system was able to leverage the many-core architecture of its target hardware and have throughput and response times that where 50% of the target SLA. Those SLAs were consistent with competitors that implemented their systems directly in hardware.
A primary goal of this system was to allow Quantitative Analysts and Traders to implement strategies that leveraged this system efficiently, with undo complexity in Strategy definition. I designed and implemented a Domain Specific Language for Strategy development and the compiler infrastructure to allow the Strategy to perform competitively to hand coded Strategies. The DSL allowed those strategies to take advantage of the unique properties of the trading platform. The Traders were able to create strategies that successfully competed in a very competitive space.
2004–2008 Software Development Engineer, Amazon.com, Seattle.
Amazon expends a tremendous amount of time and money in recruiting. I launched a project to reduce those costs. The human cost of the process is the highest cost. To address this, I worked out a system that used machine learning techniques to automate the first part of the human interaction in the process. Using Amazon’s rich corpus of interview pipeline results, I invented a way to predict the likely results for each leg of the process. After several iterations, the system could correctly predict whether a candidate would pass the dual phone screen procedure with a 70% success rate and the full loop with a 65% rate.
Amazon introduced the concept of the Two Pizza Team with a fitness function. Creating a correct Fitness Function and observing the result was an important part of the Two Pizza Team concept. I created a the time series manipulation DSL and supporting infrastructure so that our customers could iterate on functions. I designed the language, implemented it and iterated with customers until the language was optimal. I built an IDE that allowed the customers to manipulate the fitness function and view the result in real time. We successfully rolled out the result to all Two Pizza teams, and it was used exclusively to manage and present their metrics.
The VP of Developer Services was interested in the space of real time analysis of human movement over pages on the retail website and the internet as a whole. The goal was to immediately leverage high levels of interest in a particular page and the increased flow of traffic over related pages. I, along with a Principal Engineer and a Senior Scientist designed and implemented a system of real-time metrics collection and graph analysis system so that that flow of information could be collected, analyzed and used while it was still valuable. We implemented prototypes for the system and successfully tested it on the retail website, subsidiary sites and engaged beta partners.
2001–2004 Senior Programmer Analyst, Stearling Healthcare, Inc., Raliegh-Durham, NC.
I led the design and implementation of the Emergency Room Staffings companies primary contract management system.
- The company was spending a significant amount of money on a contract management system purposed for legacy mid-range hardware. I implemented a replacement system for commodity hardware. I designed and implemented new software, iterating with internal customers. We delivered the new software and were able to deprecate and remove the existing systems. The system allowed the company to eliminate the legacy mid-range systems and reduce hefty licensing fees by a significant margin.
1999–2001 Consultant, McCormack & Associates, Inc., Charlotte, NC.
I built an in-house e-commerce platform. When that platform was complete switched over to consulting work for various Fortune 500 companies.
- I implemented an end to end solution for electronic commerce. We delivered the software in time for its public release allowing McCormack & Associates to enter a new market successfully.
1996–1999 Database Administrator, Universal Solutions, Inc., Winston-Salem, NC.
- I designed and implemented several groupware applications using Lotus Notes.
- I provided information management tools for existing RPG/OS400 applications as well as data integration for non-OS400 applications.
- I designed and implemented a QA system and trained the initial QA team members in their responsibilities.
- 2010 Author - Erlang & OTP In Action - Manning Publications
- 2014-Present Contributing Author - Devops.com
- 2006-Present Erlware Founding Member
- 2014 Peer-to-peer quorum sensing - 8880585
- 2014 Use of peer-to-peer teams to accomplish a goal - 8639739
- 2012 System and method for managing content interest data using peer-to-peer logical mesh networks - 8214475
- 2012 System and method for client-side widget communication - 8104044
- 2010 Method and system for determining and notifying users of undesirable network content - 7797421
- 2010 Method and system for displaying interest space user communities - 7685192