SQL Developer in Lisbon, Portugal
Member since October 23, 2015
Senior Engineer/Developer2016 - 2016NMRKT (via Toptal)
- Implemented a Rails API for analytics.
- Implemented React/Redux client side modules for campaign management.
- Implemented React/Redux client side modules for statistics.
- Enhanced several existing Rails apps.
- Enhanced an existing PHP back-end.
- Extracted part of the PHP back-end into a Rails API consumed by a React/Redux front-end.
- Created multiple Elasticsearch indices for analytics.
- Created a number of aggregations to fetch analytics data from Elasticsearch.
Software Developer2012 - 2015ClubJudge
- Developed an OAuth server using Sinatra and microservices in Ruby.
- Broke apart a monolithic Rails back-end into a microservices architecture.
- Built a backbone-based front-end application.
- Created endpoints for a RESTful API based on Node.js.
- Developed a Backbone app which consumed the services provided by the RESTful API.
- Built a Rails management back-office.
- Created Ruby agents which simulated website visits with different patterns, geographical locations, browsers, and operating systems.
- Developed a DSL with Ruby to scrape online content through the Ruby visits agents.
- Applied Elasticsearch indexing to our models for searching and pre-calculations.
- Built multiple Resque and Sidekick asynchronous jobs.
Software Developer2008 - 2012SAPO
Technologies: PHP, MySQL, JAVA, Python, C, CodeIgniter
- Developed an advertising system management back-office in PHP.
- Built a self-care back-office for clients to manage their advertisement campaigns.
- Created the API, in PHP, for a Groupon-like voucher service.
- Developed a Java-based reporting server based on JasperReports, for an Adwords-like advertisement service.
- Built the payment gateways for the advertising service, the voucher service, a music streaming service, and a games service.
- Created MySQL UDFs in C to prepare domain data for a denormalized database used at runtime in the advertisement service.
- Maintained a Python fraud management module for the advertisement service.
Software Developer2004 - 2010Freelance
- Developed a PHP website and CMS for a yacht broker.
- Built a PHP website and API over CodeIgniter for a website which allows people to ask questions in the Portuguese language and which also contains a number of linguistic resources.
- Installed, configured, and maintained an Intel quad-core server, with 4 HDs set up as a RAID 10, with Debian for a Portuguese linguistics institute.
- Created a Rails personal site for an artist.
- Developed a PHP website and CMS for a yacht product's shop.
- Built a PHP website and CMS for classical cars.
- Created a PHP website and CMS for a veterinary hospital.
Software Developer2007 - 2008Widescope
Technologies: Java, Struts 1, Websphere Portal Express
- Developed a Struts-based online photography shop.
- Built portlets for Websphere Portal Express based on Struts 1.
- Customized the PHP-based egroupware platform.
Tibco Support2007 - 2007PT-SI
Technologies: Tibco, Java, VBA
- Installed and supported all machines and Unix environments of the Tibco SOA for a client telco.
- Provided AXIS web services for external consumption of system alarms.
- Customized an Access DB using VBA.
- Communicated with technicians from various specialties whose activities are related to application integration.
- Managed HP UX and Solaris machines.
Software Developer2006 - 2007Siemens
Technologies: CHILL, C++, JAVA, XML, XSL
- Developed minor CHILL and C++ features on Siemens's the GGSNs.
Consultant2005 - 2007Capita
- Developed multiple ASP online stores.
- Developed COM+ DLLs for data access.
- Developed store procedures for MS SQL.
- Built XSLTs for transformation of product's XML data.
Application Support2004 - 2005TMN
- Developed monitoring scripts in VB script, Java, and bash/ksh.
- Developed web pages for monitoring, visualization, and reporting.
Software Developer2004 - 2004PT-SI
- Developed the Java portal which managed a telco's user points, which they gained from using their phones and which they could trade for products.
Support2003 - 2004SIVA Online
- Maintained the newsletter.
- Developed minor components for the site and content manager.
- Club Judge (Development)
ClubJudge was a nightlife platform which allows people to find the best clubs and events worldwide.
- Anuncios SAPO (Development)http://anuncios.sapo.pt/
Anuncios SAPO is an AdWords equivalent for the main Portuguese portal, SAPO.
- Voucher SAPO (Development)http://voucher.sapo.pt/
Voucher SAPO is a deal of the day platform, like Groupon.
- How to Set up a Microservices Architecture in Ruby: A Step by Step Guide (Publication)Microservices are one of the latest trends in software design. In a microservices architecture, the classic monolithic back-end is substituted by a suite of distributed services. This design allows better separation of responsibilities, easier maintenance, greater flexibility in the choice of technologies for each service, and easier scalability and fault tolerance. In this article, Toptal Freelance Software Engineer Francisco Temudo guides us in a step-by-step tutorial on how to build a microservices suite using Ruby.
FrameworksSlim, Ruby on Rails (RoR), Prototype Framework, Sinatra, CodeIgniter, Grape, Bootstrap, AngularJS, Jasmine, Capybara, Selenium, Redux, Apache Struts, Zend Framework
Libraries/APIsjQuery File Upload, Watir WebDriver, Handlebars, Backbone.js, jQuery UI, jQuery, Moment.js, Lodash, Underscore.js, PhantomJS, Node.js, Chai, Sinon.JS, ZeroMQ, Asynchronous Module Definition, Nokogiri, RequireJS, Sidekiq, Resque, Doctrine 2, React, Doctrine, JasperReports
ToolsRSpec, SimpleCov, VCR, Code Climate, Travis CI, Git, GitHub, Trello, Atom, Vim Text Editor, Mocha, Mongoose
ParadigmsModel View Controller (MVC), Distributed Programming, Microservices, REST
StoragePostgreSQL, MySQL, Redis, Elasticsearch, SQLite, AWS S3, Memcached, Sphinx Search Engine, MongoDB
OtherCapybara-Webkit, SOAP, Poltergeist, Koala
PlatformsMacOS, Linux, AWS EC2, Docker
- Licentiate degree in Computer Science1998 - 2004Faculty of Sciences of the University of Lisbon - Lisbon