Edgard Lima, Developer in Recife - State of Pernambuco, Brazil
Edgard is available for hire
Hire Edgard

Edgard Lima

Verified Expert  in Engineering

Multithreading Developer

Recife - State of Pernambuco, Brazil

Toptal member since May 16, 2017

Bio

Edgard has worked as a consultant for the Nokia Research Center (NRC) Helsinki, Finland, in addition to his two decades of software development experience. He is firmly committed to quality, can bring a state of art theory into practice, and has led small teams.

Portfolio

CESAR
Scrum, Objective-C, Multithreading, Algorithms, Embedded Development...
Nova Roma College
Computer Science
Accenture
You Only Look Once (YOLO), Drones, OpenCV, GStreamer, Arduino, NodeMCU...

Experience

  • C - 20 years
  • Linux - 20 years
  • Socket Programming - 17 years
  • C++ - 17 years
  • Embedded Linux - 12 years
  • Concurrent Programming - 12 years
  • Multithreading - 12 years
  • Boost - 10 years

Availability

Part-time

Preferred Environment

Vi, Git, Qt Creator, Linux, Embedded Linux

The most amazing...

...thing I've done is to lead, design, and develop a GUI, DLL, image processing, firmware and drivers for a bank scanner in a short time, working 16 hours/day.

Work Experience

Consultant

2018 - PRESENT
CESAR
  • Developed a MacOS App in Objective-C and Swift that monitors accessories traffic with a big stack of protocol validations.
  • Developed Bluetooth full-stack parsing and state machines (HCI, L2CAP, RFCOM, SDP, GATT, and ATT).
  • Developed IEEE802.11 management frames parsing and validation.
Technologies: Scrum, Objective-C, Multithreading, Algorithms, Embedded Development, Internet of Things (IoT), JavaScript, Web Scraping, Python, Data Scraping, Flutter, Dart

Professor

2017 - 2018
Nova Roma College
  • Taught undergraduate students about operating systems.
  • Lectured on the theory of computation to undergraduate students.
  • Taught computer networks to undergraduate students.
Technologies: Computer Science

Senior Consultant

2017 - 2018
Accenture
  • Developed PoC and prototypes and presented them to clients.
  • Developed apps running in Drones to detect objects using YOLO and show that in an application using Qt/GStreamer and manipulate the live video with detected objects.
  • Developed a heat map app showing people in a room based on their probed IEEE802.11 packets.
  • Researched and analyzed the Bitcoin blockchain to collect some statistics.
Technologies: You Only Look Once (YOLO), Drones, OpenCV, GStreamer, Arduino, NodeMCU, Raspberry Pi, Linux, Blockchain, Docker, Qt, C++, Multithreading, Embedded Linux, Algorithms, Python, Embedded Development, Celery, Android, DJI SDK, Internet of Things (IoT), SQL, Raspberry Pi 3 GPIO, Data Scraping

Consultant | Architect | Team Lead | Software Engineer

2008 - 2017
FiTEC
  • Designed and developed a bus electronic ticketing system in Modern C++, Boost, DBUS, JSON, NMEA, and Qt.
  • Built a J1939/21-81 library in C, from scratch, on top of CMSIS, for Cortex microprocessors. The library was designed to be portable and was ported to embedded Linux.
  • Led, designed, and developed a DLL with image processing, GUI, and a firmware solution in C, C++, and GTK for a bank check scanner.
  • Incorporated Linux for completely new hardware based on ATMEL AT91SAM9G45 and developed an application for that using U-Boot, Buildroot, C. GTK, a Linux kernel, and driver development.
  • Worked as the team and technical lead—adopting Scrum and TDD in several other projects.
Technologies: Cortex Microcontroller Software Interface Standard (CMSIS), C++11, Scrum, NMEA, J1939, DBus, XML, JSON, Qt, GTK+, Android, Linux, Boost, C, Multithreading, Embedded Linux, Algorithms, Embedded Development, Internet of Things (IoT), RS-232, Serial Communication, SQL, Universal Asynchronous Receiver/Transmitter (UART), Raspberry Pi, Raspberry Pi 3 GPIO, Python, Data Scraping

Software Developer

2005 - 2008
Nokia Institute of Technology
  • Contributed to the GStreamer project by fixing bugs and porting plugins from 0.8 to 0.10.
  • Authored the V4L2src plugin. A plugin to use WebCams and TV cards on GStreamer.
  • Consulted at the Nokia Research Center in Helsinki, Finland, to leverage GStreamer as a multimedia framework for the N900 smartphone.
Technologies: DirectShow, GStreamer, C, Multithreading, Embedded Linux, Algorithms, Embedded Development

Team Leader | Software Architect | Engineer

2004 - 2004
CIn | UFPE
  • Acted as the team/technical lead and coached the junior members, as well as screened and hired them.
  • Designed the architecture for a Waytec touchscreen monitor and calibration application for Linux and several versions of Windows, where most of the code (80%) was C++ multi-platform code.
  • Developed a WDM device driver and helped team members develop the Linux drivers, DLLs, and GUI.
Technologies: Linux, Windows, C++, C, Multithreading, Algorithms

Team Leader | Software Architect | Engineer

