Edgard Lima, Software Developer in Recife - State of Pernambuco, Brazil
Edgard Lima

Software Developer in Recife - State of Pernambuco, Brazil

Member since April 13, 2017
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.
Edgard is now available for hire



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


Recife - State of Pernambuco, Brazil



Preferred Environment

Linux, Qt Creator, Git, Vim

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.


  • Consultant

    2018 - PRESENT
    • Developed OS X applications.
    Technologies: Objective-C, Scrum
  • Professor

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

    2017 - 2018
    • Developed PoC/prototypes and presented them to clients.
    Technologies: Modern C++, Qt, Docker, Blockchain, Linux, Raspberry Pi, NodeMCU Arduino, GStreamer, OpenCV, Drones, YOLO Real-time Object Detection
  • Consultant | Architect | Team Lead | Software Engineer

    2008 - 2017
    • 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 the 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++, 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 others projects.
    Technologies: Modern C++, C, Boost, Linux, Android, GTK, Qt, JSON, XML, DBUS, CAN, J1939, NMEA, CMSIS, Scrum
  • 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.
    • Consulted at the Nokia Research Center in Helsinki/Finland to leverage GStreamer as multimedia framework for the N900 smartphone.
    Technologies: C, GStreamer, DirectShow, QuickTime
  • Team Leader | Software Architect | Engineer

    2004 - 2004
    CIn | UFPE
    • Screened and hired the rest of the team.
    • Acted as the team/technical lead and coached the junior members.
    • Designed the architecture for a Waytec touch screen 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 the team member to develop the Linux drivers, DLLs, and GUI.
    Technologies: C, C++, Windows, Linux
  • Team Leader | Software Architect | Engineer

    2002 - 2004
    • 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 games.
    • Built a secure wallet application.
    Technologies: C, Embedded C++, BREW, CMMI, SVN
  • Developer

    2000 - 2001
    • Worked in close cooperation with CEO to analyze the WAP market.
    • Built Satellite Forms prototypes for Palm.
    • 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 a C Palm database in depth; it had several layers, including memory management, data structures, DBMS, and its own API.
    Technologies: Palm, Windows CE, C, C++, Satellite Forms, Code Warrior, XML, VB, COM, OLEDB
  • Intern

    1999 - 2000
    • Developed a CGI (using C) to render the bills of a credit card company.
    • Designed and implemented automatics backup routines on Free BSD using Bourne shell.
    Technologies: C, CGI. HTML, MySQL


  • GStreamer V4L2src Plugin (Development)

    I authored the GStreamer v4l2src plugin. If you are using your web cam on Linux, there's a good chance you are using code written by me. I also created several fixes for GStreamer.

  • Radio Bus (Development)

    I developed a virtual radio station 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 in several applications and services, one to playback, other to download and manage content, other to collect some status, and a last one to monitor the system keeping it running 24/7.

  • J1939-21/81 Library (Development)

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

    *The link is not provided due to NDA.

  • Nokia Internet Tablet Converter (Development)

    This was a GUI video converter that was released by Nokia. I developed the internal converter DLL (using Direct Show and QuickTime) for Windows and Mac and also the UI hacks to minimize the number of UI requirements as possible.

  • Multifunctional Terminal TMS2 (Development)

    This is 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 (Development)

    I developed the first Hipercard system 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 a next level.


  • Languages

    C++, C, XML
  • Frameworks

    GStreamer, Boost, Qt
  • Tools

    GDB, You Only Look Once (YOLO), U-Boot, GTK+
  • Paradigms

    Concurrent Programming, Socket Programming, Scrum
  • Platforms

    Embedded Linux, Linux, Android, Windows, Arduino, Raspberry Pi, MacOS
  • Other

    Multithreading, J1939, NMEA, WebSockets, CAN Bus, NodeMCU, Unix Shell Scripting, Image Processing
  • Libraries/APIs

    Protobuf, OpenCV, Carbon, DirectShow
  • Storage

    JSON, SQLite, PostgreSQL, MySQL


  • Master's degree in Computer Science
    2015 - 2017
    Federal Rural University of Pernambuco | UFRPE - Recife, Brazil
  • Bachelor's degree in Computer Science
    1997 - 2002
    Federal University of Pernambuco | UFPE - Recife, Brazil

To view more profiles

Join Toptal
Share it with others