São Paulo, Brasil
- Software architect
- Open source
- Classical music / piano
- Software architect and lead developer
- September 2014 ― present
Development of a large web application in Python with Pyramid, SQLAlchemy, Celery and AngularJS, leading the development team and
making all the software architecture decisions.
- Titans Group
- Python developer
- September 2013 ― March 2014
Complex application development with Flask, Celery and automated tests
in a larger Scrum team, performing extensive architectural refactorings with the applications already in production.
- Python developer
- March ― June 2013
I developed a Python web application, deployed on Google App Engine, in a team comprised of 4 Python developers, a mathematician and a neuroscientist, using the Scrum agile methodology. Because the project was complex, I insisted we all agreed on a common vocabulary. I made decisions with the end-user in mind, improving the ideas of some features, prioritizing them and sometimes, choosing not to implement a misfeature. I refactored agressively, didn't let technical debt accumulate and demanded we formatted the code according to PEP-8 because readability was very important. I made architectural decisions, but never alone, sharing that responsibility with the great programmers on the team.
- Instituto de tecnologia para o terceiro setor
- Senior developer
- January 2011 ― February 2012
Web application (form.mootiro.org)
and Django web frameworks,
through the Scrum development methodology.
- Oui desenvolvimento de software
- Coerente Tecnologia
- July ― December 2007
- Unibanco ― Centro Administrativo
- C# / ASP.NET web developer
- May 2006 ― February 2007
Activities: In a team of 20, I helped port to the asp.net platform the application used by Unibanco agency managers ― a huge web app. I also made experiments to improve overall performance on the framework. I helped plan and implement a framework for treatment of data returned by the mainframe, with messages that could be hot-swapped.
À Capela comunicação, marketing e informática
- Developer (C#, Delphi, VB)
- July 2001 ― April 2006
Activities: Complete maintenance for the agency's computers
(Macintosh, Windows and Ubuntu Linux), including hardware, software and backup.
Web programming in C# / ASP.NET
Texts revision and translation.
- Web standards
JSON, tableless design, HTTP, REST, MIME, bootstrap...
- Python web frameworks
- Python GUI frameworks
- Python libraries
- Best practices
- Agile methodologies: XP and Scrum
- TDD / Test-driven development
- Design patterns and refactoring (Gang of Four, Martin Fowler)
- Object-oriented programming. Creation of reusable components and frameworks
- Architecture paradigms: MVC, 3-tier
- Understanding of open source licenses
- AngularJS, JQuery, Mootools, MochiKit, TinyMCE, WYMeditor...
- Version control systems
- Operating systems
- Other technologies
- 4 years experience with C# / .net framework 2.0
- Also worked with Visual Basic, Delphi, Java, Eclipse, CVS, Source Safe, MS Access, Windows 7, Windows XP...
- As a music composer and pianist, is an expert user of
Sibelius (score writer),
Cool Edit Pro / Adobe Audition,
Open source creations
- Framework for building large applications in Python, approximating
Uncle Bob Martin's Clean Architecture.
- Pluggable application for Pyramid, containing generic user
registration, login, password alteration etc.
- Library that stores images and files, made of pluggable components. Payloads can be stored in Amazon S3 or in the filesystem. There's a backend for storing metadata with SQLAlchemy and other backends can be easily developed.
- With my bug corrections, the project is finally ready to become the most widely used template language in Python.
- Automates the process of releasing a new version of some software.
- Python 2 and 3 compatibility, such that your code looks more like Python 3.
- Various utility functions and classes for Python 2 and 3 and for
the Pyramid web framework, including internationalization for
- Keyboard drivers for Windows and UNIX – the first Dvorak keyboard layout for the Portuguese language. On a Dvorak keyboard the fingers move about 42% less than on a QWERTY keyboard, preventing hand injuries and providing greater comfort.
- Generic web form creator which focuses the needs of NGOs.
- Extra widgets and features for the "deform" form library and its complement "deform_bootstrap".
- Backalaika is not a russian musical instrument, it is a simple backup solution for
small offices, written in Python.
- C#/.net library for receiving and understanding e-mail messages and their parts. Its greatest advantage is being completely object-oriented, in the sense that the tree of MIME parts is represented by polymorphic classes which contain data and behaviour. This allows it to represent any e-mail message with any configuration of attachments.