João Bernardo Oliveira, Developer in Rio de Janeiro - State of Rio de Janeiro, Brazil
João is available for hire
Hire João

João Bernardo Oliveira

Verified Expert  in Engineering

Software Developer

Rio de Janeiro - State of Rio de Janeiro, Brazil

Toptal member since April 14, 2016

Bio

João has studied electronic engineering and computer science at the Federal University of Rio de Janeiro (UFRJ). João also has more than six years of software development experience in Python and C/C++ and three years working with video transcoding and distribution for high-performance systems. João is also fluent in Portuguese and English.

Portfolio

Tobii Pro
FFmpeg, NGINX, APIs, Amazon Web Services (AWS), REST, Amazon EC2, Databases...
Netfilter
OpenWRT, APIs, Amazon Web Services (AWS), C, C++, Linux, Python 3, Python, Lua...
Parallel Computing Lab at UFRJ
Videos, FFmpeg, NGINX, Amazon Web Services (AWS), REST, Amazon EC2, C...

Experience

  • Python 3 - 9 years
  • Python - 9 years
  • APIs - 7 years

Availability

Part-time

Preferred Environment

Videos, FFmpeg, NGINX, APIs, Amazon Web Services (AWS), REST, Amazon EC2, Databases, C++, Linux, Web Architecture, Python 3, Python, Sublime Text, Vim Text Editor, PyCharm, Git, Ubuntu, OS X

The most amazing...

...project I've worked on was a high throughput distributed video transcoding system with speedups never before seen in this field.

Work Experience

Senior Back-end Engineer

2016 - PRESENT
Tobii Pro
  • Served as a technical leader on the Sticky project and also as the main back-end architect for the Sticky AI project.
  • Developed high-performance distributed systems, RESTful APIs, integrations of third-party services, database optimization, and server management and infrastructure.
  • Worked primarily with eyetracking data to generate metrics and visualizations.
Technologies: FFmpeg, NGINX, APIs, Amazon Web Services (AWS), REST, Amazon EC2, Databases, Linux, Web Architecture, Tornado, Python 3, Python, SQL, MongoDB, Cython

Lead Developer

2014 - PRESENT
Netfilter
  • Developed router vendors based on OpenWRT primarily for creating a content filtering solution for our custom built Wi-Fi router. The development consisted of high performance tools to intercept and control traffic on the network.
  • Developed custom mobile apps with the Windows 10 Universal Apps Platform using Cortana and Live Tiles.
  • Managed and coordinated the development team to become productive.
  • Maintained and added improvements to the iOS apps.
Technologies: OpenWRT, APIs, Amazon Web Services (AWS), C, C++, Linux, Python 3, Python, Lua, C#

Back-end Developer

2011 - 2014
Parallel Computing Lab at UFRJ
  • Researched and developed high-performance video transcoding techniques including creating a multi-server distributed workflow to allow thorough usage of hardware resources.
  • Developed a tool to unify several live video streams protocols and distribute them to end users over HTTP and RTMP.
  • Developed a web-based video training platform for enterprises written in Python with Pylons.
  • Researched on-live video streaming over ICNs (information-centric networks).
  • Trained and mentored interns and web developers.
Technologies: Videos, FFmpeg, NGINX, Amazon Web Services (AWS), REST, Amazon EC2, C, Databases, C++, Linux, Web Architecture, Tornado, Python 3, Python, Pylons, Django, MongoDB, SQL

Experience

Dynamic Stream Server

https://github.com/terabit-software/dynamic-stream-server
Dynamic Stream Server (DSS) is a tool to manage video streams on a server using RTMP to unify them. After your streams are published on the RTMP server, they can be served over HTTP with Apple HLS or MPEG-DASH besides RTMP.

DSS uses Nginx and the Nginx RTMP module to provide reliable video streams over HTTP and RTMP and FFmpeg to provide transcoding capabilities.

Discoder

https://github.com/jbvsmo/discoder
This software was created to enable distribution of video transcoding to multiple computing nodes in a network to scale the processing horizontally.

MakeObj

https://github.com/jbvsmo/makeobj
MakeObj is a module to help create powerful enumeration classes with support to attributes specific for each element.

Education

2008 - 2014

Bachelor's Degree in Electronic Engineering and Computer Science

Federal University of Rio de Janeiro - Rio de Janeiro, Brazil

Skills

Libraries/APIs

FFmpeg, jQuery, PyQt, Flask-RESTful

Tools

Boto, PyCharm, NGINX, Git, Vim Text Editor, Sublime Text, Xcode

Languages

Python, Python 3, C++, C, SQL, C#, Lua

Paradigms

Web Architecture, REST, Distributed Programming, Concurrent Programming

Platforms

Amazon EC2, Amazon Web Services (AWS), Linux, OS X, Ubuntu, OpenWRT, Windows Phone

Storage

Amazon S3 (AWS S3), Databases, MongoDB, Memcached, MySQL

Frameworks

Pylons, Django, Bootstrap 3, Jinja, Flask

Other

APIs, Tornado, Videos, Cython, WebSockets

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring