Fábio Uechi 1. Solution architect, technical lead and senior software engineer 2. 10+ application development with 8 years in web applications in Java and .NET and 5 years utilizing agile development methods. 3. 5+ working with Agile methods, including Scrum, Extreme Programming (XP) and iterative development 4. 7+ working with Java/JEE, including one year with JME and some open source contributions 5. 5+ experience with continuous integration systems and build tools including deployment pipelines design and implementation 6. 3+ experience with Cloud Computing platforms such as Amazon AWS (EC2, S3, EMR, ELB, CloudFront) and Google Cloud Platform (App Engine, Big Query, Cloud Storage, Cloud SQL) 7. 6+ experience as a Technical Lead on large complex projects working with teams of three to eight developers and testers 8. Active open source contributor including plug-ins for integrating Grails and XMPP/Jabber and also CMVC to continuous integration servers such as Jenkins and Cruise Control. 9. Proven expertise in software architecture design on JEE platform and Microsoft .NET framework. 10. Software as craftsmanship, clean code, refactoring, test-driven development (TDD) adept. 11. Special focus on agile methodologies and techniques, including agile modeling. 12. Extensive experience in enterprise software development life-cycle. 13. In-depth knowledge and experience in information systems architecture, software design methodologies, software design patterns, and object oriented design. 14. Experience in performance testing of web based and client server applications 15. 4+ experience in performance testing using Apache JMeter 16. 5+ experience automating build, deployment and release processes 17. 3+ developing Java web applications for Google App Engine 18. 3+ designing and developing applications leveraging Google Cloud Platform (App Engine, Big Query, Cloud Storage, Cloud SQL) 19. 3+ designing and developing applications leveraging Amazon Web Services (EC2, S3, EMR, ELB, CloudFront) 20. Managed/Technical Lead work teams of three to eight developers and testers Work Experience Ci&T Software S.A., Campinas, SP, Brazil (2004-) Systems architect 1. Helped japanese customer developing its Big Data analytical infrastructure leveraging Cloud Computing platforms (Google and AWS). Designed and developed an automated data ingestion pipeline for Google BigQuery using various Google APIs and Apache Pig scripts running on top of Elastic MapReduce Hadoop distribution. 2. Led 4 teams of four to eight people each, including developers, testers, architects and ux designers, to develop enterprise web applications on top of Google App Engine for one of the largest health insurance companies in Brazil 3. Standardized and implemented deployment pipelines throughout 4 development teams helping achieving a repeatable, more reliable and consistent delivery process. 4. Helping to advocate and spread Cloud Computing platforms and related expertise, internally at Ci&T. Lead software architect 1. Worked on several projects across the whole software development lifecycle including analysis, design, coding and implementation of large scale custom built, object-oriented (mostly web based) applications for different companies from varied segments using either .NET or JEE. 2. Technically led teams of four to eight people, including developers, testers and ux designers. 3. Implemented maintainable automation frameworks and (acceptance) test suites using open source testing tools which made it possible to conduct major refactorings to support new requested features and improve internal code quality. 4. Designed, planned and executed several performance tests using Apache JMeter and other scripting tools including results compilation, analysis and reports. 5. Designed, implemented and managed build & deployment systems, including deployment pipelines, using Jenkins and CruiseControl CI servers. 6. Conducted and completed an AWS partnership program to make the company an official AWS Solution Provider. 7. Moderated weekly coding dojo meetings to spread test-driven development culture. 8. Participated on several product backlog inceptions (product discovery). Technical Lead 1. Led teams of four to eight developers. Responsibilities included design and code reviews, planning, project task estimations and configuration management. Coordinated with UX team to create UI prototypes. 2PEAK High Tech Trainings (2004) JME architect and software engineer 1. Designed, implemented and tested a JME SMS enabled application for athlete training data logging, scheduling and notification. Apps’s main features include: rich and easy to use iconized UI, internationalization (english, german and portuguese – easy to include new locales), HTTP and SMS based client/server communication, local data storage, SMS push enabled. 2. The application was firstly developed for Nokia 6600 then ported to Siemens M65. 3. Technologies/tools used: J2ME, MIDP 2.0, CLDC 1.0, WMA 1.1, SMS, GPRS, Antenna, JME polish, Eclipse, eclipseME, WTK 2.1, Nokia, Siemens, PalmOS, Blackberry, Sony ericsson SDKs, devices and emulators. University of Applied Sciences Solothurn Northwestern Switzerland, Olten, Switzerland (2003-2004) Programmer (IAESTE trainee) 1. Designed and developed e-health distributed applications. Worked on various applied research projects, in close cooperation with other Swiss universities of applied sciences and industrial partners. Participated in extensive research and prototyping using the latest JEE/JME technologies. The details are listed below: 1. The project "web enabled devices" was funded by the Swiss Federal Government in close cooperation with other partners universities. It comprised the development of a web services based remote cardiac monitoring system for small and medium sized embedded devices. Worked on the server side. Designed and developed a three-tiered web based application, for data visualization, using JEE (EJB, struts, JSP, servlets, jboss) and web services (Axis, SOAP, WSDL) technologies. 2. The project “eFitness” comprised the development of a mobile and distributed training data management system for professional athletes and trainers incorporating web services, .NET, .NET compact framework, JEE, XML, ANSI SQL. Redesigned and implemented the server side storage and data management, allowing the athlete to log his/her training data to the server using web services with XML attachments, either from a desktop pc, a pocket pc or a mobile. Conducted a major refactoring of the server side implementation and also developed a three-tiered web client, allowing the trainers to analyze the athlete’s info. Also designed and developed a mobile training data management client prototype for MIDP2 compliant devices. The main requirements were an icon based and friendly user interface for easy operation and a SMS based client-server communication. This prototype originated the partnership between the university and 2PEAK. 1. Technologies/tools used: JME (MIDP 2.0, CLDC 1.0, WMA 1.1, push registry, RMS), SMS (Kannel - wap and sms gateway), GPRS, web services (Hessian, Axis), XML (Castor), springframework, EJB, JSP/servlets, tiles, Cactus, Xdoclet, Antenna, CVS, Eclipse, Hsql, Middlegen. Ci&T Software S.A., Campinas, SP, Brazil (2002-2003) Programmer (trainee) 1. Worked as a junior developer on teams of two to ten members on several projects using Java platform. Focused mainly in the Rational Unified Process (RUP) Implementation discipline. 2. Technologies/tools used: JEE, EJB, JSP, JDBC, JAXB, Javascript, HTML, CSS, design patterns, Eclipse, proprietary Java components, UML, Oracle, Pl/Sql, Sybase, web services, Junit, Ant, CMVC, etc. Education B.S. in Computer Science, UFSCar – Federal University of São Carlos (1999-2002) Technical skills 1. Development tools - Ant, Eclipse, Maven, WTK, J2ME Polish, Antenna, XDocLet, Nant, MSBuild, Gradle, etc 2. Version Control Systems - CMVC, CVS, SVN, Git. 3. Continuous Integration Systems - Cruise Control (.NET and Java), Continuum, Jenkins. 4. Performance/Load/Stress testing - JMeter 5. Development frameworks - Grails, Spring Framework, Struts, Velocity, Axis (web services), ANTLR, Gaelyk, and many others open source initiatives. 6. ORM - Hibernate and NHibernate 7. Web technologies - CSS, XHTML, Javascript, AJAX, XSLT, XML, JSON, Prototype, Scriptaculous, JQuery, YUI, GWT, ExtJS 3+, AngularJS, etc. 8. Testing frameworks - Cactus, Junit, DBunit, J2MEUnit, jwebunit, htmlunit, Canoo WebTest, JMeter, WebDriver (Selenium), Nunit, WatiN, Geb, etc. 9. Application servers - JBoss, Tomcat, Weblogic, Websphere, Oracle AS, IIS. 10. Databases - HSQL, MySQL, Oracle, Sybase, PostgreSql, SQL Server, Big Table (datastore), etc 11. Mobile technologies - JME (MIDP 1.0/2.0 - CLDC 1.0/1.1), Kannel (SMS gateway), IOS development 12. Operational systems - Linux, Windows 13. Programming languages - Java, C#, Groovy, Javascript, Bash, Objective-C, Python. 14. Modeling Tools - Rose, Enterprise Architect, StarUML, Together. 15. Cloud Computing - Amazon Web Services (AWS, EC2, S3, EMR, CloudFormation), Google Cloud Platform (App Engine, Big Query, Cloud SQL, Cloud Storage), Google Apps Deployment 16. Big Data - Apache Hadoop, Apache Pig, Google Big Query Courses 1. Basic java course (language fundamentals) - 06/2002; 2. Advanced java course (JDBC, Servlets, JSP, JSTL, EJB, JTA, JMS, JAXB) - 02/2003; 3. Rational Unified Process - 05/2002; 4. Object Oriented Analysis and Design Using UML - 04/2003 5. Advanced Vignette Content Suite 7.X Architecture/Development - 05/2006 6. Basic Sharepoint course. - 04/2008 7. Several talks and workshops on Agile 2010 Conference - 06/2010 8. DDD CQRS Webinar with Greg Young - 08/2010 9. QCON SP - 09/2010 10. Certified Google Apps Deployment specialist 11. Developing Apps for iOS by Paul Hegarty (online course) 12. Continuous Delivery for DevOps Workshop - 08/2011 13. Machine Learning - Coursera - 2012