Resume

Name E-mail
Orlando Brea orlando.brea@gmail.com

Results-oriented and innovative Senior Software Engineer with 20+ years of experience. Easily communicates complex technical requirements to non-technical stakeholders. Excellent leadership record of leading development teams in enterprise-wide development projects. Also an Open Water swimmer that loves the challenging situations that appear when swimming in open waters.

Experience

Developer | DevOps | SRE, Subsecretaria de Salud de Neuquén, Argentina – March 2020 - April 2023

  • Create and maintain Jenkins pipelines and Ansible playbooks (Jenkins, Docker, Ansible, Cypress)
  • Deploy and maintain a 6 Kubernetes clusters On Premise with Rancher (Rancher, VMWare VCenter, Unity Storage)
  • Migrate to kubernetes, a complex system composed of many Apps for managing patient images (PACs - OSS project DCM4Che). Create the manifests, change the App behavior, build the new docker images, include a PACs viewer (OHIF) and create a Rancher App. Create another version for clusters with fewer resources (without ELK stack).
  • Contribute to the OHIF viewer project fixing a bug (React)
  • Create a Sync App in Kubernetes to sync between Trello dashboards (NodeJS, Kubernetes)
  • Dockerize and move to Kubernetes many apps
  • Prepare a new Load Balancer and Reverse Proxy (NGINX) and create dashboards in Grafana to monitor services performance (NGINX, InfluxDB, Telegraf, Grafana, GeoIP)
  • Apply CI/CD canary releases to the Migration Dashboard App (ArgoCD, Drone, Docker, Kubernetes, GitOps)
  • Implement Service Mesh in a development cluster to monitor traffic and services performance issues (Linkerd)
  • Design and develop an App for monitoring migrations of patient laboratories to a central database (NodeJS, Ramda, Angular). Integration with PTRS to check server connectivity.
  • Create a Kubernetes RBAC and Cronjob to check space left on some deployments and send an alert using PagerDuty in case a threshold is exceeded (Kubernetes, NodeJS, Kubernetes Client JS library)
  • Detect issues in the jenkins testing pipeline, and fix them
  • Change the Laboratories sync process, instead of having a central server retrieving studies, each laboratory is responsible for sending its data.
  • Create an ansible playbook to request and deploy LetsEncrypt certs to different servers (Linux and Windows)
  • Create and dictate courses of Docker and Kubernetes to the DevOps Team.
  • Configure AWS SNS and S3 to be used by the DEV Team
  • Introduce and implement RCA (Root Cause Analysis) documents to learn from failures
  • Test different Kubernetes Storage providers to choose the best for the company requirements
  • Monitor and manage kubernetes incidents (storage, downtime, failures)
  • Guided teams during continuous integration / continuous delivery (CI/CD) processes.
  • Executed troubleshooting and server support in both in-person and remote situations.
  • Authored technical guidance explainers on systems for use by senior leadership.
  • Contributed to OSS projects Andes and OHIF viewer
  • Fixed bugs in Apps in .NET, JavaScript (React, NestJS)
  • Propose software architecture improvements and solution architecture transformations to attend business needs
  • Designed and developed an App for importing data into medical devices (Fluorometer) and manage exported information (NestJS, Angular)
  • Designed and developed an App for monitoring migration of patient laboratories to a central database (NodeJS, Ramda, Angular). Integration with PTRS to check servers connectivity.
  • Created a Kubernetes RBAC and Cronjob to check space left on some deployments and send an alert using PagerDuty in case a threshold is exceeded (NodeJS, Kubernetes, Kubernetes client for JS)

