2022 Apr - 2025 Nov |
Marigold, New York, NY,
Principal Software Engineer, Legacy and ML teams
|
- Acted as a key Subject Matter Expert on central mailing and backend systems, consulting on dozens of projects and issues.
- Architected and d built a proxy system to send millions of triggered mailings per hour to a new backend, saving the company millions of dollars with no loss of business.
- Reworked ML backend to add new pipleline constraints, preventing hundreds of unnecessary critical errors.
- Architected a graceful shutdown of the legacy Cheetahmail platform, which ended in 2025 December.
|
2017 Jun - 2022 Apr |
Cheetah Digital, New York, NY,
Principal Software Engineer
|
- Rebuilt nightly export system exporting customized exports for hundreds of enterprise clients each interacting with millions of subscribers to produce realtime export directly to clients and to secondary backend systems for AI and other enhanced processing.
- Owned and represented legacy system working for hundreds of clients and mailing millions of subscribers each day.
- Migrated vast majority of mailing system from legacy mailers and backend machines into AWS, allowing the closure of a data-center saving over $2M/year.
|
2004 Mar - 2017 Jun |
Experian, New York, NY,
Software Architect
|
- Wrote, designed, reworked, and maintained central systems
including the main export system, mailing backend,
and dynamic content system, some (like export) from scratch, in a system that at peak processed millions of records per day and handled millions of subscribers.
- Key developer for a full rework of the entire mailing
system with new approach focusing on noSQL solutions and using RabbitMQ
as a central message broker, designing
a new mailing backend from scratch to replace the old one and
participating in architecture decisions throughout the whole
of the new system and bringing legacy system in line with moderns standards.
- Rearchitected and scaled key backend and nightly export systems from single machine per task to sharded systems that spread the same work over 6 machines with a system that could shard arbitrarily and move tasks from one backend machine to another as systems failed, as well as work with (at the time) modern monitoring solutions such as Splunk.
- Redesigned fragile backend systems for bullet proof and recoverable operation in the face of disk crashes and hardware failures, using file-based queues with reduncies and backups.
- Architected and shepherded project to implement SAML for key clients, while maintaining
existing authentication system, working with a team in Malaysia and championing the use of open source libraries for a successful
delivery in weeks.
- Built and maintained Redhat and Debian format packages, and
found and fixed bugs in standard library systems, reporting
bugs to maintainer as well as keeping a fixed version for
our own use.
- As a roving troubleshooter, anticipated errors and dropped response time from days or weeks to hours.
- Orchestrated and redesigned release systems using custom-built tools
and later, Jenkins and Puppet.
-
Engaged in successful capacity planning and performance analysis,
most often using the scientific method, active benchmarking,
process of elimination and drill-down analysis.
- Invented novel constant-time AB testing tool with
repeatable segmentation, using random saved seeds and hashing
algorithms for division.
- Invented tools to prevent XSS (cross site scripting)
attacks, authenticating query parameters in a way that
maintained 0 storage requirements but dropped attack surface
from thousands of openings to nearly zero.
- Analyzed and developed a response to novel security
threats, including detecting attacks where multiple variations
of the same email address were subscribed to multiple emails
by a third actor in order to make clients a party to an
external attack.
- Designed system to manage and create hundreds of Domainkeys for clients, rotated periodically, allowing them to maintain separate reputations in the face of a changing mailing reputation environment.
- Architected and implemented changes to a system sending millions of emails a day to allow for and maintain GDPR compliance, including data minimization and right to be forgotten, while keeping responsibility and control in the hands of the clients who were the data owners.
- Architected a content transformation scheme (developed in California and Malaysia) to allow client functions to be run at send time spreading the load across hundreds of outgoing content generation servers.
- Rearchitected and designed a data ingestion system that had previously been backed up for 3 days and was risking losing data to instead, by having it run in real time, adding significant concurrency and splitting and segmenting tasks, so that it never had a delay again for the following 15 years.
- Rearchitected mailing "workorder" processing to automatically spread out load across a cluster of machines, allowing it to scale arbitrarily, and also split a synchronous process to deliver workorders (which had previously caused individual processes to take days and require manual recovery when they failed) into separate tasks, speeding up the typical runtime to seconds with slower jobs waiting until the system was ready for them rather than blocking. This also included a novel scheme to detect and keep track of downtime and slowness among the worker machines, allowing the work to be spread out across authorized machines based on their actual traffic and throughput.
|
2002 Apr - 2004 Nov |
Cheetahmail, New York, NY,
Senior Software Engineer |
- Built the core of new export system, starting with 10 clients which eventually scaled up to hundreds of clients with custom exports and allowing for extremely custom scripting on a per-client and per-process type basis, exporting millions of records per day per client.
- Developed a total rework of dynamic content system, changing it from a database-focused cost center to a recursive system that spread load out and ran key merge on indvidiual mailing machines, reducing a bottleneck that would cause mailings to run for hours to one that at worst would take minutes for high-intensity, high-volume mailings.
- Built recursive, hierarchical dynamic content system for triggered mailings which would ingest arbitrary data along a pre-defined scheme and could be client serviced.
|
2001 May - 2002 Jan |
Starmedia Networks, New York, NY, Softwaree Engineer |
- Maintained, debugged, and wrote several modules and extensions
(including one involving adding a SOAP interface) on a Mod Perl environment with solid internationalization and security enabled by having Oracle database access negotiated with PLSQL procedures.
- Took a lead role keeping CVS repository maintainable and clean.
|
1996 Sept -
2001 May |
Winstar, New York, NY, Senior Developer |
- Wrote web-based applications and other programs for clients in
Perl, Java, C, and Mod Perl
- Was primarily responsible for the programming behind numerous client sites.
- Configured, maintained, and optimized web servers.
- Administered, installed, upgraded, and configured
linux systems.
- Taught introductory classes in XML and Java to other developers
|
1996 Jan - July |
Eric Marder Associates, New York, NY, Programmer |
- Wrote programs for facilitating mailing, quality
control and analysis.
- Worked on VAX/VMS.
|
| Systems: | Unix (SunOS, Solaris, Novell, BSD), Linux(Redhat, Debian, Ubuntu), Windows, Dos, VM/CMS, Macintosh, VMS
|
| Languages: | Perl (very strong), Java, C/C++, SQL, Pascal, Lisp, Shell
Programming, HTML, YAML, JSON, JavaScript, XML, XSL, Python, Ruby
|
| Databases: | Oracle, Informix, Sybase, Mysql, Postgresql, Msql, MS SQL
Server, MS Access
|
| Other Technologies: | Emacs, vi, git, Ansible, Puppet, Jenkins, RCS, CVS, Mod Perl, Apache, CGI, VNC, Jserv,
Tomcat, ASP, REST, CI/CD, IaC, AWS |
| Familiar with: | Hive, Spark, Kafka, RabbitMQ, Functional Programming (FP) techniques and concepts |
References Available on request.