2002 - 2004
CESAR
  • Fixed bugs and developed Motorola TDMA phones (proprietary P2K OS).
  • Worked as the team lead, SCM, an architect of a seven-person team developing games in BREW for LGE CDMA phones.
  • Developed critical parts of the board games like tic-tac-toe 3d and Go.
  • Built a secure wallet application with encryption and security features.
Technologies: Subversion (SVN), CMMI, BREW, Embedded C++, C, Multithreading, Algorithms, Embedded Development

Developer

2000 - 2001
Mobile
  • Worked in close cooperation with the CEO to analyze the WAP market.
  • Built Satellite Forms prototypes for Palm OS devices.
  • Developed eVB and eVC++ prototypes for the Pocket PC.
  • Designed and implemented a financial PocketPC application using eVC++.
  • Designed and implemented a simplified eVC++ API database (like ADOCE) accessing OLEDB directly, getting optimized performance, and delivering a COM interface to be used by eVB applications.
  • Designed and implemented an API to exchange data between a desktop and a pocket PC using a gzipped XML file through TCP/IP.
  • Designed and developed an in-depth C Palm database. It had several layers, including memory management, data structures, DBMS, and its own API.
Technologies: OLE DB, CodeWarrior, Forms, COM, VB, XML, C++, C, Windows CE, Algorithms, Embedded Development, SQL

Intern

1999 - 2000
Wiser
  • Developed a CGI (using C) to render the bills of a credit card company.
  • Designed and implemented automatic backup routines on Free BSD using Bourne shell.
  • Trained the company's employees to use the new system.
Technologies: CGI, HTML, MySQL, C, Algorithms, Embedded Development, SQL

Experience

GStreamer V4L2src Plugin

https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-v4l2src.html
The GStreamer v4l2src plugin that I authored. If you are using your webcam on Linux, there's a good chance you are using the code I wrote. I also created several fixes for GStreamer. I also ported several plugins from GStreamer 0.8 to 1.0.

Radio Bus

http://www.mobicity.com.br/
A virtual radio station I developed for Recife's public buses. The devices were installed and connected to the bus audio system to play spots and random music all day long. There were spots played on the schedule's basis and geolocation basis. It was developed in Java for Android, separated into several applications and services: one to playback, the other to download and manage content, the other to collect some status, and the last one to monitor the system, keeping it running 24/7.

J1939-21/81 Library

J1939-21 and 8 I implemented as a library from scratch. The library was initially developed for CMSIS but was designed to be very portable using hooks. The library is now running in thousands of ATMs and their related equipment. It was also ported to Linux.

No link is provided due to NDA.

Nokia Internet Tablet Converter

A GUI video converter that Nokia released. I developed the internal converter DLL (using DirectShow and QuickTime) for Windows and Mac and the UI hacks to minimize the number of UI requirements as much as possible.

Multifunctional Terminal TMS2

https://sweda.com.br/
Firmware/embedded Linux programming that brings up Linux for clear and new hardware based on ATMEL AT91SAM9G45 equipped with a vast list of peripherals (DataFlash, RAM, NAND flash, SRAM, graphical LCD, touchscreen, smart card reader, GPRS, Ethernet, USB, UARTS, and more).

Billing as a PDF in a Browser

The 1st Hipercard system that I developed that was capable of showing exactly to the call center support operators what the customers had printed in their hands. Before this system, operators saw the bills in an unformatted text as it was stored in the mainframe. The system improved the quality and speed of the call center operators to the next level.

Education

2015 - 2017

Master's Degree in Computer Science

Federal Rural University of Pernambuco | UFRPE - Recife, Brazil

1997 - 2002

Bachelor's Degree in Computer Science

Federal University of Pernambuco | UFPE - Recife, Brazil

Skills

Libraries/APIs

Protobuf, OpenCV, Carbon, DirectShow, Win32 API, Sockets

Tools

GNU Debugger (GDB), ActiveMQ, Qt Creator, Git, Subversion (SVN), CodeWarrior, DBus, You Only Look Once (YOLO), U-Boot, GTK+, Celery, DJI SDK

Languages

Embedded C++, C++, C, Python, XML, Dart, VB, HTML, C++11, Objective-C, Bash, Java, HTML5, CSS, JavaScript, SQL

Frameworks

GStreamer, Boost, Django, Selenium, Flutter, Qt

Paradigms

Concurrent Programming, Socket Programming, CMMI, Scrum, REST

Platforms

Embedded Linux, Linux, BREW, Raspberry Pi, Android, Windows, Raspberry Pi 3 GPIO, Windows CE, Docker, Blockchain, Arduino, MacOS, Mobile

Storage

JSON, Redis, SQLite, PostgreSQL, MySQL

Other

Multithreading, J1939, UDP, Transmission Control Protocol (TCP), Algorithms, Embedded Development, RS-232, Serial Communication, Web Scraping, Universal Asynchronous Receiver/Transmitter (UART), Data Scraping, NMEA, WebSockets, CAN Bus, Vi, COM, Forms, OLE DB, CGI, Cortex Microcontroller Software Interface Standard (CMSIS), Drones, Computer Science, NodeMCU, Unix Shell Scripting, Image Processing, Qt 4, Media, HTTP, Distributed Systems, Internet of Things (IoT)

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