Diego Leonardo Alfonso Avilan

👋 Hey, I'm Diego Leonardo Alfonso Avilan

I live in Colombia

As a Software Engineer with over 10 years of expertise in Java and recent experience in Go (Golang) stack development, I excel in designing, developing, and managing applications throughout their lifecycle—from requirement definition to product delivery. Proficient in leveraging project development frameworks such as Scrum and implementing software architectures like microservices. I am an avid machine learning / AI enthusiast continually expanding my skills in Python. My technical proficiency encompasses Spring/Boot/Cloud, reactive development, Angular, database management systems, AWS, GCP, Gradle, Maven, Git, asynchronous programming, multi-threading, Linux, and Docker. I am also committed to enhancing my leadership abilities.

Experience

  1. Go Developer - Architect

    Globant Globant

    Job Description:

    As a Go Developer - Architect , I have participated in a project for a health data and research platform - Designed and implemented scalable microservices using Go - Optimized repository queries and improved performance in different componets - Mentored junior developers and conducted code reviews - Collaborated with cross-functional teams to deliver high-quality software - Implement React components

  2. Senior software Engineer - Golang

    Wizeline Wizeline

    Job Description:

    As a Senior Software Engineer specializing in Go, I have contributed to a project for a platform that provides media content to end consumers. - Developed and maintained high-performance APIs (RESTful and gRPC) using Go - Designed and implemented scalable microservices - Optimized database queries and improved overall system performance - Collaborated with cross-functional teams to deliver high-quality software - Conducted code reviews and mentored. - Support operation of the authentication and authorization process for users of a media platform on services implemented in Go. - Update partners configuration on a media platform databases.

  3. Independent Golang Engineer Consultant

    Freelance Freelance

    Job Description:

    - Architect and implement robust Go applications for Kubernetes controllers, CLI tools, and microservice APIs. - Write clean, efficient Go code, integrating with relevant libraries, APIs (Kubernetes, external services), and system interfaces. - Implement testing strategies (unit, integration) and participate in code reviews to ensure reliability and correctness across project types. - Design and implement deployment artifacts and configurations for containerized applications (controllers, microservices) and package CLIs. - Identify and resolve performance issues and resource bottlenecks specific to each application type. - Diagnose and fix technical problems in development and production environments. - Clearly document designs, code, and usage, and communicate effectively with teams and stakeholders.

  4. Senior Member of Technical Staff

    VMWare By Broadcom VMWare By Broadcom

    Job Description:

    As a Senior Member of Technical Staff specializing in Go, I have contributed to a project for a platform that provides media content to end consumers. - Build an maintain the CLI and some of its plugins for the VMware Tanzu Platform. - Designed build and maintain different kubernetes controllers. - Built and maintain automated CI/CD pipelines on GitHub and internal Concourse CI/CD Pipelines using Docker, GCP and GitOps. - Build and maintain several internal tools to help the development of the products. - Release and generate documentation for different team products. - Mentored junior developers and conducted code reviews to ensure adherence to best practices and maintain high-quality standards.

  5. Backend JVM Engineer

    Addi Addi

    Job Description:

    - Owns the pieces of the platform that you architect, implement, test, deploy, monitor and fix on production. - Coordinate services using async queues and reactive programming with Java and Quarkus - Maintains and builds the required technical skills to fulfill the responsibilities. - Be a team level expert of a particular domain or specific components of the platform. - Design, propose and implement new features or fixed in the platform. - Build an maintain the back-end of a digital payments. - Help in the shaping of the bets on each cycle

  6. Senior Software Engineer

    Blanc Labs Blanc Labs

    Job Description:

    - Cloud development, using PCF (Pivotal Cloud Foundry), also Spring micro-services technology. - Design proposals for commercial lending platforms under architectural procedures and standards established. - Development and implementation of a software product for the banking sector. Participation in different phases of the implementation and development of it. - Definition of architecture, best practices and guideline of development for different micro-services used in this project. - Develop UI using Angular 8+ - Coordinate with business the task to be aligned with requirements and current development

  7. Senior Java Software Engineer

    Globant Globant

    Job Description:

    - Develop integration components with strong design patterns bases - Lead internal projects for sub components developed with Spring Integration - Development of micro-services with Java and Spring/Boot for aircraft maintenance - Development of different components to interact with async messaging services - Design and orchestration of different components - Coordinate with other teams the architecture and solutions proposals to be aligned where commons components exist - Create microservices, batch, lambdas for the client, this integrated with AWS services, artifacts and projects configuration, maintain legacy projects, integrate services with internal project libraries and services, support of teammates with problem solving and guide on the structure for the projects, document technical process and implementation. - BDD and TDD - Mentoring junior colleages

  8. Senior Product Engineer

    DragonTech Latinoamerica DragonTech Latinoamerica

    Job Description:

    - Improve and upgrade the current features in the platform for Contact Centers - Keep Asterisk and Java integration upgraded with latest stable releases - Add features to the existing in-house platform for Contact Center - Develop different contact center IVR flows with an in-house solution based on jBPM - On-site support - Maintain the PostgreSQL Database updated based on the requirements - Migrate the front end from jsp to jQuery libraries - Design and implement new modules for the in-house platform - R&D for new products to offer to Contact Centers - Development of a Licencing server for a subscription-based model - Lead internal projects

  9. Ingeniero Junior

    ITAC CO ITAC CO

    Job Description:

    - Meet the BAs and QAs so the development will be sync with the requirements - Development of user interfaces using Prime Faces for financial institutions - Develop integration back end modules between the platform and the banks using Java with different design patterns - Develop SQL scripts for the platform (SQL Server) and the corresponding JPA communications - Implement a full workflow for a process in my early days in the project

  10. Software Engineer

    SMS Americas SMS Americas

    Job Description:

    - Maintain the infrastructure (Apache, PostgreSQL, Linux Servers) and base scripts (PHP / Python) for each in/out message and the batch processing for massive messages generation - Update and develop new flows for SMS depending on the providers requests (games, trivia, subscriptions) - Monitoring and analysis of the platform performance and design strategies to improve it - Started the migration of the whole platform from PHP to JAVA to run in JBOSS server - Design and implement an interface to communicate with a TV provider to show interactive messages - Design and implement a mobile application for restaurant promotions - Support

