Donnie Cameron | Senior Software Engineer
Manteca, CA | +1 919-429-9377 | macnod@gmail.com
linkedin.com/in/macnod | sinistercode.com/public/donnie
20+ years building backends, data platforms, and compilers in Common Lisp, Java, and Python. Designed a production language for manufacturing data pipelines, led backend systems that ingest and integrate multi-source data, and built Data UI, a compiler that turns a one-page model into PostgreSQL, REST, React, and Kubernetes. Seeking a remote role designing large-scale systems.
Common Lisp, Emacs Lisp, Python, Java, SQL, Bash
AWS, Azure, Kubernetes, Docker, PostgreSQL, Terraform, GitHub Actions, Jenkins
December 2025 - Present
Weekends, concurrent with Ivanti; not a full-time role.
Built Data UI, a compiler that expands a one-page model into PostgreSQL, REST, React, row-level RBAC, and a Kubernetes+TLS deployment. For example, a full to-do application with users, roles, and row-level access control compiles from 57 lines of model, versus roughly 20,000 lines of hand-built Java (deployment script, Kubernetes manifests, and cluster setup included). https://data-ui.com, https://sinistercode.com/
Proved the thesis in July 2026: a napkin-sized model compiled and deployed end to end as a running app.
July 2025 - September 2026
Replaced commercial Elasticsearch, not allowed in Azure Government (FedRAMP IL5), with self-hosted Elasticsearch inside the VNet, across 2 repos with different Terraform architectures; deployed to 3 environments per repo.
Rerouted firewall logs to Azure Log Analytics with no internet path: a log-forwarding container in Kubernetes plus Terraform for the firewall-to-container and container-to-Analytics path, across the same 2 repos.
September 2024 - May 2025
Stopped customer-data loss by leading the rewrite of a sophisticated backend ingestion system for hundreds of data sources and millions of rows a day: daily self-caused errors and frequent data loss became occasional failures, nearly all from customer uploads.
Built components of the data-integration pipeline in Java, Kotlin, and Python on Airflow, Cloud Functions, and BigQuery: clients deliver via web uploads, SFTP, APIs, and Salesforce and other CRM connectors, and all data is normalized into a single source-of-truth database.
December 2019 - March 2024
Designed and implemented Operator Expressions, a strongly typed, type-inferencing language with real-time error feedback. Adopted by over 50 engineers; the simplest operator went from about 250 lines of Java, plus packaging and making it available to the pipeline's toolbox, to 1 or 2 lines of Operator Expressions, and customers could write them.
Built a nightly full-system copy that processed a representative set of about 10 customer pipelines with anonymized data as if newly arrived, and diffed the results against previous runs, pinpointing errors new code introduced; ran outside Kubernetes on a dedicated VM to keep daily-run performance comparable.
Implemented Factory Build backend components (REST services, pipeline architecture) that standardize telemetry from hundreds of sources per plant (thermometers, vibration meters, flow meters) for Global 500 manufacturers with plants worldwide, on Kubernetes and Docker across Azure, AWS, and GCP (Java, Python, Lisp, Kafka, PostgreSQL, MongoDB).
January 2015 - November 2019
Led a distributed team of 12 software engineers across Redwood City and Bengaluru, India.
Partnered with Product to scope a dozen major features and hundreds of smaller tickets, coordinating their delivery across both sites.
Designed and built backend features including Recently Watched, DRM Download, and Resume (Python, Perl, PHP); Resume tracked playback position for millions of users. DRM Download shipped before Netflix offered downloads.
Inherited a site that fell over every few days under high demand, with scaling manual and difficult; designed auto-scaling that supported 10M concurrent users.
Moved the website and API onto AWS VPC for security, ahead of AWS's EC2-Classic retirement; delivered encrypted, segmented video worldwide via Akamai and DRMToday, then replaced both with Verizon Edgecast for equal results, less integration work, and lower cost.
Brokered the Vindicia partnership for payment processing (introductions, executive briefings, contract).
Backend engineering at RR Bowker (tens of millions of records, millions of requests per day), Vindicia, and Socialtext; technical editing at Microsoft (including writing code samples); U.S. Navy Engineering Laboratory Technician, nuclear propulsion.
Open source. Compiler and models are public: you can read the 57-line to-do model next to the PostgreSQL, REST, React, RBAC, and Kubernetes it emits.
https://data-ui.com
Site monitor that GETs configured URLs, alerts Mattermost once per outage (and once for lost connectivity), and re-reads a typed config every cycle so a Kubernetes ConfigMap change takes effect without a restart.
https://github.com/macnod/monitor-sites
PostgreSQL-backed role-based access control: users, roles, permissions, and resources, with exclusive per-user roles and public/logged-in defaults. The access-control engine behind Data UI.
https://github.com/macnod/rbac
Mechanical Operator, Nuclear Propulsion
Engineering Laboratory Technician (Nuclear Water Chemistry and Radiological Controls)
Coursework in Computer Science
PDF · Word · plain text · Markdown