Technical Leader, XSide Argentina – June 2021 - October 2022

  • Participate in the career definition for each DEV (11 in total)
  • Create the learning paths (videos, material, projects) needed to
    achieve their yearly technical goals
  • Create a mobile app architecture and boilerplate in React Native +
    Redux + SAGAS, so the team has a foundation from which they can
    work from
  • Support the DEV team to resolve complex problems and
    stacks/patterns they didn’t work before
    • CQRS
    • Hexagonal Architecture
    • BFF
    • Redis as a search database
    • Terraform
    • AWS (lambda, SQS, API Gateway, EC2, S3)
    • Azure (App Service, deployment)
  • Recruiting: technical interviews (JavaScript, React, Node, Angular, and
    support in other technologies as JAVA and .NET)
  • Code reviews and suggest improvements
  • Attend and support the owners and sellers at their client meetings.
    And suggest the team needed to achieve the client goals.
  • Identify technical faults, suggest solutions and implement them
  • Work closely with the Team Leader to anticipate project issues, know
    technical issues, and suggest the best developer for each project.
  • Create and maintain build pipelines in AWS
  • Create alerts for monitoring AWS running apps
  • Create and maintain Terraform files (AWS and Azure)
  • Automate infrastructure creation in Azure using Terraform to create an environment per client in a SaaS solution (each tenant had its own resources)
  • Define projects and deployment architecture in AWS and Azure
  • Participate with a customer in pre TRB meetings helping, from the technical perspective (AWS Architect and DevOps), to explain the project Architecture, defend the project, suggest ideas, and prepare documents to reflect changes requested (AWS, Terraform). This pre TRB meetings were for one of the biggest supply chain companies (in English)

Sr. Fullstack Developer, XSide Argentina – 2019-2021

  • Health system app (ReactJS):
    • Create the project baseline and Architecture
    • Participate in the communication definition
      (Backend/frontend) and backend driven UI definition
    • Create the most complex components in React using
      abstraction so they can be rendered depending on the
      backend response (totally backend driven, including
      fields in forms, data in tables, sorting, actions, etc)
    • Improve the grid component so it can handle thousands
      of cells using Virtual tables and working with profilers to
      improve every call
    • Participate in the app - component integration using
      NPM packages distributed in a private registry
    • Re-design the components to match the new UI
  • Change the default way that Ant Design renders tables
    so it can support the virtual table rendering
  • Credit score site - Top 3 credit rating companies in the world (Drupal)
    • Fix pentesting issues with one of their main Apps made
      with Drupal
    • Add SSO using Okta as the provider
    • Add new features and fix issues (code and UI)
  • Access control App for private neighborhoods (React Native + ReactJS
  • Django)
    • App onboarding (take control off the app code left by a
      previous development team - with no documentation)
    • Fix React Native app issues (bugs)
    • Add new features to App (adding new features to React
      Web, React Native and Django server)
  • E-commerce site with price estimations online (Drupal + React + JS)
    • Develop a server structure, logic, and code to manage
      the client complex price estimation process
    • Develop a price estimator client in vanilla JS (AJAX)
    • Develop a quote list management in ReactJS (
      Debouncing requests)
    • Create the CD/CI environment for UAT/Staging and
      Production (Docker + AWS CodePipeline)
  • Attend to meetings with the design team and clients located in the
    USA and UK

Professor, Universidad Tecnologica Nacional (National Technology University)- Facultad Regional Buenos Aires, Buenos Aires, Argentina – 2016-2021

Train students in new web tecnologies and programming languages

  • Course “PHP and MySQL Expert”: I have created this course and train students to improve their programming skills. Some topics of the course are: Introduction to programming, Introduction to PHP, Functions in PHP (math, string, images), Introduction to DataBases (MySQL), DataBase advanced topics (Triggers, Transactions, Prepared statements), Object Oriented Programming, PHP Frameworks (Slim, CodeIgniter, Eloquent ORM), PDF generation, Client side languages (JavaScript, JQuery, Angular 2).
  • Course “Professional Webmaster”: I train the students in web tecnologies. Some topics of the course are: HTML5, CSS, SASS, Bootstrap, JavaScript, JQuery, First steps in PHP, WordPress, MySQL.
  • Course “Fullstack Developer“:: I train the students in web tecnologies (this course main focus is in developing programming skills). Some topics of the course are: Node JS, ExpressJS, Handlebars, Angular, TypeScript, OOP, MongoDB.

Trainer InCompany

