Joao Prado Maia
Software Engineer, Author
83 West Hullwood Circle
The Woodlands, TX 77389
resume@pessoal.org -
http://pessoal.org
Skill Areas
- PHP: 21 years developing web-based applications for personal use and
20 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,
script.aculo.us and jQuery libraries.
- WWW: Very strong experience developing web-based applications with
PHP, JavaScript, HTML/XHTML/XML/CSS.
- iOS: Very experienced with Objective-C, Swift and the iOS SDK framework. Built dozens of commercial applications since the SDK became available.
- Android: Experienced with Java and building native applications for the Android platform.
- Usability: Focused on providing the best user experience to users by
designing simple and beautiful interfaces.
- SQL: 20 years experience utilizing SQL for software development
using MySQL. Also experienced with PostgreSQL, Microsoft SQL Server and Oracle.
- Unix: 20 years of personal use (mainly Linux), installing and
maintaining systems and 15 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 Perl, TCL and C/C++.
Not an advanced level, but enough to be familiar quickly if required.
Experience
Owner; Principal
- Developed several iPhone applications now being sold through the App Store.
Functionality ranging from downloading XML data from the network, to parsing web service
results in JSON format, to displaying PDF content inline within applications.
- Worked (full time since 2011) as a consultant to several companies implementing both iPhone and web based
applications. A few examples include:
- Bongo: project included full system architecture and implementation of the product,
all the way from initial mockups to iPhone applications to power consumer and merchant
facing features, as well as the public web site with a backend merchant console. Product
also required integration with Stripe as a payment processing gateway.
- HAR.com: currently working on the iPhone/iPad application for the Houston Association of
Realtors. This is a very high profile application for the local Houston real estate
market.
- Crushd: project involved both system architecture, backend development as well as
the actual iPhone development for the Crushd application. Software was deployed and
managed on Amazon Web Services with EC2 and RDS.
- 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,
as well as using Sphinx to provide full text searches on these documents.
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. Re-architected 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. Wrote build system that automatically generated
Debian packages for each product release to QA. Implemented a custom code review
system to ensure quality through code inspection by the developer's peers.
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.
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 PHP-based 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.
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.
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
Personal Projects
-
Houston iPhone Developer's Meetup, founder and organizer - I
founded the group late 2008 to share experiences with other local developers, and the group
has grown to (as of early 2021) around 2,200 members. We do monthly meetings with presentations
from members of the community, focusing on sharing tips and tricks on iPhone development topics.
-
Houston PHP/MySQL Users Group, organizer - I
organize the monthly meetings of this user group since 2005 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.