Ramon
Figueiredo

About Me

15+ years of experience in system development (proficiency in Python, Java, C, C++, SQL). More than 7 years working with Python (Django, Flask, Scikit-Learn, Tensorflow, Keras, PyTorch). More than 10 years of experience working with Java (Java EE, Spring Framework, Maven, Ant, Hibernate, REST Web-Services). More than 5 years of experience working with C and C++. Ramon is Oracle Certified Professional, and Java SE Programmer.

Ph.D. candidate in software and IT engineering at Université du Québec, École de Technologie Supérieure (Montreal / Canada). Master's degree in computer science at Universidade Federal de Minas Gerais (Brazil) and a bachelor's degree also in computer science at Pontifícia Universidade Católica de Minas Gerais (Brazil).

Studied and worked at the same time and kept high-grade scores during the bachelor's and master's degrees in computer science and Ph.D. in software engineering (GPAs: A, A, A+, respectively) and high performance delivered to the companies.

Some years of experience with Go, Rust, Scala, PHP, Ruby, Perl, C#, .Net, Visual Basic, Matlab, Scilab, Octave, R, JavaScript, TypeScript, React.js, Redux.js, Vue.js, Angular, Node.js, Databases (MySQL, Oracle SQL, PostgreSQL, Microsoft SQL Server), ElasticSearch, NoSQL Databases (MongoDB, Cassandra, HBase), Apache Spark, Hadoop, Kafka, unit test, Test-Driven Development (TDD), Cloud platforms (AWS, GCP, Azure), Docker, Kubernetes.

2 years working as a professor in two universities in Brazil: 16 different undergraduate courses in computer science. Courses taught: Software Engineering 1, Computer Programming 1 (C), Computer Programming 2 (Java, C++), Digital Image Processing, Compilers, Graph Theory, Web Technologies, Databases, Database Technologies, Computer Programming 1 (Matlab/Scilab/Octave), Requirements Engineering, Capacity Planning and Evaluation of Computer Systems, Software Testing and Maintenance, Undergraduate Thesis 1, and Undergraduate Thesis 2.

Ramon has experience in computer vision, machine learning, deep learning, image and video processing, development of industrial and enterprise systems (web systems and mobile systems), databases, software engineering, requirements engineering, software testing, software maintenance, recommender systems, information retrieval, automatic analysis of diving; sports data analysis, and sport science.

Problem-solving skills to significantly improve productivity and add real value to the companies. Passionate about learning and applying new technologies.

  • Residence Vancouver, BC, Canada

Resume

Education

Dec. 2023
Université du Québec, École de Technologie Supérieure (ÉTS), Montreal, Quebec, Canada

Ph.D., Software and IT Engineering

Research in computer vision, machine learning, deep learning, video processing. Research project of ÉTS, Institut national du sport du Québec, Mitacs, Own The Podium, Diving Canada.

Dec. 2015
Universidade Federal de Minas Gerais (UFMG), Belo Horizonte, Minas Gerais, Brazil

Master's degree in Computer Science

Research in computer vision, machine learning, content-based image retrieval. Research project of UFMG and LG Electronics.

Master's thesis (English): Low-cost visual feature representation for image retrieval

Jul. 2011
Pontifícia Universidade Católica de Minas Gerais (PUC Minas), Belo Horizonte, Minas Gerais, Brazil

Bachelor's degree in Computer Science

I was recommended for the student highlight award from the Brazilian Computer Society (SBC) in the computer science bachelor’s degree.

I received honorable mention for my undergraduate dissertation in computer science.

Undergraduate dissertation: Face detection and tracking in video using predictive filters (In Portuguese: Detecção e rastreamento de faces em vídeos utilizando filtros preditivos).

Experience

May 2023 -
Present
Sony Pictures Imageworks, Vancouver, BC, Canada

Senior Software Engineer

Senior Software Engineer at Sony Pictures Imageworks

Jan. 2018 -
Apr. 2023
Institut National du Sport du Québec (INSQuebec), Montreal, Quebec, Canada

Software Engineer / Full Stack Python Developer (Django) / Applied Artificial Intelligence Engineer

DivingFy system (system 100% created by Ramon): A web system for automatic analysis of diving.

The project aims to measure diver kinematics and diving board motions during all the phases of a dive (preparation, take-off, flight, and entry) to quantify the individual strategy used by top Canadian divers to achieve the best performance.

The whole DivingFy web system was developed in Django (Python web framework/model–template–views architectural pattern).

