Joao Prado Maia

Software Engineer, Author 6 Hermit Thrush Place The Woodlands, TX 77382 resume@pessoal.org - http://pessoal.org

Skill Areas
PHP: 11 years developing web-based applications for personal use and 10 years implementing enterprise level applications Web 2.0: Strong hands-on experience in developing Web 2.0 applications through the use of JavaScript and AJAX. Very experienced with Prototype and script.aculo.us libraries. WWW: Very strong experience developing web-based applications with PHP, JavaScript, HTML/XHTML/XML/CSS. iPhone: Experienced with Objective-C and the iPhone SDK framework. Usability: Focused on providing the best user experience to users by designing simple and beautiful interfaces. SQL: 10 years experience utilizing SQL for software development using MySQL. Also experienced with PostgreSQL, Microsoft SQL Server and Oracle. Unix: 13 years of personal use (mainly Linux), installing and maintaining systems and 10 years using various flavors of Unix for job related tasks. Python: 4 years of experience developing applications with several versions of Python (1.5.2 up to 2.2). Other languages: varying degrees of familiarity with Java, Perl, TCL and C/C++. Not an advanced level, but enough to be familiar quickly if required.

Experience
Alert Logic, Inc., January 2006 - present UI Team Lead; Lead Software Developer; Usability Architect Managed all of the daily tasks of this group, such as managing projects in Agile methodology (Scrum) and mentoring junior developers. Interfaced with senior management when gathering requirements from users to build technical specifications for upcoming projects. Led a team of software engineers in re-writing the company's flagship Invision Security product from Perl into PHP. We delivered this project in record time, and still using the latest technologies such as PHP5, Smarty, XHTML/CSS and AJAX. Projects ranged from implementing a new reporting system from scratch with features to export reports in Excel and PDF formats, as well as to schedule re-occuring reports. Rearchitected areas of the product to make use of Gearman, pushing a few long running processes to be executed in asynchronous mode. Also pushed to apply the well known YSlow performance rules, as well as use Memcached where possible. Managed entire user experience design by pushing developers to build user interfaces that are simple, easy to use and innovative.

Implemented a pragmatic approach to software development by applying a consistent set of coding standards and other practices such as unit testing, phpDoc documentation of the code, and automated builds through the use of CruiseControl / phpUnderControl. Applied a complete workflow from dealing with Subversion to handle new branches for upcoming product releases, to integrating with Trac (bug tracking system) when fixes are finished. Implemented a custom code review system to ensure quality through code inspection by the developer's peers. Impleo Software, January 2005 - present Principal Developed multiple iPhone applications now being sold through the App Store. Functionality range from downloading XML data from the network, to parsing web service results in JSON format, to displaying PDF content inline within the application. Worked as a consultant to several companies implementing both iPhone and web based applications. A few examples include: HAR.com: currently working in the iPhone application for the Houston Association of Realtors. This is a very high profile application for the local Houston real estate market. Placebeat.com: implemented the public facing web site from scratch, including integration with YouTube and Amazon S3. Also implemented the Facebook application of the same name, providing deep integration of the web site features from within Facebook. Insightory.com: implemented the complete web site from scratch, with features such as converting uploaded business documents to a format acessible via the Web. MySQL AB, August 2003 - January 2006 Senior Software Engineer Led the development of all MySQL Network related tools: Advisor system - an alert system that sends out email/SMS/pager notifications to paid customers about new MySQL product releases, bug announcements and security advisories. Knowledge base - a full blown revision-control system that allows MySQL staff to write new articles, perform technical and editorial reviews and publish content. This system also allows paid customers to full-text search on existing content, suggest new article topics and rate content. Certified software and Update server - server-side authentication routines that tie the Update server with MySQL's proprietary customer database. Dynamically generating download pages for 20+ different product distribution types, across a set of 10+ platforms. Reporting tools - full set of reports for all types of parameters, such as popular knowledge base articles, groups of articles (topics), level of participation by MySQL staff and even business metrics related to paid customers. Created, designed and implemented Eventum, an issue tracking system that was originally intended to be commercialized. MySQL AB acquired the rights to this product,

