Picture of the author

Santiago Trevisol

Programmer FullStack

Software Engineering

Higher Education

Although focused on cybersecurity, this degree provided a strong foundation in computer systems, programming, and software architecture. Throughout my studies, I gained experience in object-oriented programming, algorithms, design patterns, and web development, alongside knowledge in networks, operating systems, and version control, supporting the development of secure and scalable applications.

Experiences

My journey in the Technology Area

Senac

Curso1 year Logic

Jovem

Programador

2 years Java

Debito

Direto

1 Year TS

Differential

Specific knowledge

Web/App

Web Architecture

Advanced ++

React & Next.js

Framework

SSR, SSG, Dynamic Routing, API Routes, Performance Optimization

REST & GraphQL

API

Scalable API Design, Versioning, Optimized Queries and Mutations

TypeScript

Lang

Strong Typing, Generics, Utility Types, Framework Integration

Backend

Architecture and Best Practices

Advanced ++

Node.js & Express

Server

Middleware, Error Handling, Input Validation, Route Modularization

Clean Architecture

Pattern

Separation of Concerns, Domain Layer, Dependency Injection

TDD & BDD

Testing

Unit Testing, Mocking, Integration Testing with Jest, Test-Driven Development

Design Patterns

Software Patterns

Advanced ++

SOLID Principles

Principles

Clean, Scalable, and Decoupled Code Best Practices

Factory & Singleton

Creational

Controlled Instantiation and Shared Resource Management

Technologies

Technologies that already work

NextJS

Framework FrontEnd JS 2 Years

NestJS

Framework BackEnd JS 1 Year

TS

BackEnd 2/3 Years

Rusty

BackEnd 1 Years

AWS

Devops 1 Year

CloudFlare

Devops 1 Year

Ubuntu

Server 1 Year

DNS

Devops 1 Year

PHP

Laravel 1 Year

Code Architecture

& Best Practices

Design Patterns

I apply common design patterns such as Singleton, Factory, and Strategy to create modular, reusable solutions and improve code organization.

Clean Code

I follow clean code principles to write readable and understandable code, using clear naming, small functions, and minimal complexity.

SOLID Principles

I adopt the SOLID principles of object-oriented programming to ensure code flexibility, separation of concerns, and low coupling.

Project Structure & File Organization

I maintain a clear and logical folder structure with descriptive file names, making the codebase easy to navigate and scale.

Descriptive Git Commits

I write meaningful and consistent commit messages to enhance collaboration, track changes, and simplify code reviews.

Error Handling & Logging

I implement user-friendly error messages and structured logging to assist in debugging and improve application observability.

Only

Linkedin

@copyright Santiago