RENATO GOLIN rengolin (at) systemcall (dot) org QUICK ACCESS http://rengolin.systemcall.org/ http://www.linkedin.com/in/rengolin ABOUT ME I am a programmer since the early 80's in many platforms and programming languages. I'm a wannabe scientist and an experienced software engineer. I've done a bit of everything: low-level C software, C++ libraries and graphical interfaces, Java, Perl and PHP web systems, worked with (and written new) database systems, network services, games and distributed computing in a plethora of environments. Unix is my window to this world for 15 years already, giving a special emphasis (and return) to the open source community. Distributed computing for me is not only a tool to achieve high performance or availability but a new way to solve old problems in a more efficient way. Innovation needs responsibility. Engineering needs creativity. Each software is a unique life form. FOCUS My current focus is on technology and development on restricted environments, from small memory to highly distributed systems, where normal development assumptions are not valid any more, always focusing on software quality and business continuity. TECHNICAL EXPERIENCE - Development in C, C++, Java, Perl and PHP - Unix development and management - Relational databases (MySQL Geek) - Distributed computing development and administration - Tech Lead and Self-Management - Development of mission-critical software and scientific algorithms PROFESSIONAL EXPERIENCE ARM - Cambridge / UK ------------------------------------------------ 12/2008 to current Job: Senior Software Engineer Roles: - Member of Software Development Department, working on development tools Achievements and Responsibilities: - Development of an Eclipse-based embedded debugger in Java EBI / EMBL - Cambridge / UK ------------------------------------------------ 12/2005 to 11/2008 Job: Software Engineer Roles: - Member of UniProt Production team delivering the protein database to the public. Maintain and optimize procedures on a multi-cluster Unix environment. Achievements and Responsibilities: - Maintenance of the UniProt C++ library and associated production tools, using STL, boost, unit testing, Oracle ProC library, strong OO design and design patterns - Large data access/index/search algorithms in C++/STL/Boost for speed and efficiency, migrating all other small tools into a single and robust library. - Reorganization of procedures and rewriting internal tools to optimize speed and network usage and to reduce failure rate and staff dependency, reducing running time 10-fold - Parallelization to hundreds of nodes running Alpha/Tru64 and AMD/Linux64 - Documentation, work-flows and background information of all procedures - Software Quality in Bioinformatics essay (publicly available at http://systemcall.org/wiki/doku.php/softeng/start) Yahoo! Inc. - Sao Paulo / Brazil ------------------------------------------------ 06/2003 to 11/2005 Job: Software Engineer Roles: - Member of Americas Platform Team delivering solutions for Brazil, Argentina, Mexico, Miami (espanol.yahoo.com), Canada and South Asia. - Responsible for development and software quality control for all countries. Full development cycle of multi-tier applications (end-user interface to background pipeline infrastructure) Achievements and Responsibilities: - Deployed mobile services for Latin America countries specially SMS Mail, SMS Messenger, WEP Messenger and WAP pages - Responsible for Americas' front page infrastructure as a developer, maintaining the publishing software infrastructure (Perl/PHP, multi-client publishing system/ multi-tier fail-safe pushing system) and as a Unix admin keeping the cluster up-to-date and running - Responsible for Americas' Sponsored Matches infrastructure developing the marketing tool (C++/PHP/State machines), exporting the technology to South Asia - Member of the MySQL Geeks group acting as local and global support for Yahoo! developers - Former member of Latam Search Team where we were the first international team to deliver the new Yahoo! Search Technology - Created and managed the Latin America Beowulf cluster as part of Yahoo!s unofficial GRID OmniData Networking - Sao Paulo / Brazil ------------------------------------------------ 02/2003 to 06/2003 Job: Java Consultant Roles: - Plan and develop transportation insurance software using Java - Full development cycle from planning, implementing and testing the product Achievements and Responsibilities: - Led a small team to deploy a desktop application using Java Swing and WebService Servlets - Developed C drivers for serial hardware communication using the Java Native Interface Fortis IT Consulting - Sao Paulo / Brazil ------------------------------------------------ 08/2002 to 02/2003 Job: C++ Consultant Roles: - Develop C++ desktop tools, Java Servlets and Oracle PL/SQL procedures Achievements and Responsibilities: - Maintained a Customer Manager System (Borland C++ Builder) for one of the biggest insurance companies in Brazil (Sulamerica Seguros) - Developed mileage system for Transamerica Flats (Borland C++ Builder) - Develop Oracle PL/SQL packages of data import/export and Java/Servlet support packages (model layer) Insite Solucoes Internet - Sao Paulo / Brazil ------------------------------------------------ 05/1999 to 08/2002 Job: Developer, Product Manager and DBA Roles: - Perl Web Developer - Product Manager - MySQL and Oracle DBA Achievements and Responsibilities: - Created a web calendar for one of the biggest internet providers in Brazil (Agenda ZAZ) - Created a full-featured e-commerce book shop (Livraria Tempo Real) - Created a complete e-commerce'o'matic solution where clients can build their shops online with online payment and stock control (InShop) - Improved the calendar as a complete web organizer merging with other products for the biggest internet provider in Brazil (iG Organizer) - Implemented KDE components to build a POS Browser for the biggest multi-store in Brazil (Casas Bahia) together with IBM - Planed, installed and managed MySQL and Oracle databases with replication and multi-master setups Informal work - Sao Paulo / Brazil ------------------------------------------------ 1994 - 1999 Roles: - Hardware technician (assembly and network) - C/GUI development for DOS - Customer support on-site - Development of office suite + billing - Graphic design / Layout FORMATION BSc (Hons) Open Degree (08-??) - OU (Cambridge) Focus on Computing, Maths and Physics Attending Physics Bachelor (98-01) - USP (Sao Paulo) Basic block (Physics, Maths, Chemistry), Astronomy Quantum Physics, Electromagnetism Transferred to Open University Biology Bachelor (96-98) - USP (Sao Paulo) Molecular and Cellular biology, Genetics Biochemistry, Pharmacology and Physiology Transferred to Physics SCIENTIFIC WORKS - Numerical modeling of evolution (Airton Deppman IF / USP) - Numerical modeling of social insects (Dick Koedan IB / USP) - Protein physical chemistry (Shaker Chuck Farah IQ / USP) - Pigment Cell Physiology (Ana Maria Castrucci IB / USP) - Mammals CNS Pharmacology (Regina Markus ICB / USP) LECTURES AND SEMINARS GIVEN - C++ Training Course, material and review (2009) - MySQL Security / New Features v5.0 (2005) - MySQL database on Linux (2004) - MySQL database on Linux (2003) ARTICLES PUBLISHED - MySQL 5.0, May, 2005 (SQL Magazine, ed.17) - MySQL Cluster, Jan 2006 (SQL Magazine, ed.27 cover) ACADEMIC SEMINARS / PROFESSIONAL COURSES TAKEN - ARM's MPCore Architecture (2009) - MySQL Users Conference (2005) - Yahoo! MySQL Geek training (2005) - VPN and Beowulf clusters training (2003) - Capability Maturity Model (2003) - Unix Network Administrator (1994) LANGUAGES - Native Portuguese - Fluent English - Basic Spanish