hired me as a full-time employee and released the software under the GNU General Public License. Work in developing Eventum was aimed at the needs of the Support team, a growing group of around twenty support developers, to provide an easier and better tool to manage incoming support tickets. Eventum replaced their legacy support system, and is still used to track all communications between customers and support developers. Full responsibility in gathering requirements from users and converting those into specifications. The full life cycle of the development, such as overall software design, database schema and code, was also a part of the job. Lexicon Genetics, Inc., September 2001 - August 2003 Software Engineer Employed as a software engineer in the Functional Informatics group of the Informatics department. The main responsibility was related to the continued development of the Lexicon's flagship LexVision software, which was licensed by several partners, including Bristol-Myers Squibb, Genentech Inc. and Incyte Genomics. Our platform made use of PHP, MySQL, Oracle, Java and CVS. Major accomplishments include the successful design, development and deployment of several projects, which range from integration software to the LexGene application, that is used in the company to prioritize the research of new drugs and projects, to the integration with Augeo, a project management software that is used across the company to manage the existing research projects and their respective timelines. Introduced and deployed a central issue tracking system software that is used across the group to keep track of new projects, feature requests and bugs, with full integration between the code releases and the source control management software (currently CVS). Served as the group's MySQL DBA, performing related tasks such as administrating the databases and schemas, backups and code releases that require database changes. Implemented an issue tracking system that among other things helped keep track of all database changes, across the several code sets. Kefta Inc., August 2000 - May 2001 Software Engineer Performed web development duties, which include developing and supporting a PHPbased Kefta Referral Software with support for several modules, such as Oracle and MySQL abstracted using a PHPLIB-like API, LDAP and others. Also worked on a rewrite of Kefta's internal application software to port most of the PHP code, such as APIs and other important functionality to CORBA interfaces written in Python. The task included designing IDL files, and writing technical specifications for the new CORBA servers and unit testing the new platform using Python with modules such as DCOracle, MySQLdb and Pythonldap. It used omniORBpy for the CORBA interfaces. Ready Set Net, April 2000 - August 2000
Software Team Leader / Senior Software Developer

Implemented several websites and custom software for assorted companies, such as California Pizza Kitchen, Kurgan & Cheviot, and JustSports. Managed a group of 6 programmers and web developers working in projects that were developed in PHP and PostgreSQL.

Designed the required PostgreSQL databases and oversaw the database creation of the various programmers in the team. UFRJ - Federal University of Rio de Janeiro, August 1999 - April 2000
Software Engineer / Database Administrator

Developed an Intranet Finance administration system using ASP and SQL Server 7.0 as the back end. Every financial data can be handled in one application from anywhere on campus through this Intranet. Created a contact database for UFRJ's cultural museum. Some of the features include full indexed text search, the ability to send browser based e-mail to contacts, printing elected contacts for invitations on upcoming events and a scheduling system for local users. It was fully developed using ASP and Microsoft SQL Server.

Publications
Co-authored Smarty PHP Template Programming and Applications - Published April 2006. Articles: The Dynamic Duo of PEAR::DB and Smarty - O'Reilly Network PHP DevCenter April 2003 Introducing Smarty: A PHP Template Engine - O'Reilly Network PHP DevCenter - September 2002 Internationalization (I18N) with PHP's Gettext Extension - O'Reilly Network PHP DevCenter - June 2002 7 other articles related to PHP and JavaScript published under O'Reilly Network.

Personal Projects
Houston PHP/MySQL Users Group, main organizer - I organize the monthly meetings of this user group by managing its schedule of presentations from members of the group, and also by doing sessions myself when there is a need. PHPBrasil.com, owner and maintainer - a PHP related resource site aimed at Brazilian developers. It includes a Script repository index, Tutorials, Articles and Job Posting features to registered members. The site is widely regarded as the primary community site for PHP developers in Brazil. Papercut, author and maintainer - a Python based multi-threaded Usenet server. It implements most of the features of the NNTP protocol (RFC0977) and several of the extensions described in RFC2980. The project primary objective was to create a custom Usenet server to serve as a gateway to a web-based message board software, but it has grown much since then. One of its most important features is flexibility and simplicity of its design, allowing any user to extend its features and create a custom plug-in to it. Papercut is released under the BSD license.