Michael Cetrulo, Software Architecture Developer in Montevideo, Montevideo Department, Uruguay
Michael Cetrulo

Software Architecture Developer in Montevideo, Montevideo Department, Uruguay

Member since January 17, 2015
Michael has over 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

Portfolio

Experience

Location

Montevideo, Montevideo Department, Uruguay

Availability

Part-time

Preferred Environment

Linux/MacOS, Vim, Git

The most amazing...

...project I've worked on was the design and development of adly.com, which is another startup from the creator of Tinder.

Employment

  • Lead Back-end Engineer

    2019 - 2019
    Topps (via FS Studio)
    • Coordinated the work with the CMS and app teams and managed the rest of the back-end team.
    • Worked as a de-facto business analyst, defining requirements with the client and processing them into actionable tasks.
    • Integrated Amazon GameON and SportRadar APIs.
    • Migrated systems from the legacy platform to the new microservices-based architecture.
    • Designed the new architecture in compliance with the client's custom conventions and guidelines.
    Technologies: Python, Flask, Marshmallow
  • Python Engineer

    2018 - 2019
    Harmony Labs (via Toptal)
    • Developed automated systems for data consumption and processing.
    • Created a scraper using JavaScript/Puppeteer to extract data from a dynamic JavaScript page (SPA).
    • Developed a mechanism to handle multiple logins and concurrent execution of the scripts around user verification.
    • Collaborated with the team managing legacy code while migrating it to the desired specifications.
    • Coordinated our work on the platform with the work of data researchers to whom I provided data.
    Technologies: Python, JavaScript, Pupeteer
  • Senior Python + Ruby on Rails

    2018 - 2018
    Nukak Tech (via Toptal)
    • Maintained a legacy Rails app.
    • Migrated services from Rails to Python.
    • Collaborated with the machine learning and data science teams integrating features.
    • Participated in discussions about the architecture of the platform.
    • Performed code reviews for colleagues.
    Technologies: Python, Django, Django REST Framework, Redis, PostgreSQL, Ruby, Ruby on Rails
  • Freelance Python Developer

    2017 - 2017
    Toronto Rentals
    • Worked on the website making speed optimizations and general bug fixes.
    • Integrated Braintree as a payment solution for subscriptions on the site.
    Technologies: Python, Django, JavaScript
  • Freelance Ruby Developer

    2017 - 2017
    GreatSchools (via FS Studio)
    • Implemented new features and cleaned up several issues for a web-based application.
    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 on the platform.
    • Implemented new site features working on the UI/UX and the backend functionality.
    • Added payment options via Stripe and Authorize.Net 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)
    • Supported the Paper Rater platform and implemented NLP solutions for its algorithms.
    Technologies: Ruby on Rails (RoR), Ruby, JavaScript, CSS, HTML, Java, Ubuntu Linux, MySQL, Redis, jQuery, Apache, Git
  • Software Architect

    2011 - 2014
    Globant
    • 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
    Cubox
    • 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
    Replayful
    • Designed and developed the adly.com and fantalk.tv 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
    Insophia
    • 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 responses 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
    Uruhost
    • 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

Experience

  • Adly (Development)
    http://adly.com/

    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 https://github.com/git2samus/ce

  • Xpost-bot (Development)
    https://github.com/git2samus/xpost-bot

    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)
    https://github.com/git2samus/reddit-comment-animation

    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)
    https://github.com/git2samus/dupes

    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)
    http://goo.gl/strIRF

    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)
    http://goo.gl/eFXQA

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

  • Django REST Framework - PyCON AR/BR 2015 (Other amazing things)
    https://goo.gl/PyWLxx

    Presentation about the Django REST Framework at PyCON AR and PyCON BR 2015 (slides in Spanish).

  • Python Teacher at "Jóvenes a Programar" Plan Ceibal (Other amazing things)
    https://jovenesaprogramar.edu.uy/

    "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.

  • Reddit Subscription Bot (Development)
    https://github.com/git2samus/SubscriptionBot

    As a personal project of mine I'm developing a series of bots to interact with the Reddit platform.

    They're written in Python using PRAW using highly efficient approaches in order to be run on the Heroku platform under the "free" plan, using minimal resources.

  • Reddit Award Bot (Development)
    https://github.com/git2samus/AwardBot

    As a personal project of mine I'm developing a series of bots to interact with the Reddit platform.

    They're written in Python using PRAW using highly efficient approaches in order to be run on the Heroku platform under the "free" plan, using minimal resources.

  • Contribution to the PRAW Project (Other amazing things)
    https://github.com/praw-dev/praw/pull/1290

    Made a contribution to the PRAW project as part of my work on Reddit bots, which adds a new feature that improves the way the configuration is handled.

Skills

  • Languages

    Python, Ruby, AWK, Bash Script, Bash, JavaScript, Sed, SQL, CSS3, CSS, XML, HTML, HTML5, Python 2, Python 3, Java, Sass, Less, Haml, CoffeeScript, SCSS, XML/XSLT, PHP, Clojure, Erlang (OTP), Erlang, JADE
  • Frameworks

    Scrapy, Django, Ruby on Rails (RoR), Django REST Framework, Bootstrap, Selenium, Jinja, Bottle, Flask, Hadoop, Sinatra, Octopress, ClojureScript, Capybara, Padrino, Symfony, Smarty, CodeIgniter, Cukunity, Angular, AngularJS
  • Libraries/APIs

    Django ORM, API Development, Web API, REST APIs, Puppet.js, SQLAlchemy, Fabric, Resque, Requests, jQuery UI, jQuery, Puppeteer, Node.js, Twitter API, Facebook API, Three.js, Highcharts, D3.js, Raphaël, Doctrine, React, Stripe
  • Tools

    Git, Subversion (SVN), Apache Storm, Middleman, Apache, Nginx, lighttpd, Celery, RSpec, Virtualenv, Pytest, Bower, Grunt, VMware, VirtualBox, Vagrant, Mercurial, Cheetah, Jekyll, Cucumber, Capistrano, Chef, Jira, Pivotal Tracker, GitHub, Bitbucket, GitLab, Trac, Assembla, Trello, Slack, Skype, HipChat, Basecamp, Zoom, Webex, Google Hangouts
  • Paradigms

    Object-oriented Programming (OOP), Imperative Programming, Concurrent Programming, REST, Functional Programming, Responsive Web Design (RWD), Agile Software Development, Responsive, Scrum, Requirements Analysis, Kanban, Unit Testing, Automation
  • Platforms

    Linux, Docker, Amazon Web Services (AWS), Amazon, Engine Yard, Heroku, Android, Google App Engine, Web
  • Other

    API Integration, Software Architecture, Software Design, System Architecture, Architecture, Scraping, HTTPS, HTTP, APIs, API Design, Remote Work, Web Applications, DOM, SSL, SSH, Technical Project Management, XMPP, OAuth, AWS, Full-stack, Technical Leadership, Requirements & Specifications, Functional Specifications, Team Leadership, Remote Team Leadership, Bots, Web App Automation
  • Storage

    SQLite, NoSQL, PostgreSQL, MySQL, Memcached, Redis, MongoDB, Cassandra

To view more profiles

Join Toptal
Share it with others