Developer advocacy
Talks
Nium
| Venue | Topic | Audience | Crowd size | Remarks |
|---|---|---|---|---|
| Monthly Nium events | - Fintech Meetup - Money20/20 - Money Street Fest | - Developers - PMs - payment leaders - treasury teams | 20+ | Panel discussions about trust, compliance, payments stack, other financial topics, and how Nium can help |
Couchbase
| Venue | Topic | Audience | Crowd size | Remarks |
|---|---|---|---|---|
| San Jose Convention Center | Couchbase Connect Hands-on query walkthrough | - Developers - techy PMs | 300+ | Projected a PowerPoint presentation while speaking and leading the crowd to build queries on their laptops while I did on mine |
| Monthly MeetUp groups | Couchbase NoSQL vs SQL | - Developers - DBAs | 20+ | Discussed index and query types and Big Data use cases |
Published articles
LinkedIn (21,000+ followers)
| Title | Target audience |
|---|---|
| Gmail agent for job auto-replies | Job hunters |
| 15 passive ways for employers to find you | Everyone |
| 13 active ways for employers to find you | Job hunters |
| The healthier doughnut | Everyone |
Fintech blog posts
FIS/Atelio
- Pay by Bank payment method allows payments without credit/debit card info
- Consumer Secured Charge Card is an embeddable solution for many use cases
- Identity solves for use cases across key customer channels
Nium
- Client Prefund Account APIs let you track those funds across all currencies
- Wallet-to-Wallet Transfers APIs move funds across different clients
- Customer Virtual Accounts APIs manage virtual account numbers for a customer's wallet
API
Nium -- for fintech developers
| Category | APIs |
|---|---|
| Clients | Client Prefund Account • Client Settings • Client Transactions |
| Customers | User Management • Customer Account - Individual • Customer Account - Corporate • Customer Management • Accounts - Files |
| Wallets | Customer Wallet Balance • Wallet to Wallet Transfers |
| Payins | Customer Funding • Customer Virtual Accounts |
| Payouts | Beneficiary • Payout |
| Cards | Simulators • Lifecycle • Security • Controls |
| RFIs | Request for Information |
| Reports | Reports |
| Testing | Payouts • Payins • Customer |
SDK
ROAM -- for fintech developers
| Title | Code samples | Contents |
|---|---|---|
| [SDK for Android payments](./roam-android-sdk-online-payments.md | Java | Using Android Pay, collecting credit card info and payments, setting up an app, creating & using tokens, testing & deploying |
| [SDK for iOS Apple Pay payments](./roam-ios-sdk-apple-pay-payments.md | - Swift - Objective-C | Using Apple Pay, collecting credit card info, creating tokens, sending tokens to your server |
Atelio -- for fintech developers
| Title | Code samples | Contents |
|---|---|---|
| SDK for web documentation | Requirements, importing, displaying, setting card PIN |
KB
VMware -- for UEM developers
Dev problems I've solved
| Developer problem | How I solved it | Company |
|---|---|---|
Developers had a hodgepodge of skill.md and instruction.md and various .yaml files and needed structure for their internal agent-driven workflows, server architecture, and usability. | I Created a framework of governance and guardrails with templates in Markdown and YAML files to make it easier for developers to build Copilot Agents | Microsoft |
| Metaverse developers had trouble making 3-D objects behave the way they wanted. | I improved the Metaverse documentation with explanations and examples for faster building. | Meta |
| Developers created an AI/ML/LLM system to populate the Netflix home screen of titles and needed to share this technology with other Netflix departments but weren't able to install or configure it outside their group. | I tested and created internal documentation for the complex installation and configuration of their tool that populates the Netflix Home screen of titles so other departments can use it as well | Netflix |
| Customers' developers weren't able to onboard Nium's products due to the complexity of different steps for different company types in different countries. | I made a step-by-step unified onboarding process that immediately saw 70% more onboarded while 70% fewer helpdesk tickets. | Nium |
| Developers were building internal AI/ML/LLM tools but had difficulty since Apache's documentation didn't cover all of their use cases or needs. | I filled in their documentation gaps and greatly enhanced their internal documentation with more explanations and examples for engineers to use the Apache ecosystem tools for their Big Data and IoT projects. An engineer said my docs are "more thorough than Apache's documentation site." | Yahoo |
| AdWordsAPI developers had trouble finding what they needed since the AdWords department hadn't updated their Confluence pages in many years and some were simply obsolete. | I improved the completeness and accuracy of the AdWords API department's documentation to be the highest rated department in all of Google. | |
| Customer developers had trouble writing queries since the documentation was sparse and had no example queries of usage. | I vastly improved their documentation by elaborating on the explanations and adding many example queries, which Reduced helpdesk tickets by 30% | Couchbase |
| Developers couldn't keep up with the ever-growing queue of helpdesk tickets since their process didn't call customers at the best time to reach them. | I redesigned their Helpdesk system to call them during the time range the customer specified and at the number (home or work) specified; and I answered many calls myself instead of creating a ticket. These Reduced helpdesk tickets by 92% | Microsoft |
Dev tools I've built
| Developer problem | How I solved it | Company |
|---|---|---|
| Since Couchbase is schemaless and query performance is index-dependent in a way that isn't always obvious from the query syntax alone, developers routinely write a SQL++ query that works fine against a small local dataset, then silently full-scans a multi-million-document bucket in production; and it's often not discovered until someone notices latency or cost spike. My Couchbase documentation work detailed this exactly in the Adaptive Index and GSI Indexing / Index Pushdown pages. | Query preflight checker. I built a small CLI tool that takes a SQL++ query and a target bucket, and warns before the query runs in production whether it will trigger a full primary index scan instead of using a covering secondary index. | Couchbase |
| Since Couchbase documents in the same collection have no enforced schema, teams coming from a relational background often created a kind of silent drift that's easy to introduce and hard to notice in a schemaless system. | Schema drift detector. I built a tool that samples a collection and reports fields that are inconsistently typed or present across documents, catching that kind of silent drift. | Couchbase |
Community contributions
Websites
- Atelio ............ Dev Portal (product discontinued)
- Nium ............. Dev Portal
- Couchbase ... Forums
Roles I performed at those websites
Moderator
- Helped facilitate community discussions by enforcing forum guidelines
- Removed spam, ads, and self-promotion posts
- Ensured posts remain respectful and on-topic
- Moved, edited, or merged threads so questions are properly categorized and easier to find
Developer advocate
- Assisted developers
- Escalated technical questions to the right engineering teams
- Replied to posts with technical answers
- Replied to dozens of forum posts via email due to privacy issues
- After replying to sensitive matters in email, I learned to post a 2nd reply without sensitive info in the forum so everyone can benefit
Driver of growth
- Gathered customer and potential customer feedback which influenced the product
- Identified friction points of customers and potential customers and addressed them
- Generated dozens of "leads" and "pipeline influence"
- Noticed stalled or immature forum categories and designed plans to grow them
Marketing contributions
At Couchbase, Nium, and FIS/Atelio, I've helped the marketing department in the following ways:
| Category | Description |
|---|---|
| Technically credible content | - Blog posts - Tutorials - Training videos |
| Developer feedback loop | - Forums - Discord - Conference hallway conversations - Support threads (objections, confuses them, etc.) |
| Organic reach | - Conference talks - Meetups - Community presence |
| Customer stories | - Deep relationships have surfaced genuine use cases and testimonials orgnically - Helped Marketing turn those into case studies and proof points |
| Launch support and technical narrative | - When shipping a new feature, I turned "what we built" into "why it matters and how to use it" - Deep-dive blog posts - Demos and workshops |
| Event strategy by informed community knowledge | I informed Marketing which developer-specific meetups and communities would have a good chance of reaching the target audience |
Feedback loops
On the Couchbase SQL++ for Query Reference and Atelio documentation pages, I added a feedback mechanism that:
- asks Is this page helpful? Yes/No
- has a Leave Additional Feedback? box to send entered text to the technical writer for triage and ticket making
Code samples I wrote
SDK quickstarts
| Post | Audience | Code samples | Remarks |
|---|---|---|---|
| Android SDK for online payments | Fintech developers | Java | Using Android Pay, collecting credit card info and payments, setting up an app, creating & using tokens, testing & deploying |
| iOS SDK for Apple Pay payments | Fintech developers | - Swift - Objective-C | Using Apple Pay, collecting credit card info, creating tokens, sending tokens to your server |
| Atelio SDK for cards | Fintech developers | - cURL - Ruby - Python - JavaScript - C# - Java | Requirements, importing, displaying, setting card PIN |
API sandbox demos
| Sandbox demo | Company |
|---|---|
| Sandbox vs Production | Atelio of FIS |
| Testing services | Nium |
Postman collections
| Postman collection | Company |
|---|---|
| Atelio APIs | Atelio of FIS |
| Nium APIs | Nium |
Nium API reference
Nium has added more API endpoints and supported languages after I left. The following are the API endpoints I documented with code samples in:
- C
- cURL
- HTTP
- Java
- JavaScript
- Python
SQL indexes and queries
- While at Couchbase, there was a potential customer who wanted to buy if he could see examples of a new ANSI Index that was shipping in the latest version.
- The problem was that the default database that comes with Couchbase Server didn't contain enough specialized indexed fields to demonstrate the power of the new ANSI Index, and Couchbase executives didn't want to change any part of their example database.
- So, I created the indexes needed to make a query that could use the new ANSI Index and then made sample queries that used the new ANSI Indexes with my newly made indexed fields; and then I made a script so anyone could replicate those creation steps.
- I did this ad hoc "patch" again a few weeks later for a different customer who had a different use case.
- A few months later, Couchbase modified their example database to include these and other index types for all customers.
- I wrote or vastly improved nearly all pages under SQL++ for Query Reference by adding:
- Examples
- Diagrams
- Indexes and queries
Meetup events I attend
| Event | City | Frequency | Remarks |
|---|---|---|---|
| Agents & APIs Developer Meetup | SF | Monthly | by Postman |
| AI Tinkerers - SF | SF | Monthly | |
| Global AI Makers | SF | Monthly | |
| SF AI Code & Coffee | SF | Monthly | |
| Toastmasters | Alameda | Weekly | |
| Write the Docs | SF | Monthly |
Reddit communities I'm in
| r/ | Description |
|---|---|
| LocalLLaMA | Locally hostable AI |
| MachineLearning | AI & ML |
| ChatGPTCoding | For building and learning with AI-assisted coding |
| ClaudeCode | For building and learning with AI-assisted coding |
| StableDiffusion | Open-source, local AI photorealistic art from text |