Experience

Throughout my apprenticeship at CentroWEG/SENAI (Aug 2024 – Jul 2026), I led or co-led several engineering-focused projects across distributed systems, payment infrastructure, recruitment platforms, and architectural studies. Below is a selection of the most substantial — projects where I owned design decisions, drove architectural direction, or coordinated technical execution across teams. Each one was an opportunity to take a problem further than the curriculum required.

Listed chronologically. Highlights: Time Trial System (event-driven IoT telemetry) and Payment Gateway Core (custom transaction management in pure Java).

01 / 04

InfoWEG

Class-wide internal communication platform

Project Owner & Tech Lead · CentroWEG/SENAI · Class-wide Scrum project

System Analysis Unit · Java · Spring Boot · MySQL · REST APIs


Conceived, proposed, and led the development of InfoWEG, a targeted communication platform for CentroWEG to replace untargeted bulk announcements with rule-based delivery — students and staff would only receive the messages relevant to their role and context.

My role spanned product and technical leadership across the full lifecycle:

  • Product definition. Originated the concept, refined it with the stakeholder, built and prioritized the backlog, and translated stakeholder needs into user stories and sprint goals.
  • Architectural direction. Defined the initial system architecture, the structure of message targeting rules, and the boundaries between frontend, backend, and design domains.
  • Team structure. Organized the class into specialized squads (frontend, backend, design), nominated and onboarded squad leads, and coordinated cross-squad alignment as the central decision point.
  • Process leadership. Ran sprint ceremonies, taught Scrum in practice to peers as we executed, and presented sprint demos and product evolution to the stakeholder.

The project was selected by class vote as the proposal to pursue, and concluded with personal recognition from the instructor for the leadership and product judgment demonstrated throughout.

Stack: Java, Spring Boot, MySQL, REST APIs

02 / 04

SynapseRH

Skill-based candidate-job matchmaking system

Tech Lead & Lead Backend Developer · CentroWEG/SENAI · Programming Techniques course capstone

Programming Techniques Unit · Java 21 · Maven · PostgreSQL · JDBC · MapStruct


Led the design, architecture, and delivery of SynapseRH, a console-based recruitment platform with a skill-driven matchmaking engine, built as the final project for the Programming Techniques unit. The brief was to solve a real HR problem; we delivered a working system that was demoed and reviewed by faculty alongside an external HR panel.

Technical leadership.

Drove all architectural decisions and most of the backend implementation. Established clean separation of concerns across four layers — domain, application, infrastructure, and presentation — with explicit Value Objects in the domain (Email, CPF, Address, Password), DTOs and MapStruct mappers between application and presentation, and JDBC-based repositories for persistence.

  • Strategy pattern in the presentation layer — CLI menu flow extensible without conditional sprawl.
  • Skill-based matchmaking algorithm — pure Java, weighted scoring against vacancy requirements.
  • Consistent domain modeling across User, Candidate, Recruiter, Vacancy, and Skill entities, with clear aggregate boundaries.

Team and process.

Five-person team, mixed technical maturity. Ran SCRUM throughout, managed roughly 80 issues, produced architectural diagrams and behavior specifications alongside the code. Shipped on time within the assignment's constraints.

Presented to faculty and a visiting HR panel with the full matchmaking flow demonstrated end-to-end.

Stack: Java 21, Maven, PostgreSQL, JDBC, MapStruct

github.com/equipe-javagle/mvp-recruitment-system →
03 / 04

Time Trial System

Real-time RFID telemetry platform

Tech Lead & Architect · CentroWEG/SENAI · IoT course capstone

IoT Unit · Java 21 · Spring Boot 3 · Cassandra · MQTT · WebSocket · Docker · Python · Streamlit


Originated and led the design of Time Trial System, a high-precision lap timing platform for Hot Wheels-scale vehicles, built to explore how production-grade automotive telemetry pipelines actually work. The team chose to depart from the course's expected stack — Node-RED with MySQL — and rebuild the problem from first principles using event-driven architecture in Java with a distributed NoSQL backend.

