Guilherme Stiebler, Developer in Vancouver, BC, Canada
Guilherme is available for hire
Hire Guilherme

Guilherme Stiebler

Verified Expert  in Engineering

Software Developer

Location
Vancouver, BC, Canada
Toptal Member Since
December 12, 2016

Guilherme is a software developer with a solid background in scientific computing. He has also experience in entrepreneurship and team management. He is passionate about creative problem solving and the design of algorithms. In the last years, Guilherme focused on the design and coding of simple, beautiful, and highly maintainable code.

Portfolio

GroupIn
Firebase, AWS Lambda, GraphQL, MongoDB, ECMAScript (ES6), JavaScript, Redux...
Performitiv, LLC
Docker, Elasticsearch, ECMAScript (ES6), JavaScript, MongoDB, Node.js, Vuex, Vue
Pura Cozinha
MobX, MUI (formerly Material UI), Docker, Node.js, MongoDB, GraphQL, TypeScript...

Experience

Availability

Part-time

Preferred Environment

MacOS, Visual Studio Code (VS Code)

The most amazing...

...algorithms I've created were the plate location and character segmentation algorithms for an automatic license plate recognition system.

Work Experience

Software Developer

2018 - PRESENT
GroupIn
  • Created a mobile messaging app from scratch.
  • Architected the application and database servers to easily scale to handle peaks of usage.
  • Implemented mobile notifications with Firebase for iOS and Android.
Technologies: Firebase, AWS Lambda, GraphQL, MongoDB, ECMAScript (ES6), JavaScript, Redux, React Native

Software Developer

2017 - PRESENT
Performitiv, LLC
  • Implemented global search using Elasticsearch.
  • Promoted the adoption of Scrum practices.
  • Promoted software development best practices, and adoption of ES6 features.
  • Optimized MongoDB queries.
  • Rewrote parts of the system from AngularJS to Vue/Vuex.
  • Wrote unit and integration automated tests.
Technologies: Docker, Elasticsearch, ECMAScript (ES6), JavaScript, MongoDB, Node.js, Vuex, Vue

Lead Developer

2018 - 2018
Pura Cozinha
  • Created a marketplace to connect customers with people cooking from home, from scratch to the MVP stage.
  • Implemented responsive Material-UI interfaces to be used in multiple devices.
  • Created and implemented an algorithm to match customers to the producing kitchens, in JavaScript.
  • Implemented automated tests covering everything from the state management in the front end down to the database.
  • Managed another engineer remotely.
Technologies: MobX, MUI (formerly Material UI), Docker, Node.js, MongoDB, GraphQL, TypeScript, React

Software Developer

2017 - 2017
Delmic (via Toptal)
  • Implemented the reading of tiled images and sub-images from TIFF files on PyLibtiff.
  • Implemented on-demand loading of large TIFF files on Odemis, a software for visualizing microscope images.
  • Implemented a plugin for Odemis to align microscope images from different sources, using OpenCV matching algorithms.
  • Implemented automated tests for all developed features.
Technologies: Linux, OpenCV, C, NumPy, Python

Co-founder and Software Developer

2015 - 2017
E&P Brazil
  • Built business intelligence software from design phase to launch.
  • Developed architecture to allow adding new types of information with minimum programming.
  • Created a tool that allows users to dynamically create charts to visualize data with Google Charts.
  • Developed visualization of geolocated objects using Google Maps.
  • Built TypeScript interfaces for all network communication between the client and server. It allows the TypeScript compiler to check consistency in the data structures that are passed between the client and the server.
  • Wrote unit, functional, and Selenium tests.
Technologies: Google Chart API, Google Maps, Docker, MySQL, Express.js, React, Node.js, TypeScript

Software Developer

2009 - 2016
Tecgraf
  • Led the architecture design of a finite element method physics simulator.
  • Worked on a 3D seismic visualizer using OpenGL.
  • Led the group that implemented automatic testing, tool selection, and process determination.
  • Developed on-demand loading of large seismic files. The startup of the software after loading a large file changed from several minutes to seconds.
  • Led the adoption of an object-oriented approach for the development of common GUI elements in the system.
  • Developed an algorithm for riser interference detection with complexity of O(n log n + m log m). The previous algorithm had O(n2 + m2) complexity.
  • Analyzed a poorly documented and engineered 25-year-old FORTRAN code, and converted it to a well structured, object-oriented C++ code.
Technologies: Linux, CMake, Git, Boost, Eclipse, Visual Studio, Qt, OpenGL, C++

