Skip to content
View RyanProgrwm's full-sized avatar

Block or report RyanProgrwm

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
RyanProgrwm/README.md

Hi, I'm Ryan 👋

Oracle PL/SQL and backend developer with real ERP experience. For over 2.5 years I've been shipping fixes and features to a production Oracle ERP used by 25+ companies in manufacturing, distribution, retail, services and education: 388 maintenance requests delivered, with a median turnaround of 3–4 days. Now I'm also building with Node.js and C#.

📍 São Bernardo do Campo, Brazil · 🌎 Open to remote and hybrid roles · 🗣️ Portuguese (native), English (improving daily)

What I bring

  • Production database work: Oracle 19c PL/SQL packages, triggers and views, plus Oracle Forms and Reports screens, in an ERP that covers invoicing, payables and receivables, inventory, purchasing, tax and payroll.
  • Root cause, not workarounds: I trace customer tickets down to the database and ship minimal, surgical changes to legacy code, with the original backed up and the test documented.
  • Business rules that are hard to get right: Brazilian tax and banking formats (NF-e, CT-e, SPED, CNAB, ICMS-ST and the 2026 tax reform) as they actually run inside an ERP.
  • AI that is safe to put in a product: I designed a natural-language query feature for the ERP where the model returns only validated filters, never free-form SQL.

Featured projects

Project What it shows Stack
cnpj-alfanumerico-plsql Validation and check digits for Brazil's new alphanumeric CNPJ, plus dictionary scripts that find the NUMBER columns and code that will break in a legacy Oracle system. 16 utPLSQL tests on a real Oracle in CI PL/SQL · Oracle · utPLSQL · GitHub Actions
aprova-api Purchase orders with multi-level approval by amount: segregation of duties, audit trail, role-based JWT auth and 33 automated tests Node.js · Express 5 · SQLite · Docker · GitHub Actions
estoque-api Inventory control with moving weighted-average cost, per-warehouse stock, a full stock ledger and optimistic concurrency, covered by 24 tests C# · .NET 10 · EF Core · Docker · GitHub Actions

All three come from problems I deal with at work. I rebuilt them from scratch, with fictional data.

Tech

Databases: Oracle PL/SQL PostgreSQL SQLite Supabase

Backend: Node.js Express C# .NET Python

Oracle front end: Oracle Forms Oracle Reports Oracle APEX

AI and automation: Claude MCP n8n

Tooling: Docker GitHub Actions Git

Right now

  • Building backend projects in Node.js and C# on top of what I know from ERP work
  • Studying English every day
  • Next: a Java / Spring Boot project and deploying to the cloud

Contact

LinkedIn Email

🇧🇷 Prefere português? Pode me chamar em português.

Pinned Loading

  1. cnpj-alfanumerico-plsql cnpj-alfanumerico-plsql Public

    Validação e geração do CNPJ alfanumérico (IN RFB 2.229/2024) em PL/SQL, com testes utPLSQL e scripts para achar o que quebra no seu banco Oracle

    PLSQL