Telecommunication Engineer and Developer
A telecommunication engineer with a wide range of technical capabilities, Borja has over seven years of experience working in the international environment and developing projects fully in English with people from different countries, both remotely and on-site. He has worked with various technologies, from low-level Linux embedded systems to cloud servers. One of Borja's strengths is having both a general overview and a detailed approach and understanding of the topic addressed.
ExperienceJava - 10 yearsLinux - 10 yearsSoftware Architecture - 6 yearsInfrastructure as Code (IaC) - 5 yearsAWS DevOps - 5 yearsMongoDB Atlas - 5 yearsDevOps - 4 yearsKubernetes - 3 years
Linux, IntelliJ, Emacs
The most amazing...
...project I've defined and developed is a cloud real-time management system for routers that handles millions of devices.
Co-founder and Chief Technology Officer (CTO)
Colada App SL
- Deployed an AWS infrastructure using Terraform and Kubernetes. Implemented a CI/CD system using GitLab CI and best general practices to allow fast and secure deployments.
- Maintained a monitoring system based on the Grafana framework with an alert configuration.
- Developed a mobile app, enabling people to order laundry and dry-cleaning services from nearby people or businesses.
- Defined and developed a microservices backend using a WebFlux reactive programming solution on the Spring framework.
- Implemented base libraries to carry out different use cases, such as the async communication between services using Amazon SQS or Amazon SNS solution, persistent scheduling via the Quartz framework, or reactive lock implementation with Hazelcast.
- Provided the internal support web development based on the Vue.js framework, allowing management and support teams to easily handle tickets opened by clients.
- Oversaw native Android app development in Kotlin. Developed new functionalities, like A/B testing and payment integration with Google Pay.
- Worked on task identification, definition, and prioritization for a router cloud management system. Coordinated and helped back-end and embedded software teams using the Agile methodologies to deliver new functionalities regularly.
- Proposed and implemented different architecture changes for a legacy and POC-only tested component. These changes allowed the solution to scale from hundreds of devices to millions. It also reduced the expected infrastructure costs by up to 30%.
- Performed as customers' point of contact for troubleshooting via a ticketing system.
IoT Software Architect
Fon Technology SL
- Worked on the architecture design for Fon smart wifi, managing over 700,000 customer premises equipment (CPE) per ISP, handling more than five million events per day.
- Defined, developed, and validated a microservices server back-end architecture based on the Java Spring framework and deployed in AWS using ECS container orchestration. Defined and maintained a REST API using an OpenAPI specification.
- Developed router-to-back-end communication using MQTT protocol and deployed it using VerneMQ.
- Worked on task identification, definition, and prioritization for a router cloud management system. Coordinated and helped the back-end and embedded software teams using the Agile methodologies to deliver new functionalities regularly.
- Investigated, evaluated, and selected the necessary technologies or a framework to fulfill the requirements from the product management department.
Embedded Linux Engineer
Fon Technology SL
- Developed a wifi router called Gramofon with an integrated music player by porting a third-party audio application.
- Leveraged open-source projects to reduce costs using the Linux-based router operating system OpenWrt for products based on MIPS and ARM.
- Gained experience with several wifi drivers, both open-source, such as nl80211 and ath9k, and proprietary, such as MediaTek and Qualcomm.
- Implemented a user space application in C to interact with several wifi capabilities, such as 802.11k, 802.11v, and 802.11r of several drivers.
- Reduced the third-party integration time by rebuilding a Linux user space daemon in C that implemented wifi hotspot functionality and a HAL.
- Programmed several user space daemons interacting with the kernel using Netlink, ioctl system call, proc filesystem, and other Linux interfaces.
Research and Development (R&D) Engineer
Fon Technology SL
- Built a wifi location-based service to implement a wifi probe-request monitor user space application in C.
- Integrated third-party solutions to own products, like a Facebook wifi hotspot functionality for the OpenWrt system.
- Investigated, analyzed, and developed the proof of concepts for new technologies and solutions for new and existing products in the company’s portfolio.
- Helped push the company's interests in industry standards by participating in forums, such as WiFi Alliance (WFA) or Wireless Broadband Alliance (WBA).
Real-time WiFi Management System
The system had two main parts. The first one allowed to manage through MQTT millions of devices of different brands using the same APIs. These APIs were used by mobile applications and internal customer support web systems. The second part implemented functionalities to optimize customers' home WiFi usage using various standards and proprietary mechanisms. Some of these functionalities were controlled in the cloud, which meant managing several thousand events per second.
One of the big challenges of this system was to scale from a proof of concept of 200 devices to several million devices at the same time. To achieve this, we made several changes, such as adding a dedicated MQTT server. Several use cases were refactored so that they were handled asynchronously, making horizontal scaling possible. We also implemented several optimizations around our main database, MongoDB, to be able to handle all the data received in the cloud.
With these changes, in less than five months since we started the first deployment, we achieved a solution that managed more than two million devices and allowed us to continue adding more.
Migration to Kubernetes
Laundry Service Apphttp://www.colada.app
Some of the features of the solution are authentication with Google/Facebook, management of schedules and delivery area of orders, payment through Stripe, invoice generation, management of courier service with third-party providers, an in-app chat for customers-shop communication, coupon handling, and a notification system.
The biggest challenge was to make the user experience consistent and avoid bugs or crashes. We used an "API first" approach, which led us to define the API using OpenAPI and generate code from that definition. This allowed us to review changes and detect possible incompatibilities in the API before implementing them in code. We separated the functionalities into microservices and internally into different "services," simplifying adding new features. We also had a very high level of test coverage(>70%). Finally, implemented several alarm and monitoring mechanisms over the Grafana stack to detect any problem in the servers, which enabled us to react quickly to any incident.
Our app had a very high rating (>4.5) in the app stores and an almost non-existent number of bugs.
Local Development Efficiency Improvement
Furthermore, I improved packer configurations to interact with custom-made images hosted in AWS and added a cloud logging solution to aggregate logs from different sources.
Telegram Chatbot | Healthcare
Terraform and CI/CD for API Gateway/ECS/MongoDB Atlas Stack
Spring, Swagger, Spring Boot, OAuth 2, gRPC, Serverless Framework
REST APIs, Amazon EC2 API, Stripe, Terragrunt, Vue, Node.js, Telegram Bot API, Telegram Messenger API, React
Terraform, MQTT, MongoDB Atlas, Amazon EKS, GitLab, GitLab CI/CD, Grafana, AWS Simple Notification Service (SNS), Amazon Simple Queue Service (SQS), Git, GitHub, Amazon Virtual Private Cloud (VPC), CircleCI, Amazon Elastic Container Service (Amazon ECS), Amazon Simple Email Service (SES), Traefik, NGINX, Docker Compose, Docker Hub, AWS IAM, Amazon CloudFront CDN, Jira, AWS ELB, Android Studio, IntelliJ, Emacs, RabbitMQ, AWS CLI, HashiCorp, SonarQube, Amazon CloudWatch, Confluence, Artifactory, Helm, Ansible, Packer, Jenkins, Puppet, Keycloak, Azure Kubernetes Service (AKS), Azure Network Security Groups, Azure Key Vault, Amazon Cognito, Sentry
DevOps, Continuous Delivery (CD), Automation, Event-driven Architecture, Continuous Deployment, Continuous Development (CD), Continuous Integration (CI), Design Patterns, Microservices, REST, Load Testing, Microservices Architecture, Agile, DevSecOps, Serverless Architecture
Linux, Kubernetes, Docker, Amazon Web Services (AWS), Amazon EC2, Firebase, Amazon, AWS ALB, AWS NLB, Android, OpenWRT, AWS Lambda, DigitalOcean, Azure, Apache Kafka
NoSQL, Redis, Cloud Deployment, MongoDB, Database Migration, Amazon S3 (AWS S3), Relational Databases, MySQL, PostgreSQL, Datadog, Azure Blobs
Network Security, Security
Software Architecture, WiFi, TCP/IP, Network Protocols, Prometheus, CI/CD Pipelines, AWS DevOps, Architecture, Networks, Loggers, Identity & Access Management (IAM), AWS Cloud Architecture, Site Reliability Engineering (SRE), Startups, Back-end, DevOps Engineer, Shell Scripting, Monitoring, Networking, Web Security, Cloud Infrastructure, Load Balancers, Elastic Load Balancers, Container Orchestration, Web Applications, Cloud, Web Hosting, Infrastructure as Code (IaC), Cloud Security, Cloud Architecture, OAuth, API Gateways, DNS, Content Delivery Networks (CDN), Storage, Infrastructure, APIs, SSL, System Architecture, Scalability, Scaling, Amazon RDS, Cost Reduction & Optimization, Autoscaling, ECS, Containers, Caching, AWS Auto Scaling, Distributed Systems, Spring Cloud, Containerization, Firewalls, Cloud Migration, Proxies, IT Infrastructure, Cloud Computing, AWS Certified Solution Architect, Packet Communication, Network Optimization, SSL Certificates, eCommerce, Cost Cutting, Lambda Functions, Telemetry, Network Engineering, Configuration Management, GitHub Actions, Software, IT Services, Business Services, Azure Virtual Networks, Azure Virtual Machines, Scraping, Telegram Bots, Windows Network Load Balancing (NLB), Amazon Route 53, Full-stack
Master's Degree in Telecommunications
Faculty of Engineering Bilbao - Bilbao, Spain
AWS Certified Solutions Architect Professional
Amazon Web Services
Microsoft Azure Administrator