Fabiano Moura Cardoso, C++ Developer in São Paulo - State of São Paulo, Brazil
Fabiano Moura Cardoso

C++ Developer in São Paulo - State of São Paulo, Brazil

Member since January 31, 2019
Fabiano is an architect/senior software engineer and technical lead with solid academic knowledge and experience in designing C and C++ applications and systems for UNIX and Windows with communication using TCP/IP. He has participated in all phases in a software development cycle—collecting requirements, writing specifications and designs, coding, testing, and training. He has also mentored several people in the teams in which he's worked in.
Fabiano is now available for hire

Portfolio

  • GFI/Aurea
    C++, STL, TCP/IP, Sockets, Win32, Linux, Kernel Code, Threads, Visual Studio...
  • Infosys
    C++, STL, Objective-C, Xcode, Mac OS X, OCMock, TCP/IP, Sockets, XML, JSON...
  • Tech Soft 3D
    C++, STL, Linux, Visual Studio, Make, GCC, GDB

Experience

  • C, 18 years
  • C++, 18 years
  • Win32, 12 years
  • Linux, 12 years
  • TCP/IP, 12 years
  • Microsoft Visual Studio, 12 years
  • Windows Kernel Drivers, 2 years
  • Linux Kernel, 2 years

Location

São Paulo - State of São Paulo, Brazil

Availability

Part-time

Preferred Environment

Linux or Windows, C++, C, Boost, Visual Studio, vi

The most amazing...

...project I've done involved an OS that no one in the company had any knowledge about. I studied and coded a new app and it became one of the best in the market.

