Scroll To View More
Guilherme Caminha

Guilherme Caminha

Recife - State of Pernambuco, Brazil
Member since February 13, 2018
Guilherme is a computer engineer who has a passion for solving challenges and building beautiful software. He is a flexible and dynamic developer who has been able to learn new technologies and start building idiomatic code very quickly. He is enthusiastic about elegant solutions and sharing ideas with other people.
Guilherme is now available for hire
Portfolio
  • PADMEC
    Python, C/C++
  • Vinta
    Django, React.js, Gensim, Scikit-learn, Bootstrap
  • Prodiggio
    Joomla, jQuery, Bootstrap
Experience
  • Python, 3 years
  • JavaScript, 2 years
  • Docker, 2 years
  • React, 1 year
  • REST, 1 year
Recife - State of Pernambuco, Brazil
Availability
Part-time
Preferred Environment
Linux, Atom or JetBrains IDEs, Git
The most amazing...
...software I've developed was an open-source framework for developing reusable numerical methods for physical simulations.
Employment
  • Scientific Computing Researcher
    2014 - PRESENT
    PADMEC
    • Enhanced the software process used in the research group by employing scrum techniques such as sprint planning and review, the creation of project backlogs, and more.
    • Developed Elliptic, an open-source software for prototyping and developing numerical methods for physical simulations.
    • Selected the software stack used in most projects (Python, MOAB, and Trilinos), and trained the team developers to use it.
    • Explored Python's ability to inter-operate with libraries based on lower level languages, such as C/C++. Helped build PyMOAB, a wrapper for the open-source MOAB library, which uses C/C++ and Fortran.
    • Used Docker to package the developed software, so that it is easier to deploy and use. Also trained the team on how Docker works and how to use it.
    Technologies: Python, C/C++
  • Software Engineer
    2016 - 2016
    Vinta
    • Rebuilt a full website from scratch using Django-CMS. The old website was built on Pelican, therefore Django-CMS brought more interactivity and made it possible to create and edit content more easily and visually.
    • Created a natural language processing tool with Gensim and Scikit-learn for suggesting if a given text is duplicated somewhere else in the database, from its extracted meaning.
    • Built automated software testing suites for Django backends and machine-learning software using pytest.
    • Employed Agile methodology practices on a daily basis.
    • Handled performance optimizations for several CPU-bound procedures on the server. Used Celery as a distributed queue for handling asynchronous CPU-bound tasks.
    Technologies: Django, React.js, Gensim, Scikit-learn, Bootstrap
  • Software Engineer
    2015 - 2015
    Prodiggio
    • Built the company's full website using Joomla!, JQuery and Bootstrap.
    • Developed several Joomla extensions for dealing with specific business needs.
    • Worked together with the client to model all the business rules and several requirements for the project.
    Technologies: Joomla, jQuery, Bootstrap
Experience
  • PyMOAB (Development)
    https://bitbucket.org/fathomteam/moab/

    The Mesh-Oriented datABase (MOAB) is an open-source library for representing and storing meshes used on physical simulations built with C++.

    I helped build the PyMOAB interface, which provides bindings for accessing core functionalities from Python.

  • AmpliEdu (Development)
    http://praciano.com.br/ampliedu/

    AmpliEdu is a project built for the Intel Embedded System Design Invitation Contest, held in China in 2016. The project consists of an embedded system capable of turning any conventional multimedia projector into an interactive, touch-enabled projector.

    It used Node.js + Express to handle API requests for the rest of the system. Its image detection algorithms were prototyped with C/C++ and then implemented in an optimized hardware description language (Verilog).

    For the project, I was awarded the second place against several dozens of universities around the world.

  • ELLIPTIc (Development)
    https://github.com/padmec-reservoir/ELLIPTIc

    ELLIPTIc, The ExtensibLe LIbrary for Physical simulaTIons, is a library/framework for prototyping, testing and running large-scale physical simulations.

    It is built on top of Python and uses the PyMoab and PyTrilinos libraries to handle the internal mesh data structure, and matrix solving, respectively.

  • Python User Group Talks (Other amazing things)

    I have done two talks for my regional Python User Group conference:
    • Cython: Accelerating your Python
    • Building websites with Django-CMS

  • TCKE (Development)
    https://www.youtube.com/watch?v=lUdosITkQJA

    TCKE was a project for helping visually impaired people to orient themselves when they are inside buildings. One of the main applications was helping while shopping at stores. The system used state-of-the-art IPS (indoor positioning system) technology and was distributed as an Android app.

  • onDaF Simulator (Development)

    A simulator for the onDaF german test written in C++ and Qt 4. This project became quite famous among students who were pursuing a proficiency level for student exchange programs.

  • PedroNeto Hortifruti (Development)

    An eCommerce for selling agricultural produce built in 2015. It was built from scratch using Django in the back-end and jQuery in the front-end and had automated deploys with Docker.

  • Introduction to Python Microservices with Nameko (Publication)
    The microservices architectural pattern is an architectural style that is growing in popularity, given its flexibility and resilience. In this article, Toptal Freelance Python Developer Guilherme Caminha will focus on building a proof of concept microservices application in Python using Nameko, a microservices framework.
Skills
  • Languages
    Python 3, Python, Clojure, C++, JavaScript, Java
  • Platforms
    Linux, Docker, Joomla
  • Frameworks
    Flask, Redux, Django, Bootstrap, Qt
  • Libraries/APIs
    SQLAlchemy, React, Flask-RESTful, MPI, Scikit-learn
  • Tools
    Git, IntelliJ, Atom, Redux Thunk, Pytest
  • Paradigms
    Functional Programming, Object-oriented Programming (OOP), Unit Testing, Functional Testing, DevOps, Agile Software Development, REST
  • Other
    Cython, Open Source, APIs
  • Storage
    MongoDB, PostgreSQL
Education
  • Master's degree in Scientific Computing
    2016 - 2018
    Federal University of Pernambuco - Recife, Brazil
  • Bachelor's degree in Computer Engineering
    2011 - 2016
    Federal University of Pernambuco - Recife, Brazil
I really like this profile
Share it with others