The system is using:

  • Computer Vision (OpenCV), Machine Learning (Scikit-Learn), Deep Learning (TensorFlow and PyTorch)
  • Python Web (Django), Django REST framework, HTML, CSS, Bootstrap, JavaScript, jQuery, Chart.js, PyCharm
  • PostgreSQL database, Docker, Ubuntu, Windows, Git, GitHub
Django:
  • Django models and database (PostgreSQL): Django models, queries, aggregation, search, managers, database access optimization.
  • Django HTTP requests: URL dispatcher, Django views, view decorators, file uploads, Django shortcut functions, Django generic views, middleware, Django sessions.
  • Django forms: HTML forms, Django form classes, Django form templates.
  • Django templates.
  • Django class-based views.
  • Django migrations.
  • Managing files: Django files and file storage.
  • Python/Django unit tests.
  • User authentication in Django.
  • Django's cache framework.
  • Django cryptographic signing.
  • Sending email with Django.
  • Django internationalization and localization.
  • Django logging.
  • Django pagination.
  • Security in Django: Cross site scripting (XSS) protection, Cross site request forgery (CSRF) protection, SQL injection protection, Clickjacking protection, SSL/HTTPS, Host header validation, Referrer policy, Cross-origin opener policy, Session security, User-uploaded content.
  • Django performance and optimization: Caching and database optimization.
  • Django settings and security.
  • Django signals: Defining and sending signals.
  • Django asynchronous support.
Oct. 2019 -
Jun. 2021
Accedian, Montreal, Quebec, Canada

Full Stack Java Developer (Java Web Technologies and Frameworks)

Design and build new J2EE (Java Enterprise) network management software. Provide a platform heavily focused on user experience, with intuitive and powerful APIs. Deployment in cloud architecture. Produce highly concurrent and performant designs that can manage thousands of sensors.

  • Java, design patterns, Maven, Ant, Spring Boot, Spring Batch, Spring Integration, Spring REST, Spring HATEOAS, Spring Security, Google Web Toolkit (GWT), SmartGWT, Jira, Jenkins
  • Apache Felix, OSGi, Apache MINA, JUnit, MySQL, MySQL Workbench, Hibernate, EJB, Virtual Machine, Docker, Kubernetes, Glassfish, Payara Server, JConsole, ThreadDumps, HeapDumps, JStack, JMap, JVisualVM
Jun. 2018 -
Oct. 2019
Ordigraphe Inc., La Prairie, Quebec, Canada

Full Stack Java Developer (Java Web Technologies & ReactJS) and Full Stack Python Developer (Flask)

Program computer solutions, according to the specifications established by the client. Actively participate in the integration and implementation of the software. Introduce new functionalities to already existing systems. Collaborate with the various stakeholders to carry out the follow-up of files. Prepare tests to develop the requested solutions.

  • Java, JavaEE, Spring, Maven, IntelliJ IDEA, Elasticsearch, MySQL, Node.js, React.js, Redux.js, macOS, Windows.
  • Develop back-end applications (architecture, stability, reusability, security, and performance).
  • Machine Learning (Scikit-Learn), Deep Learning (TensorFlow, Keras), Python (Flask), PyCharm, Docker.
  • Front-end (HTML5, CSS3, JavaScript and React.js). Git, GitLab, JIRA.
Participation in the following Ordigraphe’s projects:
  • June 2018 to October 2019: DataIntell system (50% developed by Ramon)
    • The DataIntell is an analytics and data management solution that helps you manage large amount of data.
    • Main Activities: Java Web Developer, developing new system modules, bug fix, tester, unit testing, MySQL Server, Elasticsearch, Docker, front-end development using React.js and Redux.js.
  • January 2019 to October 2019: Ordigraphe-AI system (100% developed by Ramon)
    • Ramon created and developed the first version of Ordigraphe-AI software. Ordigraphe-AI is a web framework written in Python with many artificial intelligence solutions, such as, natural language processing, machine learning and deep learning. Main Activities: Machine Learning (Scikit-Learn), Deep Learning (TensorFlow, Keras), Python, PyCharm, Flask Web Development framework, Docker, designing a RESTful API work with machine learning algorithms, communicating DataIntell with Ordigraphe-AI system, sending machine learning training information to the DataIntell system.
Apr. 2017 -
Jul. 2017
RFP systems

PHP Web Developer

Wedding website developed in PHP and MySQL with the option to buy gifts online (system 100% created by Ramon).

Jun. 2016 -
Jul. 2017
Centro Federal de Educação Tecnológica de Minas Gerais (CEFET-MG), Belo Horizonte, Minas Gerais, Brazil

Professor in the Computer Science department

Courses taught: Software Engineering 1, Computer Programming 1 (C), Computer Programming 2 (Java, C++)

