São Paulo, Brasil
Fernando Maia
nandoflorestan@gmail.com
Áreas de interesse
Experiência
- FairSplit
- Arquiteto de software e desenvolvedor líder
- Setembro de 2014 ― presente
- Atividades:
Desenvolvimento de grande aplicação web em Python com Pyramid,
SQLAlchemy, Celery e Mithril, liderando o time de desenvolvimento
e tomando todas as decisões de arquitetura de software.
- Titans Group
- Desenvolvedor Python
- Setembro de 2013 ― Março de 2014
- Atividades:
Desenvolvimento de aplicações complexas com Flask, Celery e
testes automatizados, num time Scrum mais numeroso, fazendo
alterações de arquitetura com as aplicações já em produção.
- Predicta
- Desenvolvedor Python
- Março a junho de 2013
- Atividades:
Um time Scrum composto de 4 desenvolvedores Python, um matemático e um neurocientista criamos uma aplicação web, com deployment no Google App Engine. Porque o projeto era complexo, insisti que todos usássemos um vocabulário comum. Tomei decisões com o usuário final em mente, melhorando as ideias de alguns recursos, priorizando-as e, ocasionalmente, optando por não implementar um "desrecurso". Refatoramos agressivamente, não deixamos o débito técnico acumular e insisti que formatássemos o código pela PEP-8 porque legibilidade era muito importante. Tomei decisões de arquitetura, mas nunca sozinho, compartilhando essa responsabilidade com os outros excelentes programadores do time.
- Instituto de tecnologia para o terceiro setor
- Desenvolvedor sênior
- Janeiro de 2011 a fevereiro de 2012
- Atividades:
Desenvolvimento de aplicações web
(form.mootiro.org)
em Python, Javascript, HTML 5 e CSS, usando os frameworks web
Pyramid
e Django, através da metodologia de desenvolvimento Scrum.
- Oui desenvolvimento de software
- Desenvolvedor
- Janeiro de 2008 a dezembro de 2010
-
Atividades: Programação web em Python, Javascript, XHTML e
CSS, para aplicações web, sites de conteúdo e lojas de móveis como
thonartegabriel.com.br.
- Coerente Tecnologia
- Desenvolvedor Java e Javascript
- Julho a dezembro de 2007
- Unibanco ― Centro Administrativo
- Desenvolvedor web C# / ASP.NET
- Maio de 2006 a fevereiro de 2007
-
Atividades: Atuar numa equipe de 20 pessoas, portando para
a plataforma asp.net a aplicação usada pelos gerentes de agência do Unibanco.
Essa aplicação era imensa; além de implementar partes dela, fiz experimentos
procurando enxugar a aplicação e medir a performance. Ajudei a planejar e
implementar um framework de tratamento de retorno (do mainframe), com
mensagens que poderiam ser trocadas a quente.
- À Capela comunicação, marketing e informática
- Desenvolvedor (C#, Delphi, VB)
- Julho de 2001 a abril de 2006
-
Atividades: Toda a manutenção dos computadores da agência
(Macintosh, Windows e Ubuntu Linux), incluindo hardware, software e backup.
Programação web em C# / ASP.NET
(zonad.com.br,
spfilmes.com.br,
dmrengenharia.com.br,
marialuisa.com.br...).
Revisão de textos e tradução.
Expertise
- Padrões web
- Profundo conhecimento de HTML 5, XHTML, CSS, Javascript, jQuery, AJAX,
JSON, tableless design, HTTP, REST, MIME, bootstrap...
- Python web frameworks
- Python GUI frameworks
- Bibliotecas Python
- SGBDs
- Melhores práticas
- Metodologias ágeis: XP e Scrum
- TDD / testes automatizados
- Design patterns e refactoring (Gang of Four, Martin Fowler)
- Programação orientada a objetos. Criação de componentes reutilizáveis e de frameworks
- Paradigmas de arquitetura: MVC, 3 camadas
- Correta compreensão das licenças open source
- Sistemas de controle de versão
- Sistemas operacionais
- Outras tecnologias
- 4 anos de experiência com C# / .net framework 2.0
- Também trabalhou com Visual Basic, Delphi, Java, Eclipse, CVS, Source Safe, MS Access, Windows 7, Windows XP...
- Como compositor e pianista, é usuário experto de
Sibelius (editor de partitura),
Sonar,
Audacity,
Cool Edit Pro / Adobe Audition,
Kontakt etc.
Criações open source
-
kerno
- Framework para criação de grandes aplicações em Python, aproximando
a Clean Architecture preconizada por Uncle Bob Martin.
-
pluserable
- Aplicação plugável para Pyramid, para registro de usuários, login,
alteração de senha etc.
- keepluggable
- Biblioteca para armazenar imagens e arquivos, feita de componentes plugáveis. Os payloads podem ser guardados no Amazon S3 ou no sistema de arquivos. Há um backend para armazenar metadados com SQLAlchemy e outros backends podem ser desenvolvidos facilmente.
-
Kajiki
- Linguagem de template que, com minhas correções de bugs, está finalmente pronta para se tornar a mais utilizada em Python.
-
releaser
- Automatiza o processo de liberação de uma nova versão de um software.
-
nine
- Permite escrever código em Python 3 compatível com Python 2.
- bag
- Várias funções e classes utilitárias para Python 2 e 3 e para o
framework web Pyramid, incluindo internacionalização para javascript e
jquery templates, conectores Pyramid-Genshi e Pyramid-Kajiki...
- BRDK
- Drivers de teclado para Windows e UNIX – o primeiro layout de teclado Dvorak para a língua portuguesa. Num teclado Dvorak, os dedos se movem 42% a menos do que num teclado QWERTY, prevenindo lesões à mão e proporcionando mais conforto.
-
MootiroForm
- Criador de formulários web genéricos, focando as necessidades das ONGs.
-
deform_bootstrap_extra
- Widgets e recursos extra para a biblioteca de formulários "deform" e seu complemento "deform_bootstrap".
- backalaika
- Backalaika não é um instrumento musical russo, é uma solução de backup simples para pequenos escritórios, escrita em Python.
- MIME Parser
- Biblioteca C#/.net para receber e "entender" mensagens de e-mail e suas partes. Sua maior vantagem é ser completamente orientada a objetos, no sentido de que a árvore de partes MIME é representada por classes polimórficas que contêm dados e comportamento. Isto lhe permite representar qualquer mensagem de e-mail, com qualquer configuração de attachments.
Educação
Programador autodidata