
Santiago Trevisol
Programmer FullStackSoftware Engineering
Higher EducationAlthough 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 AreaDifferential
Specific knowledgeWeb/App
Web Architecture
Advanced ++React & Next.js
FrameworkSSR, SSG, Dynamic Routing, API Routes, Performance Optimization
REST & GraphQL
APIScalable API Design, Versioning, Optimized Queries and Mutations
TypeScript
LangStrong Typing, Generics, Utility Types, Framework Integration
Backend
Architecture and Best Practices
Advanced ++Node.js & Express
ServerMiddleware, Error Handling, Input Validation, Route Modularization
Clean Architecture
PatternSeparation of Concerns, Domain Layer, Dependency Injection
TDD & BDD
TestingUnit Testing, Mocking, Integration Testing with Jest, Test-Driven Development
Design Patterns
Software Patterns
Advanced ++SOLID Principles
PrinciplesClean, Scalable, and Decoupled Code Best Practices
Factory & Singleton
CreationalControlled Instantiation and Shared Resource Management
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.