Jan. 2016 -
Dec. 2016
Pontifícia Universidade Católica de Minas Gerais (PUC Minas), Belo Horizonte, Minas Gerais, Brazil

Professor in the Computer Science department

Courses taught: Digital Image Processing, Compilers, Graph Theory, Web Technologies, Databases, Database Technologies, Computer Programming 1 (Matlab/Scilab/Octave), Requirements Engineering, Capacity Planning and Evaluation of Computer Systems, Software Testing and Maintenance, Undergraduate Thesis 1 and Thesis 2.

Jan. 2014 -
Dec. 2015
LG Electronics, Belo Horizonte, Minas Gerais, Brazil

Computer Vision, Information Retrieval and Machine Learning Researcher

Research in Computer Vision, Machine Learning, Image and Video Processing, Content-based image retrieval.

Jan. 2014 - Dec. 2014: NPDIFindP system (100% developed by Ramon): A desktop system for automatic detection of inappropriate content (Python and Java).

Jul. 2014 - Dec. 2014: RI system (100% developed by Ramon): A search engine system to retrieval web pages based on keywords (similar to Google's first search engine in 1998). Designing, implementing and validating a search engine for the Brazilian Web (C++, HTML, CSS, Javascript).

Jan. 2015 - Dec. 2015: GoldenRetrieval system (100% developed by Ramon): A content-based image retrieval system (Python and C++). Given an input image the system retrieval similar images.

Sep. 2011 -
Dec. 2014
Accenture, Nova Lima, Minas Gerais, Brazil

Software Engineer (Java Web Technologies and Frameworks)

Specification, development and deployment of systems (Java EE / Oracle Database) to meet the requirements of Accenture's clients. Quality assurance to delivery and maintenance of software. Apply knowledge of technologies, applications, methodologies, processes, and tools to support the client and project. Lead other software developers (junior level and mid-senior level).

  • Java Web, Eclipse, JSP, JSF, Struts, EJB, Servlets, JDBC, Spring Framework, Ant, Maven, Web Services, HTML, CSS, JavaScript, Junit, TDD, Scrum, Jira, Git, SVN, Oracle database, SAP Netweaver, design patterns, bug fixes, and Windows.
Participation in the following Accenture’s projects:
  • December 2013 to December 2014: Gerdau - Manufacturing Execution System (PMN Gerdau system)
    • Main Activities: Java Web Developer, developing new system modules, bug fix, tester, unit testing, SQL Server.
  • November 2012 to December 2014: Villares Metals - Manufacturing Execution System (MIS Villares system)
    • Main Activities: Java Web Developer, system requirements specification, tester, unit testing, code refactoring, code reviews, Oracle database, system maintenance, coordinating and training Web Developer teams.
  • September 2011 to October 2012: Vale - World Wide Player in the Mining Industry (GPV Portos system)
    • Main Activities: Java Web Developer, developing new system modules, bug fix, tester, unit testing, Oracle Server.
Dec. 2010 -
Sep. 2011
Invent Vision, Belo Horizonte, Minas Gerais, Brazil

Software Developer (C/C++ and C#)

Develop computer vision systems (C++, C#, OpenCV, Visual Studio, Ubuntu, MySQL).

Dec. 2009 -
Oct. 2010
PUC Minas, Belo Horizonte, Minas Gerais, Brazil

Software Developer (C++)

Develop a system in C++ that tracks face in video (100% developed by Ramon).

Nov. 2009 -
Nov. 2010
Grupo VISION, Belo Horizonte, Minas Gerais, Brazil

Software Developer (C#) / Computer Network / Information Technology

C#, Visual Studio, Microsoft SQL Server, computer network, and Information Technology (IT) support.

Aug. 2009 -
Nov. 2009
Caixa Econômica Federal Bank, Belo Horizonte, Minas Gerais, Brazil

Software Developer (Java) / Information Technology

Java, Oracle Database, management of some bank systems.

Aug. 2009 -
Nov. 2009
Axial Medicina Diagnóstica, Belo Horizonte, Minas Gerais, Brazil

Software Developer (Java and C#) / Computer Network / Information Technology

Java, C#, Microsoft SQL Server, computer network and Information Technology (IT) support.

Jan. 2007 -
Jul. 2008
Futura - Professional Qualification, Belo Horizonte, Minas Gerais, Brazil

Information Technology teacher

Courses taught: Microsoft Office, CorelDRAW, Photoshop, Studio Max, AutoCAD, Visual Basic

Coding Skills

Artificial Intelligence (AI)

Machine Learning

Deep Learning

Machine Learning Algorithms

Scikit-Learn

Computer Vision

OpenCV

Natural Language Processing (NLP)

Data Science

PyTorch

TensorFlow

Keras

Python

Python Web (Django)

Python Web (Flask)

Java

Java Web

Spring Framework

Scala

C++

C (Programming Language)

Rust (Programming Language)

Go (Programming Language)

C#

Matlab

Scilab

Octave

PHP

Ruby

Perl

R (Programming Language)

JavaScript

Node.js

React.js

Redux.js

Angular

Vue.js

HTML

CSS

SQL

MySQL

PostgreSQL

Oracle Database

Microsoft SQL Server

NoSQL

MongoDB

ElasticSearch

Apache Kafka

Amazon Web Services (AWS)

Google Cloud Platform (GCP)

Microsoft Azure

Linux

Windows

Apple Mac OS

Git

GitHub

GitLab

Docker

Kubernetes

Unit Test

Test Driven Development (TDD)

Courses taught as a Professor in two universities in Brazil

PUC Minas (Jan. 2016 - Jun. 2016): Compilers

PUC Minas (Jan. 2016 - Jun. 2016): Computer Programming 1 (Matlab/Scilab/Octave)

PUC Minas (Jan. 2016 - Jun. 2016): Digital Image Processing

PUC Minas (Jan. 2016 - Jun. 2016): Graph Theory

PUC Minas (Jan. 2016 - Jun. 2016): Web Technologies

PUC Minas (Apr. 2016): Database Technologies

PUC Minas (Apr. 2016): Databases

PUC Minas (Jul. 2016 - Dec. 2016): Capacity Planning and Evaluation of Computer Systems

PUC Minas (Jul. 2016 - Dec. 2016): Requirements Engineering

PUC Minas (Jul. 2016 - Dec. 2016): Software Testing and Maintenance

PUC Minas (Jul. 2016 - Dec. 2016): Undergraduate Thesis 1

PUC Minas (Jul. 2016 - Dec. 2016): Undergraduate Thesis 2

CEFET-MG (Jan. 2017 - Jun. 2017): Computer Programming 1 (C)

CEFET-MG (Jul. 2017 - Dec. 2017): Computer Programming 2 (Java, C++)

CEFET-MG (Jul. 2017 - Dec. 2017): Software Engineering 1

Knowledges

  • Android
  • AngularJS
  • Ant
  • Apache Kafka
  • RabbitMQ
  • BitBucket
  • C#
  • C/C++
  • Caffe
  • Computer vision
  • CSS
  • Data Analysis
  • Deep Learning
  • Django
  • Docker
  • ElasticSearch
  • Flask Web development
  • Git
  • GitHub
  • GitLab
  • Go
  • Google Web Toolkit (GWT)
  • Hibernate
  • HTML
  • Image processing
  • Information retrieval
  • Java EE
  • Java
  • JavaScript
  • JIRA
  • JQuery
  • JUnit
  • Keras
  • Machine Learning,
  • Matlab
  • Maven
  • Microsoft SQL Server
  • MongoDB
  • MySQL
  • Natural Language Processing
  • Node.js
  • Octave
  • Oracle SQL
  • Perl
  • PHP
  • PostgreSQL
  • Python
  • PyTorch
  • R
  • React.js
  • Recommender systems
  • Redux
  • RESTful WebServices
  • Ruby
  • Scikit-Learn
  • Scikit-Learn
  • Scilab
  • SCRUM
  • Software engineering
  • Software testing
  • Spring Framework
  • TensorFlow
  • Video processing

Certificates

Machine Learning, Data Science and Deep Learning with Python

April 2020

Deep Learning A-Z™: Hands-On Artificial Neural Networks

January 2020

Intel® Edge AI Scholarship Foundation Course Nanodegree Program

January 2020

Machine Learning A-Z™: Hands-On Python & R In Data Science

October 2019

Python and Django Full Stack Web Developer Bootcamp

July 2019

PHP Object Oriented

July 2017

Preliminary English Test

November 2012

Oracle Certified Professional, Java SE Programmer

October 2012

Courses Taken

Applied Machine Learning

Winter 2020

ÉTS Ph.D Courses

Winter 2018 (DGA 1005: Directed readings), Summer 2020 (DGA 1031: Research Problem), Fall 2018 (DGA1032: Written Exam), Winter 2019 (DGA1033: Oral Exam), Summer 2019 (Research Activity), Fall 2019 (Research Activity)

Quantitative Methods in Experimental Computing Science

December 2014

Undergraduate Computer Science Courses

From July 2007 to July 2011

Portfolio

Contact

Vancouver, BC, Canada