JUAN CAMILO URREGO SERNA

Software engineer - Backend

BACKEND

  • C#, Javascript
  • .NET 5, .NET 6, .NET 7, .NET 8
  • Entity Framework, Dapper, Ado
  • SQL Server, MySql, PostgreSQL
  • MongoDB, Cosmos DB, Azure Data Storage
  • Linq, FluentValidation, RabbitMQ, MassTransit
  • JWT (Authorization, Authentication, Refresh Token), Rate limiting, Global exception handler, Swagger
  • NUnit, XUnit, Moq, NSubitute
  • Azure, AWS
  • Agile, Scrum
  • Git, Sourcetree

Soft skills

  • Teaching ♥
  • Assertive communication
  • Empathy
  • Collective property
  • Attention to details
  • Complex problem solving

LANGUAGES

  • Spanish Native
  • 100%
  • Portuguese C1
  • 90%
  • English B2
  • 75%

Tech Talks

  • Stringbuilder and their performance: https://youtu.be/G41_0ZBp4Mo
  • Validations in .Net Core: https://youtu.be/_Bw46uN3xvM

Profile

I am a passionate and highly skilled .NET developer with experience in delivering robust and scalable applications. Primarily focused on .NET and Azure, my priority lies in designing and implementing clean code while applying best practices. I stay updated with the latest trends and techniques to ensure efficient and high-performing solutions. Additionally, I enjoy sharing knowledge through technical talks and have a short-term goal of becoming a software architect.

Work experience

  • October 2023 - Actual

    .Net Architect - Arkeero

    Lead the strategic technical direction, architecture design, and effective implementation of a multi-tenant SaaS platform. This solution integrates a robust monolithic core with an array of microservices, using .NET 8, PostgreSQL, MongoDB, React, and AWS

    -Define the architecture and select appropriate technologies to meet project requirements.

    -Lead a multidisciplinary team consisting of Backend, Frontend, UI/UX, and DevOps specialists.

    -Create and manage tasks for all team members, ensuring progress tracking.

    -Conduct daily stand-up meetings to update the board and discuss next steps.

    -Review pull requests and ensure that the code meets the standards established in architecture and performance.

    -Design and implement design patterns, middlewares, and Backend-related tasks.

    -Perform unit tests using Xunit to ensure comprehensive project quality coverage.

    -Conduct interviews to assess candidates' alignment with company standards and project requirements.

  • March 2022 - December 2023

    .Net Developer - Arroyo Consulting

    -Take requirements from client

    -Create new API's and fix bugs

    -Collaborate with Frontend, Backend, QA, and Devops team.

    -Code review from others .Net developers.

    -Integrate the main app with external API's to make business decisions.

    -Working with web jobs to keep the same information between two different databases.

    -Create and improve stored procedures and query performance.

    -Carry out unit tests with Xunit to guarantee quality coverage of the project.

    Featured achivements

    -I gave technical talks in order to share the knowledge with the Backend team in the company. Some of my technical talks:

    When to use StringBuilder and their performance

    Validations in .NET (FluentValidation)

    -I made architectural decisions following the SOLID principles in order to decouple and cohesionate the modules.

    -I built middlewares and filters such as Authentication, Authorization with JWT and global exception handler.

    -I created a repository design pattern from scratch using reflection and ADO.Net as ORM in order to help the backend team to persist with the database easily.

    -I participated conducting technicals interviews to the new Backends candidates in the company, in order to verify their knowledge in different topics like OOP, C#, .Net, Design patterns, SQL, Scrum, Azure and Git.

  • July 2021 - March 2022

    Senior BackEnd Engineer - DigitalWare

    -Analyze the requirements received to define the solution.

    -Build the modules or parts of the Software to develop a quality product.

    -Create web services, functionalities and rules in BRM.

    -Make the necessary changes ensuring that it does not affect other customers.

    -Publish to repositories to maintain version control in the software.

    -Deploy new versions in test environments so that adjustments, improvements and developments can be tested by consultants.

    -Create new tables, variables and fields in the database to meet the functional requirements of the web services.

  • January 2020 - July 2021

    Full Stack Engineer - Softline S.A.

    -Create and implement database designs from scratch in SQL Server and PostgreSQL.

    -Create, implement and optimize stored procedures, triggers and functions using T-SQL and PostgreSQL.

    -I created a tool for my team in Python that receives as an input parameter a table from the database and this creates a functional API in .NET Core with its respective CRUD and stored procedures, which allowed us to save up to 70% time to create the backend.

    -Develop backend components to connect applications with web services in .NET Core and Dapper as ORM.

    -I created UI's Responsives using Flutter and Dart, which will run on the web and on mobile devices, also created the necessary models and methods to consume the APIs.

    -Create repositories on Github to facilitate version control.

  • August 2019 - December 2019

    Fellow developer - Ultracom IT S.A.S.

    -Develop custom objects, stored procedures and technical support for web applications with .Net and Sql Server

Education

  • 2020

    Software Engineering

    Software engineer - Universidad de Medellín