MercadoLibre (Ebay associate in Argentina) - Argentina 2017

Created course and trained workers in a new stack framework NodeJS, Jenkins, Grunt, Docker. Course with onsite students and remotely connected ones (more than 40 participants).

Buenos Aires Police Forces - Argentina 2018-2019

Created courses and trained workers in

  • PHP from basics to advanced: Laravel, OOP, Design Patterns, REST API.
  • SQL Performance optimization: query optimization, how SQL Server works, performance tunning, performance monitoring.
  • VB.NET programming: design patterns, JQuery, Windows Services
Buenos Aires Statistics Department - Argentina 2019

Created course and trained workers in IONIC framework and Angular development, for creating mobile applications for Android and IOS.

Team leader – FUERZA ARMADA DE LA REPUBLICA ARGENTINA (Argentine Armed Forces) – Argentina — 2016-2017

Team leader (4 developers), developer, and SCM. Project: Software to manage graduates for the Fuerza Armada Argentina

We could reach all the project deadlines, and improve the documentation that was delivered by the client. I am managing a team of 4 remote developers with great success (mainly using slack, remote meetings, and online collaboration tools). My main roles were: creating and distributing tasks to developers, requirements documentation, create diagrams for better features and communication understanding (UML), verify that the software meets the client requirements, Jenkins administration, create and maintain Jenkins pipelines, Software Configuration Management, migration scripts, development server administration, and development of complex modules.

Technologies

Grails, Angular 2, SQL Server, NodeJS, Jenkins, Jenkins.

Challenges
Challenge Context How I resolved it
Find the best SDLC for the project It was an heterogeneous team (with different hours/week availability) and needed to meet the deadlines I choose to use an agile aproach, using 4 weeks iterations. That helped me to distribute tasks for each team member (taking into account the availability and expertise of each member) and check the project progress.
Select the best programming languages and tools for the project It was an heterogeneuos team I structure the project using a RESTful approach. Choosing GRAILS for the server side, and Angular 2 for the client (the DBE was SQL Server and was a Client restriction). I have being working with GRAILS before, and have many Angular 1 projects, so I create a base project that could manage all the basic CRUD operations (for the server side, and client side).
I create the documentation of the RESTful services using Swagger because it was a mature solution with many utilities (for example, export to PDF)
We use Trello for tasks management and GIT repositories with Pull Request for merging. I created a Continuos Integration approach using Jenkins to guarantee the quality of the code uploaded to the GIT repository (all the pull request where tested automatically by Jenkins)
Manage delays in the client (customer) / Armada Argentina The client couldn’t have the hardware on time I have to manage with the client a new job schedule taking into account the delay. The project was already in progress, so adding more people to the project wasn’t and option to meet the previous schedule (when a project is already running adding more people creates more overhead and doesn’t help to reduce times, and it also increment the total project cost)



Owner/Developer, Smartsol, Buenos Aires – Argentina – 2004-2020

Created innovative and easy to use software for the print industry.

Software developed

Wichi (Numbering software for the print industry – Web application SPA)

We have Designed, Developed and Implemented a numbering software on AWS ( Docker containers inside EC2 instances). This software reduced the time taken by the print industry to do numbered tickets (by a 50%), and costs (by a 50%).

Technologies

GRAILS, AngularJS, MongoDB, NGINX, Jetty, Ansible, Docker, HTML, CSS, REST API.

URL

https://wichi.smartsol.com.ar

Challenge Context How I resolved it
Find the best technology for the project We needed to create a SAAS that could manage multiple users and PDF creation (and image merging) I research the best tools for PDF and image manipulation, so I choose to create the server in JAVA language, because it has a lot of libraries and documentation. To reach a high performance application and smooth user experience I choose to use a RESTful communication between the client and the server, creating a SPA (Single Page Application)

FactureYA (Invoicing software for the print industry – Web application SPA)

We have Designed, Developed, and implemented the software on AWS EC2 (using Docker containers).

Technologies

Grails, AngularJS, MySQL, HTML, CSS, SASS, GRUNT, REST API, NGINX, Jetty, Docker, Ansible.