Founder and Software Developer

2007 - 2008
Quasar Group
  • Created and developed the Cableway software. It reads CAD files, processes them, and shows several reports.
  • Implemented an OpenGL 2D viewer for CAD files.
  • Designed the cable route code based on the Djikstra algorithm for the Cableway software.
  • Developed the integration with a CAD reading library.
  • Managed the development of an ERP based on Ruby on Rails and Adobe Flex.
Technologies: MySQL, Adobe Flex, Ruby on Rails (RoR), Ruby, OpenGL, C++

Co-founder and R&D Manager

2006 - 2006
Kognitus
  • Improved the computer vision algorithms of the Kapta software for automatic license plate recognition.
  • Managed a team of developers for the implementation of computer vision algorithms and a desktop application that used the algorithms.
  • Worked on multithreaded code that managed the different phases of the computer vision processes.
  • Worked on the object-oriented redesign of the Kapta software.
  • Worked on fundraising activities to support the growth of the company.
Technologies: Machine Learning, Computer Vision, C++

Software Developer

2002 - 2005
LABIC UFRJ - Computational Intelligence Lab
  • Developed the plate location algorithm for Kapta, a software for automatic license plate recognition using computer vision. The newly created algorithm had a accuracy of 94%. The previously used algorithm had a accuracy of 76%.
  • Developed a variation of the Watershed algorithm for character segmentation.
  • Developed a custom memory manager that used the systems pattern of memory allocation to avoid calling OS memory allocation and deallocation.
  • Published the paper: "KAPTA - A system for automatic plate recognition based on the technics of neural networks and image processing" in SUCESU 2004. This paper was awarded as the best paper of the event.
  • Worked on the features extraction of the characters for the input of the neural networks.
Technologies: Machine Learning, Computer Vision, C++

Software Developer

1999 - 2001
Segredo Constructions, LLC
  • Developed an ERP for a small-sized construction company.
Technologies: InterBase, Delphi

Pura Cozinha

https://github.com/gstiebler/pura_cozinha
A marketplace to connect customers with people cooking from home.

Insider Oil

https://github.com/gstiebler/insider_oil
A business intelligence platform for the Brazillian oil industry.

Cableway

Desktop software for electrical projects on ships and oil platforms. It reads and processes AutoCAD and Microstation files and generates several kinds of reports.

Tio Patinhas

https://github.com/gstiebler/tio_patinhas
A mobile application for blind people to recognize paper money. It takes a picture of a bill and reads its value out loud. There were two versions: a Windows Mobile 6.0 version, and a J2ME version.

Codemap

https://github.com/gstiebler/codemap
Software for visualizing the dataflow of information of C++ source code.

Mochila

https://github.com/gstiebler/mochila
A small Python program to optimize the use of cable disposition in cable trays. It uses a genetic algorithm to solve the underlying knapsack problem.

Image Compression Algorithm Implementation

An image compression algorithm implemented in C++ for a Master's degree capstone project for Milton Simas Torres at the Instituto Militar de Engenharia - IME.

Vision Workbench

https://github.com/gstiebler/vision_workbench
A Qt application interface to experiment with OpenCV algorithms

Languages

C, ECMAScript (ES6), TypeScript, JavaScript, C++, SQL, Python, Java, HTML, Ruby, C#, GraphQL, Delphi, Flash ActionScript, Assembly, Pascal

Frameworks

Express.js, React Native, Boost, Ruby on Rails (RoR), Adobe Flex, MUI (formerly Material UI), Redux, AngularJS, Qt

Libraries/APIs

Node.js, React, Standard Template Library (STL), OpenCV, Google Maps, Google Chart API, NumPy, MobX, OpenGL, Vue, Vuex

Paradigms

Object-oriented Programming (OOP), Agile Software Development, Scrum, Functional Programming, Continuous Delivery (CD)

Platforms

Visual Studio Code (VS Code), Linux, Docker, MacOS, Eclipse, AWS Lambda, Amazon Web Services (AWS), Amazon EC2, AWS Elastic Beanstalk, Firebase

Storage

MongoDB, MySQL, InterBase, Elasticsearch, Amazon S3 (AWS S3)

Other

Algorithms, Multithreading, Data Structures, Computer Vision, Machine Learning, Mathematical Modeling, Serverless

Tools

Microsoft Visual Studio, Git, Visual Studio, CMake, Webpack, MATLAB

2001 - 2009

Bachelor's Degree in Computer Science

UFRJ - Rio de Janeiro