Skip to content

Available for opportunities & selected freelance projects

Ricardo Miguel Oliveira Barbosa

Senior Tech Lead | .NET Software Engineer

Engineering Software.Solving Problems.Leading Delivery.

Senior Tech Lead and software engineer focused on backend development, REST APIs, SQL Server, performance optimization and technical delivery.

Porto, Portugal
  • / C# / .NET
  • / REST APIs
  • / SQL Server
  • / Technical Leadership

About

Hands-on engineering, with a focus on delivery.

Portrait of Ricardo Barbosa

Ricardo Barbosa

Porto, Portugal

I combine hands-on software engineering with technical leadership, working across backend development, APIs, databases and software delivery.

My experience includes building and maintaining enterprise applications, solving technical problems and helping teams organize and deliver development work — from sprint planning and task distribution to writing, debugging and optimizing the code itself.

What I combine

  • Hands-on software development
  • Backend engineering
  • API development
  • Database work
  • Technical problem solving
  • Technical leadership
  • Sprint planning & delivery
  • Team collaboration

Core expertise

Where I add the most value.

Backend engineering on .NET is the core — supported by API design, database work, performance troubleshooting, quality practices and technical leadership.

  • 01

    Backend Engineering

    Building backend services and application logic on the .NET platform and Node.js.

    • C#
    • .NET
    • .NET Core
    • ASP.NET Core
    • Node.js
    • REST APIs
    • Microservices
    • Entity Framework Core
  • 02

    API & Integration

    Designing and connecting APIs, services and backend workflows.

    • REST APIs
    • Swagger / OpenAPI
    • Service integrations
    • Backend workflows
    • Distributed communication
  • 03

    Database Engineering

    Data modelling, data access and query performance across relational and NoSQL stores.

    • SQL Server
    • PostgreSQL
    • NoSQL
    • Entity Framework Core
    • LINQ
    • Query performance
  • 04

    Performance & Troubleshooting

    Finding what is slow or broken, and fixing it at the right layer.

    • Performance optimization
    • Efficient LINQ
    • Data access optimization
    • Debugging
    • Production troubleshooting
  • 05

    Technical Leadership

    Organizing technical work so development teams can plan and deliver reliably.

    • Sprint planning
    • Task organization
    • Task distribution
    • Feature planning
    • Delivery coordination
  • 06

    Software Quality

    Testing and delivery practices that keep software maintainable over time.

    • Automated testing
    • NUnit
    • Moq
    • Jest
    • Code quality
    • CI/CD

Technology stack

Tools I work with.

Grouped by area. No ratings or percentages — the experience section and the work itself show how each is used.

Languages

  • C#
  • JavaScript
  • TypeScript
  • SQL

Also part of my broader training: Java.

Backend

  • .NET
  • .NET Core
  • ASP.NET Core
  • Node.js
  • REST APIs
  • Microservices
  • Entity Framework Core
  • MediatR
  • FluentValidation

Frontend

  • Angular
  • React
  • HTML
  • CSS

Mobile

  • Android

Databases

  • Microsoft SQL Server
  • PostgreSQL
  • NoSQL
  • Azure Cosmos DB

Cloud & Infrastructure

  • Microsoft Azure
  • Azure Key Vault
  • Azure Blob Storage
  • Docker

Development & Delivery

  • Git
  • GitLab
  • GitHub Actions
  • CI/CD
  • Swagger / OpenAPI
  • Jira

Testing

  • NUnit
  • Moq
  • Jest
  • Automated testing

Professional experience

Engineering and delivery, side by side.

Roles where hands-on development and the organization of technical work have gone together.

  1. Senior Tech Lead

    Growin

    Porto / Hybrid

    Technical leadership combined with hands-on .NET development — working on backend engineering, solving technical problems and supporting software delivery together with development teams.

    • Technical leadership and support to development teams
    • Hands-on development with C#, .NET and Angular
    • Backend engineering and SQL Server data work
    • Technical problem solving across the application stack
    • Supporting planning and delivery of development work
    • C#
    • .NET
    • Angular
    • SQL Server
  2. Software Engineer / Delivery Responsibilities

    EVIO

    Electric mobility

    Software engineering for electric mobility solutions, combining hands-on backend, web and mobile development with delivery and coordination responsibilities.

    • Backend development of REST APIs and microservices with Node.js
    • Bug fixing and ongoing improvement of the software
    • Sprint organization and feature planning in an Agile / Scrum context
    • Technical task distribution within the development team
    • API documentation with Swagger / OpenAPI and CI/CD with GitLab
    • Node.js
    • REST APIs
    • Microservices
    • React
    • Android
    • Docker
    • Swagger / OpenAPI
    • GitLab
    • Jest
    • CI/CD
    • Agile / Scrum

