Rodrigo Luis de Godoy Strauss Mello Vieira
|
|
Personal Info
I live in São Paulo, Brazil and my e-mail is rodrigo@1bit.com.br. For more info,
please check http://www.1bit.com.br/content.1bit/about.
Objective
Act as Software Developer/Architect in project developed in C++ and/or Assembly
and/or Python, mainly focusing the following areas: information security, financial,
scientific, distributed systems or system software.
Awards
Microsoft Most Valuable Professional in Visual C++
Nominated because of contibution to Brazilian C & C++ community, "C & C++ Brasil".
2006 Person of The Year, Time Magazine
Co-nominated as everyone who creates "user generated content"
Certifications
Microsoft Certified Professional
"Developing Desktop Applications Using Microsoft Visual C++"
Microsoft Certified Professional
"Developing and Implementing Windows-based Applications with Microsoft Visual C#
.NET and Microsoft Visual Studio .NET"
Microsoft Certified Professional
"Developing and Implementing Windows-based Applications with Microsoft Visual Basic.NET
and Microsoft Visual Studio .NET"
Qualifications
Languages: C++ (12 years), Python (4 years), VB6, C#, VB.NET, Python
and Assembly x86.
C++: C++ ISO, C++0x, Boost Libraries. Visual C++ and GCC.
ATL/WTL (COM/COM+ objects, ActiveX, GUI), MFC, STL, Winsock (TCP/IP),
ISAPI, GDI+, Windows Services, Windows DDK (Driver Development Kit). Windows CE
and PocketPC development.
COM: COM+ development experience. ActiveX controls, Connection
Points, transactions, component pooling, custom marshalers, monikers, plugins and
extensions systems.
Windows Server: COM+ Components, Windows Server 2003 Cluster resource
DLLs, applications using MSMQ, locally or clustered.
Kernel mode development: Device Drivers development for Windows
NT4, 2000, XP and 2003 (DDK). Experience developing using the
IFS (File System and File System Filter). WDM and NDIS knowledge.
Linux: Linux server management, C++ and Python development. Web
development using PHP, Python (Django) and MySQL/sqlite.
Financial, scientific and high performance: Assembly x87, MMX,
SSE and SSE2. Distributed/parallel processing and multithread.
Information Security: Biometrics, symmetric and asymmetric cryptography.
Windows Security and Authentication systems. TCP/IP, firewall, VPN.
Development and support tools: Numega SoftICE, WinDBG, VMware,
VirtualPC, Subversion, VIM.
Networking: TCP/IP software development. Windows Network software
(including Active Directory).
Database: SQL Server, mySQL, Microsoft Access, BerkeleyDB and SQLite.
Professional Experience
Cofounder and CTO
Intelitrader - Semptember/2011 until present
- Main Designer and coder of the following products: InteliMarket (Market Data Server) and InteliOrder (Order Management System with pre-trade risk control)
- SCRUM using Redmine and Mercurial
System Architect / C++ Developer
Agência Estado - June/2010 until August/2011
- Lead Developer and Architect on the New Trading Station Project
- Message Routing core development, using C++0x and Boost Libraries
- Responsible for implementing SCRUM-like methodology, using TRAC and SVN.
C++ Developer
Link Investimentos - November/2009 to May/2010
- Home Broker Market Data Feed Server, using C++ and Boost Libraries. BM&F FIX MD feed handling
and BOVESPA RLC/MMTP data feed handling.
- System integration with SINACOR, the back-end management system provided by BM&FBOVESPA
C++ Developer / Project Manager
Brazilian Mercantile & Futures Exchange / MACSYS Trader
- December/2004 to October 2009
- Lead Developer on BMF's WebTrading platform. Responsible for architecture, design,
maintenance and coding, mainly using C++ language. Responsible for coding Market
Data Server and OMS. Multithreaded modules, communicating using TCP/IP, DCOM, MSMQ
and FileMapping. Mutilplatform Order and Market Data Gateway using C++ and Boost Libraries.
- FIX: all the server side software uses FIX to communicate to BMF's Order Matcher.
Responsible for the architecture change during the migration from MMTP/RLC to FIX
- Build automation scripts using Python
- COM+ components (ATL).
- Server software using OpenSLL
- Performance optimization in existent software, including using of my knowledge in
Windows Kernel and file system drivers to optimize components.
- Windows Server 2003 cluster resource DLL. This DLL manages Windows Services and
has a thread pool to monitor all the instances (150 approximately).
- Architecture and implementation of a failover and load balance framework to be used
by services needing high availability outside the Windows 2003 Server Cluster, routing
messages to COM+ components.
- ISAPI DLL, to broadcast assets prices to a Web Client (Ajax).
.NET Software Developer
Companhia de Desenvolvimento Habitacional
e Urbano de São Paulo / Mastersoft Tecnologia
- April/2004 to December/2004
- Software development using Visual Basic.NET and C#
- Network setup software development, using Visual C++ and C#
- PocketPC software development, using .NET Compact Framework and SQL Server CE
Software Developer
SCUA Information Security Ltda - August/2002 to January/2003 - May/2003 to March/2004
- Security software development, using Visual C++ and Assembly.
- File System Filter drivers development, using the Microsoft IFS Kit. Real time file
encryption, using the IDEA algorithm.
- Out-process COM component developed using ATL, to control a USB token.
- Applications: Configuration Wizard and a driver communication app, developed using
WTL an MFC. Cryptography key management, and validation using MD5
- Biometrics authentication software development, interacting with Siemens biometric
mouse. GINA (Windows Authentication DLL).
- Maintenance in a DDE comunication module to log Internet Explorer and Netscape accessed
URLs.
- Technologies used: MFC, ATL,
WTL , STL, DDE, COM+, DCOM.
Software Developer and Architect
Itaú BBA Bank / Ogeda - January/2003
to May/2003
Market Risk software development, using Visual C++, Visual Basic and SQL Server.
Software Analysis and documentation, statistical calculation, performance optimization,
RUP
- Software Analysis and specifications creation to Visual Basic developers, using
the RUP methodology.
- Market Risk software development, using Visual C++. Statistical calculation and
extensive use o STL
Software Developer and Architect
Fundação Sistema Estadual de Análise de Dados de São
Paulo / Mastersoft Tecnologia Ltda - August/2001
to August/2002
Big project, development team leadership. Distributed Components, ASP, ASP.NET.
Visual Basic, Visual C++, SQL Server, C#.
- Development team leadership
- Analysis and development in a 8 months project, using the Windows DNA Architecture
(Visual Basic COM objects, SQL Server 2000 backend and ASP frontend).
- Network link management software, developed using Visual C++. Usermode
Windows DDK API to device management.
- Company intranet, using ASP.NET and C#
Manager
DEVSOLUTION.com.br - September/2000 to August/2001
Internet library management
Software Developer and Architect
Virtualway Internet
- January/1998 to August/2000
TCP/IP software development, CGI ,ASP, SQL Server and internet provider administration
using Windows NT.
- C language CGIs
- Video conference software development, using Winsock, ASP and the Microsoft Netmeeting
automation API.
- Access and users controls software
Given Courses
Brazilian Mercantile & Futures Exchange (BMF) - november
2005
- "Advanced Visual C++" course, to BMF employees and consultants
- 144 hours, covering the C++ language, STL, Windows Services, COM, COM+, Thread and
Win32 in general
Instituto de Tecnologia de Software - april 2005
- "Visual C++" course, to Semp Toshiba employees
- 90 hours, covering the C++ language, MFC and ATL
Universidade São Judas Tadeu
- summer course
- 15 hours, to Computer Science students
Given Lectures
Por Dentro do Windows: Gerenciamento de Memória (Inside
Windows: Memory Management)
- June 2006, Semana de Engenharia do Instituto Mauá de Tecnologia, at Instituto Mauá
de Tecnologia
- September 2006, DEVTECH 2006, at Microsoft Brasil headquarters.
- October 2008, C & C++ Brazil users group meeting
Hands on: Trabalhando com Threads (Hands on: Working
with Threads)
- October 28 2006 - "Codificando.Net - 3 anos de atuação"
Boost.Asio
- April 2006 - C & C++ Brazil users group meeting
Open Source projects
OmniObjects:
Free alternative do Microsoft DCOM, a runtime to distributed objects. C++, Windows only
Tio:
Multiplatform container server (key/value, list, queue), focused on publish/subscribe pattern.
C++, Windows, Linux, MacOSX
Primo:
PRocess Instantiator and MOnitor. Python, Windows and Linux
Graduation
BS in Computer Science, Universidade Nove de Julho, 2010
Idioms
Native Portuguese
Fluent English
Some technical books read (or reading)
"The C++ Programming Language"
"Exceptional C++"
"More Exceptional C++"
"Windows Internals"
"Kernel Mode Drivers: Windows 2000 DDK"
"The Windows 2000 Device Driver Book"
"Programming The Windows Driver Model"
"Programming Windows Security"
"Inside COM+ Base Services"
"Undocumented Windows 2000"
"Python in a Nutshell"
"Inside Windows NT File System"
|