São Paulo, Brasil
Fernando Maia
nandoflorestan@gmail.com
Interests
Employment
- FairSplit
- Software architect and lead developer
- September 2014 ― present
- Activities:
Development of a large web application in Python with Pyramid, SQLAlchemy, Celery and Mithril, leading the development team and
making all the software architecture decisions.
- Titans Group
- Python developer
- September 2013 ― March 2014
- Activities:
Complex application development with Flask, Celery and automated tests
in a larger Scrum team, performing extensive architectural refactorings with the applications already in production.
- Predicta
- Python developer
- March ― June 2013
- Activities:
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
- Activities:
Web application (form.mootiro.org)
development in Python, Javascript, HTML 5 and CSS, using the
Pyramid
and Django web frameworks,
through the Scrum development methodology.
- Oui desenvolvimento de software
- Python developer
- January 2008 ― December 2010
-
Activities:
Web programming in Python, Javascript, XHTML, and CSS, for
web applications, content websites and furniture stores such as
Isto é Brasil.
- Coerente Tecnologia
- Java and Javascript developer
- 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
(zonad.com.br,
spfilmes.com.br,
dmrengenharia.com.br,
marialuisa.com.br...).
Texts revision and translation.
Expertise
- Web standards
- Profound knowledge of HTML 5, XHTML, CSS, Javascript, jQuery, AJAX,
JSON, tableless design, HTTP, REST, MIME, bootstrap...
- Python web frameworks
- Python GUI frameworks
- Python libraries
- DBMS
- 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
- 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),
Sonar,
Audacity,
Cool Edit Pro / Adobe Audition,
Kontakt etc.
Open source creations
-
kerno
- Framework for building large applications in Python, approximating
Uncle Bob Martin's Clean Architecture.
-
pluserable
- Pluggable application for Pyramid, containing generic user
registration, login, password alteration etc.
- keepluggable
- 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.
-
Kajiki
- With my bug corrections, the project is finally ready to become the most widely used template language in Python.
-
releaser
- Automates the process of releasing a new version of some software.
-
nine
- Python 2 and 3 compatibility, such that your code looks more like Python 3.
-
bag
- Various utility functions and classes for Python 2 and 3 and for
the Pyramid web framework, including internationalization for
javascript code and jquery templates, a Pyramid-Genshi connector etc.
-
BRDK
- 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.
-
MootiroForm
- Generic web form creator which focuses the needs of NGOs.
-
deform_bootstrap_extra
- Extra widgets and features for the "deform" form library and its complement "deform_bootstrap".
-
backalaika
- Backalaika is not a russian musical instrument, it is a simple backup solution for
small offices, written in Python.
-
MIME Parser
- 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.
Education
Autodidact developer