Education

  1. Systems Engineer

    Manuela Beltrán University Manuela Beltrán University

    The Software Engineer from Manuela Beltrán University (UMB) is a well-rounded professional with the technical skills and abilities to meet the challenges of software development and management. They are distinguished by their capacity to design, implement, and maintain high-quality software systems, following international methodologies and standards. The UMB curriculum includes key areas such as software development, data science, and IT infrastructure, ensuring that graduates are prepared to work in diverse and dynamic environments. Furthermore, the UMB Software Engineer is committed to professional ethics and innovation, contributing to technological advancement and sustainable development in their field.

Skills
Technical Skills
Golang
Python
JavaScript
Java
SQL
GCP
Kubernetes
Docker
AWS
Git
Linux
AI
AI-agents
Certificates & Achievements
Working with Design Patterns in Go (Golang)
Working with Design Patterns in Go (Golang)
Udemy

Streamline your development by learning how common design patterns are implement in Go.

CKAD: Certified Kubernetes Application Developer
CKAD: Certified Kubernetes Application Developer
The Linux Foundation

Earners of this designation demonstrated the skills, knowledge and competencies to perform the responsibilities of a Kubernetes Application Developer. Earners are able to define application resources and use core primitives to build, monitor, and troubleshoot scalable applications and tools in Kubernetes. The skills and knowledge demonstrated by earners include Core Concepts, Configuration, Multi-Container Pods, Observability, Pod Design, Services & Networking, State Persistence.

The Complete Guide to Becoming a Software Architect
The Complete Guide to Becoming a Software Architect
Udemy

The most comprehensive guide that will make you a Software Architect, the most desired role in the software industry.

Go: The Complete Developer`s Guide (Golang)
Go: The Complete Developer`s Guide (Golang)
Udemy

Master the fundamentals and advanced features of the Go Programming Language (Golang)