Challenge Context How I resolved it
Integrate with a Government API We needed that our SAAS invoicing system communicate with the new Government SOAP API for creating invoices I have read all the Government SOAP API documentation to find which services where the ones that where needed for this project, and create a special interface service on our SAAS that could manage all the communication (this allows to change only one module on the system if the Government make changes on their API)

Mapuche v1, v2, v3 (Cost estimating software for the print industry)

We have designed, developed and implemented a desktop software (versions 1 and 2), and web application (version 3) that improves the time needed to complete a cost estimation by 75%. We had to implement advanced algorithms to find the best way to cut paper and reduce waste.

Technologies

Delphi, Access, Firebird, Grails, Angular 2, REST, HTML5, CSS, SASS, GRUNT, Jenkins.

Challenge Context How I resolved it
Find the best way to cut the paper In the print industry selecting the best way to cut a paper reduces costs and makes the difference between gaining or loosing an estimation I take a course in Fundacion Gutenberg that covers all the cost estimation process in the print industry, that allowed us to get a better understanding of the main problems and what should be taken into account. Then we manage to create a software, using all the knowledge taken from the course, that could create the best cost estimation for the client, taking into account the paper waste, machines, and proceses.

SAV (Custom development – Desktop and web application)

We have gathered client requirements, designed, developed and implemented a web software to collect sellers’ orders, validate them, and manage the flow of the order inside the company. This software allowed the company to process orders 80% faster, decrease human errors, and provide an easier and faster way to fullfill the sellers needs.

Technologies

Delphi, PHP, AJAX, HTML, JavaScript, MS SQLServer, Apache

Social Skills

convert client requirements to a fully functional software. Manage change and communicate the client impact of every change requested

Tobas (barcode generator – desktop application for PC and MAC)

I have developed the software following the Argentinian laws that specified the barcode structure. We had a market opportunity that needed to beed fulfilled in less than 2 months, so both systems (PC and MAC) were developed meeting the market deadline. This software had such a good impact on the print industry, that we have been interviewed by the most popular print industry magazine in Argentina.

Technologies

Delphi, JAVA.

Publications

Education

The Linux Foundation; JSNAD (Open.JS Node.js Application Developer); 2023

The Linux Foundation; JSNSD (Open.JS Node.js Service Developer); 2023

AxonIQ; Online; Implementing DDD, CQRS and Event Sourcing with Axon; 2022

HL7 Argentina; Online; HL7 FHIR Fundamentals Course; 2021

IGIP – Buenos Aires, Argentina – International Engineering Educator – 2018

Fundación Gutenberg – Buenos Aires, Argentina – Cost estimation for the Print Industry – 2007

Universidad Tecnológica Argentina – Facultad Regional Buenos Aires, Buenos Aires, Argentina – Ingeniero en Sistemas de Información (equivalent to Master of Engineering in System Engineering) – 2004

Skills

  • Languages: English and Spanish (main language)
  • Managing teams with different skills
  • Great listener and teacher
  • SDLC: Waterfall, SCRUM, Agile programming, managing remote teams

Technologies

Language From - To Total Years
JavaScript 2001- 22
TypeScript 2015 - 8
ReactJS 2018 - 5
Angular 2015 - 2018 3
AngularJS 2012 - 2015 3
JAVA/Groovy 2005 - 2018 13
PHP 2001 - 2022 Fulltime ~5
CSS/HTML 2001 - 22
SASS/LESS 2014 - Fulltime <1
GO 2017 - 2017 0.25



Technology From - To Total Years
Docker 2015 - 8
Kubernetes 2019 - 4
AWS 2013 - 10
Azure 2022 - 1
Serverless 2018 - 5
GCP 2018 - Fulltime ~1
Terraform 2022 - 0.5
Ansible 2013 - Fulltime ~1.5
Restful 2012 - 11
MySQL 2001 - Fulltime ~3
MongoDB 2015 - Fulltime ~3
SQLServer 2017 - Fulltime ~2
  • Hobbies: swimming in open water, golf