Employment

  • C++ Senior Software Engineer and Architect

    2016 - 2019
    GFI/Aurea
    • Designed and coded features and fixed issues in the product for various projects in a network security software which monitors traffic and categorizes domains in order to prevent malware installations and non-productive web surfing during work hours.
    • Worked on a product used by telecoms to optimize communication between the ISP and the customers. The project involved kernel code, TCP/IP network stack, C, C++, Linux, and low-level debugging (using GDB, Wireshark).
    • Led and trained a C++ test team, reviewed their C++ code, and taught classes on testing and unit testing.
    • Wrote several integration test suites and unit test suites for three different products.
    • Wrote and delivered the test framework for one of the products. These projects involved Visual Studio, GCC, Make, CppUnit, Google Test, and Google Mock.
    • Maintained the code of a sales and items configuration system.
    • Proposed and coded the improvements and fixed bugs in the software.
    • Improved the build time by parallelizing the build process.
    • Wrote PowerShell scripts to automate some tasks in software development and test.
    Technologies: C++, STL, TCP/IP, Sockets, Win32, Linux, Kernel Code, Threads, Visual Studio, GCC, Make, Ant, Google Test, Google Mock
  • Technology Lead

    2014 - 2015
    Infosys
    • Developed a distributed system for quality control in Apple factories. The system runs on Mac OS X and is written in Objective-C. The project was developed in three countries and all documentation and communication were done in English.
    • Mentored others on the team as I was one of the most experienced members.
    • Proposed several of the features of the system and also coded them.
    • Conducted technical interviews for recruiting and selected new members for the team.
    Technologies: C++, STL, Objective-C, Xcode, Mac OS X, OCMock, TCP/IP, Sockets, XML, JSON, Threads
  • Senior Software Developer

    2013 - 2014
    Tech Soft 3D
    • Contributed to the development of HOOPS, a 3D graphics framework which supports several platforms (iOS, Android, Linux, and Windows) by writing a new version for a module in C++ to import files from a third-party 3D design program to HOOPS. This new version was much faster than the previous one (for some files over ten times faster).
    • Found a number of bugs with the API of the 3D design program (during the coding work) and helped the partner company to diagnose and reproduce them.
    • Wrote unit tests for other parts of the framework and expanded some of the functionality.
    Technologies: C++, STL, Linux, Visual Studio, Make, GCC, GDB
  • Senior Software Developer

    2012 - 2013
    Riverbed
    • Worked on the development of Steelhead, a Riverbed solution to optimize WAN communication bandwidth and latency.
    • Wrote a module in C++ to optimize connections between Exchange Server and Outlook, one of the most used and popular features of the product. This module handled DCE/RPC and MAPI messages.
    • Organized and hosted a recurrent series of talks about C++, OO design and best practices. The series has been well received by the company’s developers and has helped to divulge new ideas and technologies.
    • Fixed bugs and wrote documentation to assist the program management and QA teams.
    Technologies: C++, STL, Linux, Threads, TCP/IP, DCE/RPC, MAPI, Make, GCC, GDB, Boost C++, Shell Script
  • Senior Software Developer

    2011 - 2012
    Vidder
    • Worked on the development of a security suite which used encryption, access control, and security features.
    • Worked in a team of two developers who wrote the Linux kernel module for IPv6 NAT; specifically writing the subsystem that checked server availability.
    • Wrote some of the tools used for diagnosing and providing system information to the administrator.
    • Fixed several bugs and refactored parts of the system.
    • Interviewed several candidates for the QA and development teams.
    • Helped create the tests and questions to evaluate the candidates.
    • Taught classes that involved test-driven development (and unit tests) and introduced the junior members about best practices in C++ and object-oriented design.
    Technologies: C++, STL, Windows, Linux, Visual Studio, GCC, GDB, Threads, Linux Device Driver Development, TCP/IP, Make, Boost C++
  • Software Developer

    2010 - 2010
    Microsoft
    • Worked as a member of the AppV team, application virtualization and streaming solution; specifically on the streaming component and the transport modules.
    • Participated in the requirements analysis meeting and in the design and code reviews. I wrote documents and design specifications; including composing thousands of lines in C++ using COM, Windows APIs and Visual Studio, writing dozens of tests for the code and fixing bugs.
    Technologies: C++, STL, Windows, COM, Visual Studio, Threads, HTTP Protocol, UML
  • Senior Software Developer

    2007 - 2010
    SVAM
    • Worked on the architecture, coding, and tests for a low-latency news feed application designed for algorithmic trading applications. This product delivers relevant information to clients a few milliseconds after it has been released, allowing faster-automated decisions. The solution was designed using C++, C#, .NET, Win32, Windows, Boost C++, TCP/IP, FTP protocol, HTTP protocol, and threads.
    • Ported libraries from Java to C++ for Windows and Linux—resulting in about 10,000 lines of C++ code. The libraries used threads, TCP/IP sockets, and serialization.
    • Optimized the libraries for performance and reorganized the API for simplicity.
    • Redesigned the build environment from a collection of dozens of Makefiles to a single Makefile. The result was simpler and build times were reduced by 35%.
    • Redesigned several parts of a monitoring system used to supervise and generate reports for Kodak industrial printers. The system ran on Unix, communicated with the equipment using SNMP, and is written in C, using threads (Pthreads) and TCP/IP sockets.
    • Designed, wrote the specifications and diagrams, and coded an application to control a print quality system based on a camera system. The application runs on Unix and is written in C using threads (Pthreads), TCP/IP, and telnet protocol.
    • Designed a tool in C++ to collect performance statistics from machines running Unix (AIX and Solaris) and display reports. It was used by managers to assess the capacity of numerous servers.
    • Wrote an application in C++ and JavaScript to centralize all server reports so users could use only one UI to see all information.
    • Upgraded one of the applications used for a mailing system so it would comply with USPS guidelines. This software is responsible for controlling the entire conveyor line system in factory floor. The application is written in C++ for Unix, using threads (Pthread) and TCP/IP sockets.
    Technologies: C++, C, STL, Unix, AIX, Solaris, Linux, Shell Scripts, Make, TCP/IP, Sockets, Valgrind, DDD, GCC, GDB, Subversion, Threads (Pthreads, Windows Threads), Qt Creator
  • Production Analyst

    2005 - 2006
    IBM
    • Provided maintenance and support to the systems of Sprint-Nextel for front-end applications that were responsible for sales, cancellations, plans modifications, and other operations.
    • Analyzed and provided solutions to problems in production.
    • Supported the helpdesk (they handle most of the simple support issues) by having my team take over the investigation for issues that affected the entire company.
    • Analyzed Java code, shell scripts, database code, Oracle data tables, and OS logs.
    • Wrote several SQL programs to assist investigations and shell scripts to automate tasks, and those programs were used by the entire team.
    Technologies: Java, Oracle, SQL, XML, Shell Scripts, Unix, Sun Solaris
  • Software Developer (Contract)

    2002 - 2005
    Freelance Work
    • Contributed to the design of a system that manages service calls, customer requests, distribution of tasks to field workers, and other features.
    • Wrote the specifications and documents for features and tests and conducted interviews with the users and collected the business requirements.
    • Developed the software management and security system for the Brazilian Supreme Electoral Court. It was written for Windows in C++ and consisted of device drivers, services and applications.
    • Wrote a system to monitor file access in client workstations and report the usage to a central server. The system was written in C++ using Win32 and TCP/IP Sockets and was comprised of a Windows service that ran on the clients and an application on the server.
    • Built an application in Visual C++ and MFC to verify the digital signatures of programs.
    • Redesigned one of the main units of a system that enabled customers to be able to access their bank accounts at Brazilian Postal Service offices—increasing the performance. The system was written for AIX in C and C++ using Oasis IST software and Oracle.
    Technologies: C++/C, Visual C++, Win32, MFC, TCP/IP (Sockets), Rational ClearCase, GCC, Unix (AIX)
  • Software Developer

    2001 - 2002
    StarDigital
    • Delivered an application for tax planning for a beverage company. The application was written in Visual Basic as requested by the client.
    • Implemented clients' websites in HTML and JavaScript. The sites displayed information contents and enabled business to be conducted.
    Technologies: C++, C, Visual C++, Visual Basic, Windows, Windows CE, Win32, HTML, JavaScript
  • Software Developer

    1999 - 2001
    Potencia Informatica
    • Worked as the main developer in the build of an application in C++ and Win32; the client-server communication used RAS and Sockets.
    • Collected and analyzed business requirements.
    • Authored the specifications and documentation.
    • Wrote about 50,000 lines of code.
    Technologies: C++, C, Visual C++, Windows NT, Windows CE, RAS, TCP/IP Sockets, Win32

Experience

  • Maxxon Mobile Sales (via Potencia Informatica) (Development)

    I developed the entire sales application for mobile devices.

    Technologies: C++, C, Visual C++, Windows NT, Windows CE, RAS, TCP/IP Sockets, Win32

Skills

  • Languages

    C++, C, Python, SQL
  • Frameworks

    GoogleTest, Boost
  • Libraries/APIs

    Pthreads, Sockets
  • Tools

    GCC, Microsoft Visual Studio, Makefile, Git, GDB, Valgrind, Wireshark, Make
  • Platforms

    Win32, Linux, Kernel Programming, Oracle
  • Other

    TCP/IP, Linux Kernel, Windows Kernel Drivers, COM, Shell Scripting
  • Paradigms

    REST

Education

  • Bachelor of Science (BSc) degree in Computer Science
    1992 - 1995
    Federal University of Goias - Goiania, GO, Brazil

To view more profiles

Join Toptal
I really like this profile
Share it with others