×
Mateus Freira

Mateus Freira

Principal Software Engineer and MSc Computer Science

Cesário parreiras 345 , Betim, Minas Gerais, Brazil, 32606092
USA: +1 831 216 8572 Brazil: +55 (31) 99953-6408
English, Portugues

Background


About

About

I am a passionate developer who loves to build solutions and solve problems, with knowledge in many programming languages, platforms, and frameworks. I have been working as a developer since 2007, and my experiences are from developing software as service (5 years), creating development tools (3 years), ERP solutions (3 years) and as a consultant developer in many projects (5 years), as a Tech Lead or as an individual contributor. I have strong experience with the following technologies: Node.js, React, Scala, Rust, Mobile(Android), Angular, MongoDb, Redis, PostgreSQL, Kubernetes, and Docker.

Work Experience

Work Experience

  • Principal Software Engineer, Radical Imaging

    2019-02-29 - Present

    [Remote] As a Principal, my mission is to spread the culture of test-driven development, metrics-driven performance, and evidence-based software engineering practices for all the teams in the products I work on.

    [Remote]

    2021-01 - 2022-08 Lead platform (backend) performance engineer Change healthcare

    My duties include finding and investigating platform scalability bottlenecks and mentoring and pairing senior engineers from all teams in Canada, the USA, and Israel to ensure the performance of the different components.

    As the performance Tech Lead engineer I delivered:

    • Built from scratch an open-source-based performance framework using Argo Workflow running on top of Kubernetes (GKE), making it scalable horizontally as needed. Moreover, running as a single test instance, I performed calling from a simple form and ran tests of several different technologies including but not limited to Jmeter, K6, Puppeteer and TestCafe.

    • Reduced the time to prepare performance tests from several hours to a few seconds with the click of a button.

    • Introduced the metrics-obsessed culture, leading front-end and backend engineers to create and watch performance metrics.

    • Built several Grafana dashboards to watch the performance on the Platform, Customer, and User levels; the same dashboards are used today from Dev to Prod to observe performance at all levels.

    • Provide glue work from Architecture, Development, and SRE teams. With expertise in all three areas, I help the information flow from all teams smoothly and help all to speak the same language.

    2019-11 - 2021-01 Tech Lead DevOps engineer Nucleus - acquired by Change healthcare

    As the Lead DevOps, I delivered, among other things:

    • Migrated all services from Azure to Google Cloud. After the Change Healthcare acquisition, I lead the migration of AKS to GKS(Google Kubernetes Service), Azure Blobs to Google Cloud Storage, and Azure Service Bus to Google PubSub.

    • Migrated the 4 major environments from legacy deployment using Azure VM to AKS (Azure Kubernetes Service), creating and reviewing all k8s service, deployments, and configmap definitions.

    • Built from scratch, the CD pipeline, including database migration, terraform/infra upgrade, image update, post-deployment functional tests running, and notifications in all steps.

    • Built from scratch, the Mongo database seeding infra to run natively in K8s.

    • Automated with Node.js, the Mongo reindex process reducing the time to reindex the database manually from 40 minutes to less than 10 minutes automatically. The process included two primary elections and several server connections orchestration.

    • Mentored the Development team in the migration from Mongo-based queue to Azure Service Bus and creating a service only dedicated to events processing.

    • Built a tool to generate diagrams of deployment environment in real-time for each release to avoid differences between design and reality in DevOps docs.

    • Built a monitoring infrastructure using Prometheus, Kibana, Grafana, and Linkerd (Service Mesh) to operate the AKS infrastructure in all environments.

    2019-02 - 2019-11 Tech Lead Nucleus - acquired by Change healthcare

    As the Tech Lead of a team of 4 engineers working in medical imaging applications development project, I delivered, among other things:

    • Developed a Medical device software distribution system from scratch in TypeScript, React, and Meteor.js.

    • Join the Nucleus app (Startup main product) team with the mission to introduce CI and tests practices. With a team of 3 SET created the API test frameworks for Nucleus openapitest, and built from 0 to +200 API test, fully covering the external API testing. Deliver +300 end-to-end tests in TestCafe integrated with CI and CD pipeline, introduced the concept of CI in Jenkins being the first team in the organization to fully use Jenkins.

    • Technology stack: Performance Engineering, Kubernetes, Google Cloud, Azure, NodeJs, React, Mongo, Dicom

  • Lead Software Engineer, Tenfold

    Feb, 2017 - Feb, 20192 years 1 month

    [Remote] I lead a team of four engineers, with the mission to improve the product and increase product performance metrics and the NPS score, also training, hiring, and mentoring the team member. I was the leader of a team for stabilizing the product to support the usage growth, after the stabilization moved to a product role, been responsible to delivery new integration (such as Sugar CRM, Dialpad, Salesforce, etc.) and core features.

    • Technology stack: Node.js, Angular, Mongo, Firebase, ElasticSearch, Kafka, AWS, Google Cloud and Kubernetes .

  • Software Engineer, Tenfold

    Sep, 2016 - Feb, 20175 months

    [Remote] My first challenge at Tenfold was to develop a new feature of email integration, using the email as data streaming to collect customers' interactions and sync this information with record systems like the CRM. The integration included https://context.io, google apps, office 365, and Salesforce APIs. Then I developed a new Gmail chrome extension to make all CRM information available on the Gmail interface. Then my next challenge on tenfold was to take part in a task force to improve the NPS and reduce to 0 the number of outages. As a part of this job, I took the responsibility to increase the backend code coverage to > 70% and also fixing some edge case bugs that only happened in the production environment. These two tasks give me a new vision of the code and system architecture, which soon made me a Lead Engineer.

    • Technology stack: Node.js, Angular, Mongo, Firebase, ElasticSearch, Kafka, AWS, Google Cloud and Kubernetes .

  • Software Architect , Teknsa (Zeedhi unit)

    Mar, 2013 - Sep, 20163 years 7 months

    I developed from scratch the primary product of the Zeedhi Framework company. That is a Full Stack solution to build web/mobile apps. My duties include working to ensure the proper scalability of the various applications that we are developing and supporting the web and mobile development teams. I also assist with the training of the work teams by helping train them, and implementing and deploying performance improvement with techniques and tools, such as GIT, TDD, CI, CD, DDD

    • Frontend : Persistence API (transparent persistence layer to IndexedDb/LocalStorage/Native storage).

    • Frontend : NativeInterface(provide access to native function on devices(Android, IoS) like camera, Location, bluetooth).

    • Frontend : Event based WebSocket API.

    • Frontend : Runtime engine to render UI from json (Users dont need to write HTML files to crete all the interfaces and all components are based on templates that can be reused)

    • Frontend : Many others apis to improve the development performance

    • Backend - ORM.

    • Backend - Message queue.

    • Backend - Cache

    • Backend - Restfull

    • Backend - WebSocket

    • Technologies: AngularJS, SASS, Compass, Moment, Grunt, Bower, Jasmine, Node, Memcached, Selenium, Oracle, Postgresql, ActiveMQ, Mongo, PHP and Java.

  • Co-Founder / Software Architect

    Mar, 2013 - Present

    Startup focused on the development of manager solution SAS, simple, agile and mobile first. My responsibilities were the business strategy, software architecture, after-sales, new technologies, new products and infrastructure manager (Linode, DigitalOcean, and Amazon). Desing and development of a system with Scala(Play e Lift), NodeJs (Express and Mongo) to backend and angularJs, jquery, handlebars Coffeescript for the frontend.

    • Technologies : Rust, Scala(Play and Lift) , NodeJs (Express and Mongo) to backend and angularJs, jquery, handlebars Coffeescript for frontend.

  • Software Architect

    Apr, 2010 - Feb, 20132 years 11 months

    I was responsible for the development of highly complex mobile systems for user localization and process automatization. I coordinated the development and deployment of new persistence and synchronization frameworks for mobile applications (Android and JME). I guided a front-end team to ensure the proper implementation of good user experience guidelines using HTML, CSS, Javascript, and mobile technologies. I created a workflow of mobile teams with the following tools: Jenkins, Github, TDD, CI.

    • Android

    • J2ME

  • Programmer

    Jun, 2009 - Mar, 20109 months

    I was in charge design and build a new metadata oriented web framework, with an engine to release for many devices with the same metadata base. Using PHP, Zend, Android, Java, Doctrine, Jquery, P4A, and Oracle. I ministered courses of object orientation and design patterns for other developers.

  • Programmer

    Sep, 2008 - Jun, 200910 months

    I was responsible for the development of an ERP for beauty salons in PHP and MYSQL. After three months, I was the lead developer of this product. I had delivered it to the first customer in 6 months.