Capabilities

What I Bring to a Team

Five things I can take on from day one — as a team member, a technical lead or an external contributor.

  1. Build

    Develop backend services, APIs and application features.

  2. Improve

    Identify performance problems and improve inefficient data access and application logic.

  3. Integrate

    Work with APIs, services, databases and external/internal integrations.

  4. Troubleshoot

    Investigate bugs, production issues and technical problems.

  5. Lead

    Help organize technical work, plan development tasks and support reliable software delivery.

Selected engineering work

Representative work.

Areas of engineering work drawn from my professional experience. These describe the kind of problems I work on — detailed public case studies will be added over time.

  • Enterprise .NET Backend

    Representative
    Context
    Enterprise applications that depend on a reliable backend and well-structured data access.
    Technical focus
    Backend services, REST endpoints and persistence with Entity Framework Core over SQL Server.
    What I contributed
    Hands-on development and maintenance of backend features, APIs and data access code.
    • C#
    • ASP.NET Core
    • Entity Framework Core
    • REST APIs
    • SQL Server
  • API & Microservices Development

    Representative
    Context
    Systems composed of services that need to communicate through clear, documented APIs.
    Technical focus
    REST API design, service integrations, API documentation and containerized services.
    What I contributed
    Building and integrating services and APIs, and documenting contracts with Swagger / OpenAPI.
    • REST APIs
    • Microservices
    • Swagger / OpenAPI
    • Docker
  • Database & Query Optimization

    Representative
    Context
    Application operations slowed down by inefficient queries or data access patterns.
    Technical focus
    Analysing data access paths and writing efficient LINQ and SQL.
    What I contributed
    Investigating inefficient operations and improving queries and data access logic.
    • SQL Server
    • LINQ
    • Entity Framework Core
  • Electric Mobility Software

    Representative
    Context
    Software supporting electric mobility solutions, spanning backend, web and mobile.
    Technical focus
    Backend services and APIs, with web and Android applications on top.
    What I contributed
    Backend development, bug fixing, sprint organization, feature planning and task distribution.
    • Node.js
    • REST APIs
    • Microservices
    • React
    • Android
    • Docker

Freelance services

How I Can Help

For teams and companies that need experienced, hands-on support on .NET backends, APIs and SQL Server — whether building something new or improving what already exists.

  • .NET Backend Development

    Development and maintenance of backend applications using C# and .NET.

  • REST API Development

    Design and implementation of REST APIs and integrations.

  • SQL Server & Data Access

    SQL queries, Entity Framework Core, LINQ and data-access optimization.

  • Performance Troubleshooting

    Investigation and improvement of inefficient backend and database operations.

  • Existing Application Support

    Help understanding, maintaining and improving existing software systems.

  • Technical Development Support

    Hands-on development support for teams that need additional senior technical capacity.

Have a project or a system that needs attention?

Let's talk about it

Engineering approach

Principles I work by.

Not a methodology — just the habits that guide how I approach code, systems and teams.

  1. 01

    Understand before changing.

    Understand the business and technical context before modifying an existing system.

  2. 02

    Keep it maintainable.

    Prefer clear, modular and understandable solutions.

  3. 03

    Measure before optimizing.

    Use evidence and measurements to identify performance bottlenecks rather than optimizing blindly.

  4. 04

    Stay hands-on.

    Technical leadership should remain connected to real implementation.

  5. 05

    Deliver incrementally.

    Break complex work into manageable pieces and continuously improve the solution.

Contact

Have a technical challenge?

Whether you're looking for a senior .NET engineer, technical leadership or additional development capacity, let's connect.

Available for professional opportunities and selected freelance projects.

Porto, Portugal