Sergio Correia, Developer in Fortaleza - State of Ceará, Brazil
Sergio is available for hire
Hire Sergio

Sergio Correia

Verified Expert  in Engineering

Software Developer

Location
Fortaleza - State of Ceará, Brazil
Toptal Member Since
March 28, 2019

Sergio has over a decade of experience in software development and holds a master's degree in computer science. He has extensive experience with scripting and Go and C/C++ in Linux environments including contributions to key open source projects such as the Linux kernel, the Go language, and the WebKit rendering engine. Sergio is also quite knowledgable in networking, multithreaded programming, profiling, and debugging.

Availability

Part-time

Preferred Environment

Linux

The most amazing...

...project I've contributed to is the Linux kernel.

Work Experience

C++ Software Engineer

2018 - PRESENT
Crossover
  • Maintained a high-performance HTTP network cache that was written mostly in C++ with supporting scripts in Bash and Perl. The bulk of the work consisted of creating unit tests for the existing code as well as diagnosing and fixing bugs that came in as customer requests.
  • Maintained a digital asset management (DAM) system, written mostly in C with a PHP front-end. The work mostly consisted of bug fixes that came in from customer requests.
  • Developed a few tools to help with test automation as well as tools that helped to diagnose complex issues by analyzing logs and sometimes creating the data for visualizations.
Technologies: Go, Python, Bash, C, C++

PhD Student at the University of Ottawa

2015 - 2018
National Council for Scientific and Technological Development (CNPq/Brazil)
  • Designed the routing protocols for software-defined vehicular networks.
  • Implemented routing protocols geared towards software-defined vehicular networks in the NS3 network simulator (in C++).
  • Published a few papers in high-quality venues such as the IEEE Communications Magazine and the IEEE Globecom conference.
Technologies: Python, Bash, C++

Senior Software Engineer

2012 - 2015
Nokia Institute of Technology (INdT)
  • Worked as part of the development team of the Nix WebKit2 port (in C++); I now have commit rights in the WebKit project.
  • Developed software for Nokia mobile platforms using C++, Qt, and QML. This work included also porting mobile games to such platforms.
  • Researched on power-aware computing and application to Windows phone mobile devices.
Technologies: WebKit, C, QML, Qt, C++

Network Research Intern

2011 - 2012
UQAM | Université du Québec à Montréal
  • Implemented network protocols in the EZChip NP4 network process (in special OpenFlow 1.1).
Technologies: C

Senior Software Developer

2011 - 2011
Instituto Atlantico
  • Embedded C programming for the FreeScale IMX27 ARM development platform.
  • Developed a caching solution (in C) for a multimedia terminal platform that ended up improving the overall access speed to services by over 50%.
  • Wrote GUI programming with the SDL library in C.
  • Developed a simulator in Python to help with the testing of the multimedia terminal capabilities.
Technologies: Python, SDL, C

Network Research Intern

2010 - 2011
UQAM | Université du Québec à Montréal
  • Researched network virtualization—focusing on high availability, reliability modeling, next-generation internet, and OpenFlow.
  • Worked on the team that designed and developed the first OpenFlow 1.1-HW compliant switch, using EZchip NP-4 network processor technology (C and EZChip proprietary assembly).
  • Published a few papers in high-quality venues such as the IEEE Globecom conference.
Technologies: C

Senior Software Developer | Network Researcher

2008 - 2010
Universidade Estadual do Ceará
  • Acted as the technical lead of a small team that supported additional protocols to Racket (a Ruby gem designed for crafting and analyzing raw packets).
  • Researched the following MPLS protocols: LDP, RSVP-TE, and PWE3. The work also included the implementation of additional features in a commercial MPLS stack.
  • Implemented network protocols for high-speed networks using C and EZChip proprietary assembly for the EZchip NP-3 network processor.
  • Researched swarm intelligence techniques applied to routes in mobile and vehicular ad-hoc networks (C++ implementations in the NS2 simulator).
Technologies: Multiprotocol Label Switching (MPLS), NS-2, Network Protocols, C++, C

Senior Software Developer

2007 - 2008
Nettion Information Security
  • Designed and implemented (in Java) a robust SMTP proxy providing the administrator total control over the mail server’s accounts; also integrating efficient antispam techniques such as RBLs, SPF, DNS lookups, and Bayesian analysis.
  • Worked on other projects including some Perl/Bash scripting as well as implementing new features for the Qmail email server (in C).
Technologies: PHP, Perl, Bash, C, Java

Network Researcher | Software Developer

2007 - 2007
Universidade Estadual do Ceará
  • Researched multicasting protocols, in particular, the PIM-SM (platform independent multicast-sparse mode).
  • Researched the CFM (connectivity fault management, IEEE 802.1ag) protocols suite.
  • Handled the Linux implementation of the CFM (IEEE 802.1ag) protocols which included both user and kernel space (in C).
Technologies: Linux Kernel, Multicast, C

WebKit

https://webkit.org/team/
WebKit is the web browser engine used by Safari, Mail, the App Store, and many other apps on macOS, iOS, and Linux. It is also originated the engine used currently by Chrome.

I am currently a committer on this project.

Languages

C, C++, Bash, Go, Perl, Python, Java, PHP, QML

Platforms

Linux

Frameworks

Qt

Tools

GDB, Valgrind, Git, NS-2

Paradigms

Agile Software Development, Unit Testing

Other

Multithreading, Debugging, Profiling, Memory Profiling, Network Protocols, Multiprotocol Label Switching (MPLS), Multicast, Linux Kernel, WebKit

Libraries/APIs

SDL

2010 - 2011

Master's Degree in Computer Science

Universidade Estadual do Ceará - Fortaleza, Brazil

2002 - 2010

Bachelor's Degree in Computer Science

Universidade Estadual do Ceará - Fortaleza, Brazil

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