Skills

Skills

  • Software Architect

    Scalability

    Performance Engineering

    Non-functional requirement

  • Developer

    Javascript

    Rust

    Sala

    Node.js

    React.js

    Kubernetes

    Elasticsearch

    Java

    PHP

    AngularJS

    Memcached

    Postgresql

    Kafka

    Mongo

    Java

Education

Education

  • Master of Science in Computer Science (M.S.C.S.), Master's, Pontifícia Universidade Católica de Minas Gerais

    Jun, 2016 - Dec, 2018

    Research in Understanding Developer's Sentiment Variations in Social Programming Network; Tools for mining software repositories

    Research Interests: Machine learn; Complex network; Natural language processing

  • Information Systems, Bachelor, Puc Minas

    Jan, 2007 - Jun, 2015

Publications

Publications

  • Using sentiment analysis to define twitter political users’ classes and their homophily during the 2016 American presidential election, JISA: Journal of Internet Services and Applications

    Published on: Nov 30, 2018

  • Analyzing The Impact Of Feedback In GitHub On The Software Developer's Mood, SEKE: International Conference on Software Engineering & Knowledge Engineering

    Published on: Jun 30, 2018

  • An Empirical Study on the Impact of Android Code Smells on Resource Usage, SEKE: International Conference on Software Engineering & Knowledge Engineering

    Published on: Jun 30, 2018

  • Utilizando Análise de Sentimentos para Definição da Homofilia Política dos Usuários do Twitter durante a Eleição Presidencial Americana de 2016, Brazilian Workshop on Social Network Analysis and Mining (BraSNAM)At: São Paulo, São Paulo, Brazil

    Published on: May 30, 2017

  • Development of a framework metadata based to creating RIA applications, a case study of use pattern metadata-based Graphical Component, Miniplop

    Published on: Sep 25, 2011

Interests

Interests

  • Development

    RustNodeJSMobileDistribute systemsReal Time