
Sergio Correia
Verified Expert in Engineering
Software Developer
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.
Portfolio
Experience
- C - 15 years
- C++ - 10 years
- Python - 10 years
- Git - 9 years
- Go - 8 years
Availability
Preferred Environment
Linux
The most amazing...
...project I've contributed to is the Linux kernel.
Work Experience
C++ Software Engineer
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.
PhD Student at the University of Ottawa
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.
Senior Software Engineer
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.
Network Research Intern
UQAM | Université du Québec à Montréal
- Implemented network protocols in the EZChip NP4 network process (in special OpenFlow 1.1).
Senior Software Developer
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.
Network Research Intern
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.
Senior Software Developer | Network Researcher
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).
Senior Software Developer
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).
Network Researcher | Software Developer
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).
Experience
WebKit
https://webkit.org/team/I am currently a committer on this project.
Education
Master's Degree in Computer Science
Universidade Estadual do Ceará - Fortaleza, Brazil
Bachelor's Degree in Computer Science
Universidade Estadual do Ceará - Fortaleza, Brazil
Skills
Libraries/APIs
SDL
Tools
GNU Debugger (GDB), Valgrind, Git, NS-2
Languages
C, C++, Bash, Go, Perl, Python, Java, PHP, QML
Platforms
Linux
Frameworks
Qt
Paradigms
Agile Software Development, Unit Testing
Other
Multithreading, Debugging, Profiling, Memory Profiling, Network Protocols, Multiprotocol Label Switching (MPLS), Multicast, Linux Kernel, WebKit
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring