Scroll To View More
Michael Cetrulo

Michael Cetrulo

Montevideo, Montevideo Department, Uruguay
Member since January 17, 2015
Michael has ten years of professional experience working on web development and big data projects for US-based companies. His focus is primarily on the back-end, scalability, and performance areas but he also has full-stack capabilities, including front-end and DevOps-related tasks.
Michael is now available for hire
  • Python, 7 years
  • Django, 6 years
  • Ruby, 5 years
  • Ruby on Rails (RoR), 5 years
  • Hadoop, 2 years
  • Apache Storm, 2 years
  • Erlang, 2 years
  • Clojure, 2 years
Montevideo, Montevideo Department, Uruguay
Preferred Environment
Linux/MacOS, Vim, Git
The most amazing...
...project I've worked on was the design and development of, which is another startup from the creator of Tinder.
  • Freelance Python Developer
    2017 - 2017
    Toronto Rentals
    • Worked on the website making speed optimizations and general bug fixing.
    Technologies: Python, Django, JavaScript
  • Freelance Ruby Developer
    2017 - 2017
    FS Studio
    • Worked in one of their clients' projects, which was a web-based application, implemented new features and cleaned up several issues.
    Technologies: Ruby, Ruby on Rails, React, Redux, JavaScript, AWS
  • Freelance Python Developer
    2016 - 2016
    Enplus Advisors, Inc. (via Toptal)
    • Worked on the back-end creating the platform to support the ML algorithms.
    Technologies: Python, SQLAlchemy, AWS RDS
  • Freelance Ruby on Rails Developer
    2016 - 2016
    Txt2Give (via Toptal)
    • Fixed bugs.
    • Implemented new features.
    • Added payment options via gateways.
    Technologies: Ruby, CoffeeScript, Ruby on Rails (RoR), Git, RSpec, PostgreSQL
  • Freelance Ruby Developer
    2015 - 2016
    Marqeta inc.
    • Worked on an internal project providing a core of services for the rest of the platforms within the company.
    Technologies: Ruby, Ruby on Rails, AWS, PostgreSQL, Vagrant, Redis
  • Freelance Ruby Developer
    2015 - 2015
    Jaipur Internet (via Toptal)
    • Worked on the client's product, Paper Rater, supporting the platform and implementing NLP solutions for their algorithms.
    Technologies: Ruby on Rails (RoR), Ruby, JavaScript, CSS, HTML, Java, Ubuntu Linux, MySQL, Redis, jQuery, Apache, Git
  • Software Architect
    2011 - 2014
    • Architected the systems requested by various clients in different technologies.
    • Collaborated with the project manager to coordinate and evaluate the rest of the team providing reports for upper management.
    • Designed and implemented internal tools for the company.
    • Provided internal training, workshops, and presentations about various topics of interest.
    • Participated in the interview process performing technical evaluations for new hires.
    • Collaborated to create internal processes and social initiatives for the company.
    • Prepared technical proposals, evaluated requirements, and defined proposed architectures to present as part of the SOW for new clients.
    Technologies: Python, Java, JavaScript, PHP, Ruby, Django, Ruby on Rails, Apache Storm, Apache Hadoop, Apache Cassandra, MongoDB, MySQL, PostgreSQL
  • Ruby Consultant
    2010 - 2011
    • Worked as part of a team of independent contractors providing staff augmentation services to clients, implementing Scrum methodology.
    • Developed Ruby on Rails applications, including visualization tools such as HighCharts.
    • Collaborated on in-house Ruby projects.
    • Provided training to external teams for the technologies our company had expertise with.
    • Participated and presented internal "Tech Talks" demonstrating some new technologies and/or reviewing code fragments.
    Technologies: Ruby, Ruby on Rails, Redis, Sinatra, HighCharts, Scrum, Agile, MySQL, PostgreSQL
  • Freelance Senior Python Developer
    2009 - 2010
    • Designed and developed the and platforms.
    • Led the team by assigning the tasks, defining policies, and assuring the quality of the work from the rest of the team.
    • Worked with the clients and generated technical requirements for the team as a business analyst.
    • Mentored and coached team members when introducing new technologies, providing the necessary training and follow-up for the correct adoption of the new approaches.
    Technologies: Python, Django, SQLAlchemy, OpenFire, MySQL, PostgreSQL
  • Python Developer and Scraping Manager
    2008 - 2009
    • Developed web crawling/screen scraping programs using the Scrapy framework for a variety of sites.
    • Worked on improving the Scrapy open source framework by providing patches to the code.
    • Organized the assignments for the scraping team, processed requirements from the business team, and provided reports to the rest of the company as Scraping Manager.
    • Improved the quality and the internal processes of the company across different areas by suggesting policies and connecting different isolated teams.
    • Provided end-to-end response to the bug reports reviewing the impact of the problems on all the involved teams and areas in order to provide a high-level response while maintaining each team's work focus.
    Technologies: Python, Scrapy, Twisted, Amazon AWS, MySQL, PostgreSQL
  • Lead Developer
    2007 - 2008
    • Led the team by organizing the works, assigning the tasks, and validating the results of the projects.
    • Created intranet administrative systems in PHP/Ajax (JavaScript) and PHP/Flex (Flash).
    • Worked with the client and processed requirements for the team as a business analyst.
    • Traveled to the client's offices in different countries to work on-site and present new features.
    Technologies: PHP, Ajax, Flex, MySQL, PostgreSQL
  • Adly (Development)

    I was the first developer of Adly, a previous startup from Sean Rad of Tinder.

    My duties included the architectural design of the system and the development of the first version and then, when more people was incorporated to the team, I continued working as the Tech Lead until the company moved entirely to the US.

    We used Python, Django and SQLAlchemy; the requirements included several types of users interacting on the same platform, integration with the Twitter API, payment gateways, automated emails, etc.

    Most startups fail within the first years but this one is still operating, I'm happy to have been part of that success.

  • VotaUY (Development)

    A small website to provide information to Uruguayan voters during elections, it is intended as a backup of the official website which often becomes unavailable due to traffic spikes.

    The goal was to be highly available with minimal resources, so we designed it as a SPA using AngularJS served from a static HTML file with pregenerated JSON indexes in order to transfer the load from the server to the clients and maximize cacheability.

    There's also a collection of scripts that retrieve the official PDFs and generate the JSON indexes for the app.

    Source code available at

  • Xpost-bot (Development)

    An automated scanner and user simulator (bot) for Reddit, it looks for particular keywords on the submissions by the users and creates links to those that match other parts of the site.

    The goal is to automatically get references to topics that might be of interest to some communities (subreddits) which are being discussed elsewhere on the site.

    It's written in Python and uses the PRAW library to interact with Reddit's API.

  • Reddit-comment-animation (Development)

    A userscript (a JavaScript snippet for Greasemonkey) that recognizes a certain pattern on the comments at Reddit and converts it to an animated sequence.

    The idea originated from some comments that explained a set of steps to be followed; with this script, those comments become something similar to a screencast in which you actually "see" the sequence step by step.

  • Dupes (Development)

    A small Command Line utility written in Python to find duplicate files.

  • Blog2samus (Other amazing things)

    My technical blog, in which I discuss various programming-related topics and code.

  • Practical Concurrency & Parallelism - PyCON FI 2014 (Other amazing things)

    Slides and speaker notes of my presentation at PyCON Finland 2014 about parallelism and concurrency.

  • Sistemas Distribuidos en Python - PyCON UY 2012 (Other amazing things)

    Slides and speaker notes of my presentation at PyCON Uruguay 2012 about distributed systems (in Spanish).

  • Python Teacher at "Jóvenes a Programar" Plan Ceibal (Other amazing things)

    "Jóvenes a Programar" is an education program by Plan Ceibal aimed at teenagers who're interested in learning tech-related skills.

    I was a professor for a Python course.

  • Languages
    HTML, XML, HTML5, Ruby, SQL, Sed, Python, Bash Script, Bash, XML/XSLT, CSS, CSS3, JavaScript, AWK, SCSS, Java, PHP, Sass, CoffeeScript, Haml, Less, Erlang, Erlang (OTP), Clojure
  • Frameworks
    Scrapy, Django, Ruby on Rails (RoR), Django REST Framework, Octopress, Selenium, Cukunity, Sinatra, Hadoop, Flask, Bottle, Java Agent DEvelopment (JADE), Jinja, Padrino, Capybara, CodeIgniter, Smarty, ClojureScript, Symfony
  • Libraries/APIs
    Django ORM, jQuery, jQuery UI, Requests, Resque, Fabric, SQLAlchemy, Puppet.js, Node.js, Facebook API, Three.js, Twitter API, Highcharts, D3.js, Raphaël, Doctrine
  • Tools
    Git, Jekyll, lighttpd, Nginx, Apache, Cheetah, Middleman, Apache Storm, Celery, Chef, Capistrano, Virtualenv, RSpec, Cucumber, Mercurial, Subversion (SVN), Grunt, Bower, Vagrant, VirtualBox, VMware
  • Paradigms
    REST, Concurrent Programming, Imperative programming, Object-oriented Programming (OOP), Scrum, Responsive, Functional Programming, Responsive Web Design (RWD), Agile Software Development
  • Platforms
    Linux, Amazon Web Services (AWS), Amazon, Android, AppEngine, Heroku, Engine Yard
  • Other
    Software Architecture, HTTP, HTTPS, Scraping, Software Design, Architecture, System Architecture, OAuth, XMPP, Technical Project Management, SSH, SSL, DOM
  • Storage
    NoSQL, SQLite, Cassandra, MongoDB, Redis, Memcached, MySQL, PostgreSQL
I really like this profile
Share it with others