About Rafael Marcos | Java Backend & Android Developer
About Me
Hi, I’m Rafael Marcos, a Computer Science graduate and developer focused on backend and Android development.
I build backend applications with Java 17 and Spring Boot, Android applications with Kotlin and Jetpack Compose, and practice competitive programming in C++ to deepen my knowledge of data structures and algorithms.
I primarily use Java 17 and Spring Boot for backend development. I can also use Kotlin on the backend when a project or team requires it.
For Android development, I use Kotlin and Jetpack Compose to build```markdown
About Me
Hi, I’m Rafael Marcos, a Computer Science graduate and developer focused on backend and Android development.
I build backend applications with Java 17 and Spring Boot, Android applications with Kotlin and Jetpack Compose, and practice competitive programming in C++ to deepen my knowledge of data structures and algorithms.
I primarily use Java 17 and Spring Boot for backend development. I can also use Kotlin on the backend when a project or team requires it.
For Android development, I use Kotlin and Jetpack Compose to build modern and maintainable mobile applications.
I also practice competitive programming in C++ for fun and to strengthen my understanding of data structures, algorithms, problem-solving, and computational thinking.
I graduated in Computer Science from IMETRO and am currently completing the Common Core at 42 Luanda. I plan to use this blog to share my experience at 42 Luanda, including the projects I work on, the challenges I face, and the lessons I learn through its project-based and peer-to-peer learning approach.
I use this blog to document my learning process, share practical projects, explain technical concepts, and reflect on the challenges I encounter while building software.
What I Write About
Backend Development
I share projects, tutorials, and lessons related to:
- Java 17
- Spring Boot
- Spring Web
- REST API development
- Database design
- Spring Data JPA
- Authentication and authorization
- Spring Security
- Testing
- Clean architecture
- Docker and deployment
Android Development
I write about building Android applications with:
- Kotlin
- Jetpack Compose
- Android Studio
- ViewModel and state management
- Navigation
- Coroutines and Flow
- REST API integration
- Retrofit
- Ktor
- Local data storage
- Room
- Coil
- Android testing
Competitive Programming and Algorithms
I also publish competitive-programming notes and problem-solving solutions in C++.
This is a personal learning track focused on:
- Data structures
- Algorithms
- Time and space complexity
- Dynamic programming
- Graph algorithms
- Searching and sorting
- Recursion and backtracking
- Greedy algorithms
- Contest problem-solving techniques
I practice competitive programming to deepen my DSA knowledge and improve the way I approach complex problems. These articles are written mainly for learning and enjoyment rather than as a representation of my primary production-development stack.
My Experience at 42 Luanda
I am currently completing the Common Core at 42 Luanda, where I learn through practical projects, peer evaluation, collaboration, and independent problem-solving.
I plan to share topics such as:
- My progress through the Common Core
- Lessons learned from 42 projects
- Challenges I encounter and how I solve them
- My approach to debugging and problem-solving
- Peer-to-peer learning and collaboration
- Time management during intensive projects
- How the 42 learning model is shaping my development skills
- The connection between my 42 experience and my backend and Android goals
Education
- Computer Science graduate — IMETRO
- Common Core student — 42 Luanda
Technical Skills
Backend Development
- Java 17
- Spring Boot
- Spring Web
- Spring Data JPA
- Spring Security
- REST APIs
- PostgreSQL
- Docker
- JUnit and Mockito
Android Development
- Kotlin
- Jetpack Compose
- Android Studio
- ViewModel
- Navigation
- Coroutines and Flow
- Retrofit
- Ktor
- Coil
- Room
Algorithms and Problem Solving
- C++
- Data structures and algorithms
- Competitive programming
- Complexity analysis
- Problem-solving techniques
Tools and Practices
- Git and GitHub
- Object-oriented programming
- Clean architecture
- Unit and integration testing
- API documentation
- Debugging
- Peer collaboration
- Project-based learning
What I’m Looking For
I’m interested in opportunities where I can continue growing as a developer, including:
- Junior Java and Spring Boot positions
- Junior Android development positions
- Backend development projects
- Android application projects
- Freelance software-development work
- Open-source collaborations
- Opportunities to learn from experienced developers