##Francisco Lopes
http://nosubstance.me francisco @ oblita.com
+55 (11) 98071-9565
C - C++ - Python - Go - Rust - PureScript - ...
- Empenha-se para prover software de qualidade.
- Aprecia trabalhar com profissionais interessados.
- Aprecia o autoaprendizado.
- oblitum/Interception : Live at oblita.com/interception
- Escreveu uma biblioteca e drivers filtro Windows para interceptar dispositivos de entrada.
- Uma peça de software bem particular que é licenciada comercialmente e foi portada para outras linguagens pela comunidade.
- llvm-mirror/Clang : Live at better completion for c++
- Alterou o Clang para obter melhor code completion de C++ para ferramentas de autoria de código.
- Estas mudanças foram bem revisadas e aceitas por bons engenheiros (Google).
- Já sendo usado por terceiros.
- oblitum/YouCompleteMe : Live at oblitum/YouCompleteMe
- Atualmente mantêm um fork do projeto YouCompleteMe para suportar code completion de argumentos.
- YouCompleteMe é um projeto conhecido por oferecer sugestões fuzzy de completion no editor Vim.
- Linguagens de programação:
C
C++
Go
Rust
Python
Assembly
Javascript
PureScript
- Bibliotecas:
STL
Boost
POSIX
Windows API
Qt
OpenGL
ZeroMQ
- Plataformas:
Linux
OS X
Windows
Embarcado
- Teoria:
Algoritmos
Estruturas de dados
- Ferramentas:
CLI
Vim
tmux
gdb
gcc
clang
msvc
CMake
Valgrind/Helgrind
scan-build
VCS/DVCS (Git, Bazaar, SVN, ...)
Jenkins
Visual Studio
Eclipse
Qt Creator
WinDBG (Kernel Mode)
- Idiomas:
Inglês (intermediário~avançado)
Português (nativo)
Grau | Curso | Instituição | Ano de Graduação |
---|---|---|---|
Técnico | Mecatrônica | SENAI Armando Arruda Pereira | 2005 |
Técnico | Informática | ETE Lauro Gomes | 2003 |
- Freelancer, (1/2014 – present)
- Tenho licenciado comercialmente meu próprio software, enquanto faço contribuições open-source.
- Técnologias usadas:
o que for mais adequado
- Programador Senior, GeekSys Serviços de Informátida LTDA (3/2015 – 8/2016)
- Trabalhando em vários níveis de uma startup, desde construir serviços backend em Go e captura de vídeo em C++ e Python, a frontend Javascript.
- Fui essencial na implementação de pilhas de software inteiras assim como na escolha das ferramentas e dependências certas.
- Trabalhei na interface entre código C++14 (para comunicação com dispositivo) e Go. Assimilei vários detalhes de interop.
- Defini fluxos de trabalho baseados em git a serem adotados. "Salvei o dia" em várias ocasiões com tarefas relacionadas a git.
- Fui um pouco mentor em casos de depuração e codificação C++.
- Trabalhei em escritório e remoto.
- Técnologias usadas:
C
C++14
Poco
Boost
CMake
ZeroMQ
ffmpeg
Python
Go
Git
Javascript
REST
MongoDB
Meteor
AWS
Vim
Gcc
Gdb
Linux
UML
- Programador Senior, Sertec Sistemas e Assessoria LTDA (4/2013 – 8/2013)
- Desenvolvimento C/C++ para parsing de protocolos de dispositivos de rastreamento GPS. Comunicação TCP/UDP e análise de performance.
- Iniciativa em usar ferramenta para análise estática (cppcheck e clang scan-build) na base de código para verificação de bugs (~100 bugs removidos em primeira análise) e Helgrind na análise de problemas de concorrência.
- Proposta e adoção inicial de sistema de documentação (Doxygen).
- Proposta para implantação de testes unitários (googletest), migração de projetos IDE centric para CMake (com benefícios para a automatização de builds), um DVCS (Git), um servidor de CI (Jenkins) e Redmine para gerenciamento e bug-tracking.
- Identificou problemas de throughput com servidor de comunicação com dispositivos GPS.
- Técnologias usadas:
C
C++
Vim
Git
SVN
git-svn
TCP
UDP
POSIX
Valgrind/Helgrind
Doxygen
clang
gcc
Linux
PostgreSQL
NetBeans IDE
- Engenheiro de Pesquisa e Desenvolvimento, TOTVS (5/2011 – 6/2012)
- Desenvolvimento em C++ de maquinas virtuais para linguagens de negócios. Desenvolvimento de GUI com Qt 4.
- Curto envolvimento em projetos menores lidando com COM e dispositivos POS.
- Técnologias usadas:
C++
Qt 4
CMake
Compiladores
Máquinas Virtuais
Testes Unitários
Jira
Kanban
Scrum
POS
Windows
- Analista Programador C Junior, SCUA Segurança da Informação (1/2010 – 4/2011)
- Programação de sistemas (programas, serviços, drivers) para a área de segurança de dados e detecção de hardware e software, Windows e Linux.
- Técnologias usadas:
C++
C
WDM
Windows API
Bazaar
MBR
Linux
Criptografia
Bootloader
Windows
Linux
- Programador Junior, HI-T Software LTDA (11/2008 – 12/2010)
- Desenvolvimento de jogos com Director/lingo e Flash/ActionScript 3.
- Realização de pequenos projetos com Assembly (aplicação envolvendo Microchip PIC, comunicação RS232 e criptografia), C# (Microsoft .NET Framework; Comunicação com sistema embarcado), C++ (Macromedia Open Architecture, tecnologia baseada em COM para desenvolver extensões shockwave).
- Técnologias usadas:
Shockwave
Lingo
Flash
ActionScript 3
C#
PIC
Assembly
C++
- Freelancer, (1/2004 – 7/2005)
- Ajudando meu professor de C++ na correção de provas, produção de material didático java e programação em Mathematica para Mestrado em Engenharia Elétrica.
- Técnologias usadas:
Mathematica
Java
C++
C
- patches, bugs, projetos, opiniões, etc (escolhidos a esmo)
- windows kernel mode device hook
- implementation for completion in call context for C++
- C & C++ Brazil comunity's web site revamp
- c++11 standard editorial fix
- c++11 raw string literals on vim
- libclang python interface optimization
- reduced libclang bug with patch
- reduced libclang bug
- reduced clang bug
- circular header inclusion dependency in boost.math
- featured on isocpp.org
- qt opengl patch