System architecture.

  • Edge devices. ESP32 boards with RFID sensors, kept "dumb" — they emit only {rfid, timestamp} to an MQTT broker. All validation centralized in the backend, enabling horizontal scaling across sensors.
  • Backend (Java 21 / Spring Boot). Fully async ingestion via MQTT consumer, lap validation, persistence into a 3-node Apache Cassandra cluster with QUORUM consistency. Bimodal output: real-time events via WebSocket and historical data via REST.
  • Live frontend. React + WebSocket STOMP, real-time podium without polling.
  • Analytics module. Python service — K-Means clustering, SciPy, Pandas, Streamlit dashboard.

Engineering challenges navigated.

  • NoSQL column-family modeling — schema designed query-first around access patterns, accepting denormalization for write throughput.
  • Container startup sequencing — Cassandra gossip protocol bootstrap before the Java backend, via sequential health-checked startup.
  • Edge simplicity as a design principle — resisting validation logic at the ESP32 preserved horizontal scaling across sensors.

Presented to faculty across two cohorts and WEG TI leadership. Live demo with physical ESP32 on-stage, streaming across two networks, with 40 concurrent publishers simulated.

Stack: Java 21, Spring Boot 3, Apache Cassandra, MQTT, WebSocket, Docker, Python, Streamlit, ESP32

github.com/PabloTzeliks/time-trial-api →
04 / 04

Payment Gateway Core

Architectural study in clean vs. chaotic code

Co-developer · CentroWEG/SENAI · Systems Architecture course · Pair project with Bruno Luís Medeiros

Systems Architecture Unit · Java 21 · JDBC · Custom transaction manager · Event Sourcing


Built two parallel implementations of the same payment gateway — one deliberately bad ("Chaos"), one deliberately rigorous ("Clean") — to study by contrast the value of disciplined architecture. The brief was open; the framing was ours.

My focus in the Clean implementation centered on rich domain modeling and custom infrastructure: persistence written without ORMs, transaction management built from JDBC primitives. My partner handled use case orchestration and the Event Sourcing layer; we paired throughout to keep architectural decisions aligned.

Notable technical decisions in the Clean module.

  • Custom ACID transaction manager using ThreadLocal to share JDBC connections across repositories, with explicit commit/rollback — hand-written equivalent of @Transactional without Spring.
  • Execute Around Pattern to centralize JDBC connection lifecycle and exception handling without framework fallback.
  • Event Sourcing for balance — account balance derived from the immutable transaction history rather than stored as a column. Consistency by construction.
  • DDD applied with rigor — entities protect their own invariants; anemic models deliberately confined to the Chaos module.

~80% test coverage across unit, integration, and end-to-end tests. Presented as a comparative study.

Stack: Java 21, JDBC, custom transaction manager, Event Sourcing

Certifications
  • AWS Cloud Practitioner Essentials — Amazon Web Services (Jan 2026). Currently preparing for the AWS Certified Cloud Practitioner (CLF-C02) exam.
  • Cisco Academy Networking Basics — Cisco Networking Academy (Dec 2025). Foundational coursework in IP networking, IPv4, and core networking protocols.

Additional self-directed coursework: Java/Spring Boot via Rocketseat, ongoing study in cloud architecture and distributed systems.

Looking Forward

Currently completing my apprenticeship at WEG, with availability for full engagement starting August 2026. Looking for backend or full-stack engineering roles centered on solving complex problems — distributed systems, event-driven platforms, payment and financial systems, and developer-experience tooling. I value teams that document their decisions, take trade-offs seriously, and treat code as a design medium rather than a delivery artifact.

For role discussions or technical conversations:

  • LinkedIn — linkedin.com/in/pablo-ruan-tzeliks
  • GitHub — github.com/PabloTzeliks
  • Email — devpablotzeliks@gmail.com