Résumé: Nicolás Andrade

Please try to reduce the amount of used paper as much as possible, and print this page only if strictly needed.
This alert will disappear shortly

Personal information

Name: Nicolás Martín Andrade
Age: 32 years old.
Born in: Buenos Aires, Argentina.
E-mail:
Résumé: http://www.nmac.com.ar/
Click in the picture to remove it before printing if preferred.
This alert will disappear shortly
Nicolás Andrade - Head Developer

Education

Elementary
Colegio Eccleston de Lanús Oeste

Secondary
Escuela de Educación Técnica John Fitzgerald Kennedy.
Técnico en Informática Personal y Profesional

University
Ingenierí­a en Sistemas de Información, UTN Facultad Regional Buenos Aires; abandoned.

IT
Networking technician, Instituto Tecnologico Argentino
MS-Windows Small business server certification
Symfony2 Training, 2010 Montréal

Technical knowledge

Agile methodology

Servers
Nginx with PHP as FPM+FastCGI modules, including FastCGI caching.
Apache 2 -mods such as Rewrite, Proxy; VirtualServers, .htaccess, WebDav etc.
Git, Subversion (SVN), Samba, NFS, OpenSSH, Plesk.


HAProxy

I managed hosts in 1and1, MediaTemple, Reflected Networks, Amazon Cloud, Linode and personal servers.

Very high traffic websites.

OS
Linux -Debian based distros: shell scripting, service management, iptables. Love to grep | sort | uniq | head, etc.
MS-Windows -Small Bussiness Server Certified.

Team Leadership
I've had up to 6 programmers reporting to me.

Development
PHP5: Good OOP, Classes, callbacks, wrappers, templates...
CakePHP, Zend Framework, Symfony 2
JavaScript -JQuery.
Currently learning NodeJS and Angular for a personal project.
ASP, PERL & ActionScript 2.0 -Just a bit


Databases
(Replicated and load-balanced) MySQL 5, PostgreSQL, Oracle 9 -Views, procedures, triggers, functions, collations, explain queries, indexes.
NoSQL: Redis 2.4, 2.6, Neo4j

And also...
CSS Sprites, SEO knowledge, Firebug, stress-testing, SVN, Memcached, Facebook connect, Phing, (not so much) Unit tests.
Worked with Amazon S3, Level3 CDNs with and without hashing protection, different Pull-CDN providers.
ZoneMinder setup at home, BitTorrent Sync.

A little bit of this, a little bit of that.

I'm able to...

Be a flexibile and reasonable a partner, since I worked both as employee and on my own. I have experience sharing a spot and work with friends and collegues, experience working at an office, and at home as freelance.

Cooperate with creativity giving ideas and suggestions in other domains than IT; such as ad placement, content segmentation and content formatting. Many times I was part of the differents projects' creative/content team as well.

Speak 3 languages: spanish as mother language, french because of living in a francophone province, and english because of working in an anglophone company.

Take decisions, expose them and show the reason why I took those technical decisions. I've done that always, since my first scrum meeting in my first employment.

Give answers when working as freelance. The most popular complaint about freelancers is that sometimes they "completely disappear". I'm used to work at "reasonable" hours, so you'll find me online from 10 to 18 GMT-3, from monday to friday. And I'll always reply to your emails.

Volunteering

2006 Women's World Wide Championship Sherbrooke - Canada
Youth Women Handball World Cup Sherbrooke 2006; Québec, Canada
Translator and assistant for Denmark's, Tunisie's, Roumania's and South Corea's teams; translating from/to english, french and spanish.
Reference: Gaetan Leclerc, gleclerc (at) interlinx.qc.ca

External link

Contact Information

E-mail: nmac (at) nmac .com .ar

Montréal, Québec, Canada:
By phone: 438.821.6426

Buenos Aires:
By phone: (54) 11 4775.9058

By mail: Aristóbulo del Valle 618 (B1824NAN)
Lanús Oeste, Pcia. de Buenos Aires, Argentina

Experience

Mindgeek (Canada)

From Dec 2017 to present
Current position: Lead Software Developer.

I've worked on 6 projects in the company as back end software developer such as Pornhub.com and VideoBash.com.

The company being in constant expansion and new teams being built, it didn't took long until I was promoted to lead software developer.

The technologies involved in most of the projects I've worked in are PHP, MySQL, Redis, MemCache.

I worked in the Tubes division in not least than 6 end-user products and in some internal tools. I take care of interviewing and hiring, mentoring and supporting; of the communication between the BackEnd team and different teams such as Content, Product Owners, SEO, Security and IT; and everything related to the high-traffic projects, such as infrastructure design, software architecture, resources management, tasks management. code reviews and deployments.


“Nico is a leader you definitely trust and want to work with. His approach of open communication and trust has made a big positive impact on the team's dynamic. On the technical side, Nico's analytical and problem solving skills, his sense of responsibility and his impressive knowledge of the variety of technologies we use made him one of the pillars of the TrafficJunky team.”

Ilyas Bakouch, Software Engineer at MindGeek



“Working with Nico was a great experience. As a team lead he was always opened for discussions and suggestions. I remember many times where I went up to him and we discussed how to tackle issues and you could see he was actually listening to what you had to say and taking it into account. On many occasions, even if he wasn’t sure that me, or my teammates, had the right solution; he allowed us to try our solution and learn from the results. He would also give great advice on how to proceed to succeed.”

Terry Lemaire, Software developer at MindGeek

Traffic Junky (Canada)

TrafficJunky is an online advertising network. It is designed to help advertisers and publishers alike achieve their most ambitious web marketing goals by serving cost-effective, large volumes of targeted web, mobile and tablet traffic

As a Lead Developer, my main tasks include:

  • Software and infrastructure design and architecture

  • Team management: mentoring, coaching, giving feedback, guidance and support.

  • Ensure the stability of the entire platform and the team itself.

  • Strategic planning: risk mitigation, disaster-recovery, etc.





SpankWire (Canada)

Originally written in .NET, my team took over SpankWire and rewrote it in PHP to standardize the framework across the division. The rewrite took around 2 months and required the PHP team to reverse-engineer the MS-SQL database.



Tubes division Lead developer (Canada)

After some months working in Pornhub I was moved to a multiple tube sites project as Lead Developer. The switch was because of a structure change within the company: the lack of leaders in the team was affecting productivity and good quality of the code. We were missing coordination between different teams, and even inside the same team because we had back-end developers splitted in only two big teams. The change was raising more developers as lead developers, in order to focus more exhaustively on each project.

In that situation some developers realized that the lack of a leader was affecting our work, and thus we took in practice the leader role; without the official title. Some months later the company realized that, and made official that schema. In this context I became lead software developer of 4 tube sites, with 15 million registered users and about 19-21 million visitors a day in total.

All sites I'm managing are using different technologies, but they are not having the best from them. My work is to improve the framework and code of these sites -they are all using the same framework-, while training new developers.

From the point of view of management, I'm in charge of getting tasks from the Product Manager and understanding his priorities; while coordinating with other teams and members of my team to deliver a good quality code. I report to the Development Manager, who also participates in key decisions like migration strategies or infrastructure changes.

Involved technologies: CURL requests to external API, PHP, JavaScript, MySQL, jQuery, MemCache+Twemproxy, Phing, Sphinx, Redis

PornMD (Canada)

PornMD is a powerful search engine with content from the biggest porn sites in the web: PornHub, YouPorn, XTube, Tube8, KeezMovies, SpankWire and ExtremeTube. It's main goal is to send traffic to different websites owned by ManWin.

While I worked in the project I was in charge of the code, third-party providers integration, deployments and testing. I also managed the migration to a different datacenter and a set of domain changes (before was porn.md, now is pornmd.com)

Integrated to a third-party service which helps in the search between more than 1.2 million videos, PornMD provides a set of filters to get exactly what you're looking for. When no exact match is found for your query, we'll use your history information to get suggestions we know you'll like. Give a try to the Porn Doctor at Porn.md

Involved technologies: CURL requests to external API, PHP, JavaScript, jQuery

PornHub (Canada)

I've been the only Pornhub developer during a period of 2 or 3 months; until my manager assigned another PHP programmer to work with me. At that time the project was growing at high speed but the company was missing resources. Two months later we got another member in the team, a very experienced PHP software developer who came to the team to take the leading position, according to my manager's expectations. Of course it was not announced to us like that, it's hard to face 2 developers who are taking care of a project to tell them "the new guy will be your lead", isn't it? And so far we were doing a good job.

Some weeks later another web developer joined the team, and since then we needed somebody to take for real the leading position. It's not easy to have a big projects in hands of four high skilled programmers without anybody taking the lead. Where were we going? Who will coordinate all tasks? With four people in a team, the product managers started to request more from us, but we were lacking internal management. Four creative minds are not a guarantee of success, if each of them pull in the wrong direction. That's why I've talked with my manager to help me to take the leading position: I was the developer with most experience in that particular project and I had a couple of innovative ideas to apply on it. That's how I became, for a period of 5 months, the Pornhub lead developer. The biggest project in the company -in terms of revenue- was on my hands while I was learning on my own -with some help of my superior, some management books mixed with MySQL, Sphinx and Redis manuals- how to manage a team. I've proposed many changes in the daily tasks, changes in the workflow, in the way we were interacting with other teams such as web designers, front-end developers, product managers, advertisers, quality assurance and system administrators among others; and established a working way that nowadays is still in use, even if I am not managing the team anymore.

At that time I was responsible of reviewing all changes in the project -code, database structure, new implementations, caching strategies, infrastructure- while another member of the team was in charge of task assignements. This gave me the opportunity to focus 100% in the technical aspect of the project and making sure that each release was fully stable. I was getting all commits in the Development branch and merging them in the Production branch according to requirement's priorities, and only me was allowed to make changes in the production environment. Nobody than me was allowed to deploy. I decided what was going to live and what will stay in the development branch until was fully optimized, always keeping happy my product manager.

But that was not the end. Such a big project as Pornhub can not be handled by somebody who's making the first steps on management. The best thing to do at that moment for my career, for Manwin and for the project was to change the lead of the team for a more experienced developer. Somebody older in the company. That's how I got switched with another lead programmer; he took Pornhub and I took part of his workload. I've got assigned a team of three new Manwin employees to work on four projects simultaneously. Given that I had the experience of managing a single big project before; with the team change the challenge was to keep being focused in four different projects, training new developers to feel comfortable in the company, making them feel confident on themselves and on myself to deal with high-traffic volume while mixing different technologies and dealing with external teams. My story continues on my next position: lead software developer at Manwin Canada

About PornHub: its based on 100% object-oriented PHP using an in-house framework. The technologies involved in Pornhub are mostly MemCached -we were moving away from it when I was leading the team-, MySQL databases with replication, Sphinx as the search engine, multiple external services on REST calls and Redis as a NoSQL database. It's hosted in 10 web servers behind a high-availability proxy, has 8 relational database servers, six Redis servers, four Memcached and four Sphinx.

Involved technologies: CURL requests to external API, PHP, MySQL, jQuery, MemCache+Twemproxy, Sphinx, Redis

ExtremeTube (Canada)

ExtremeTube is an adult-content web site of videos, splitted in segments and categories. ExtremeTube is one of the most visited web sites over the Internet, receiving more than 9 million page views per day. Such amount of traffic can be served because of highly-optimized code, highly-optimized caching engine, several CDNs spreaded over the world and very clean code.

Involved technologies: PHP, JavaScript, MySQL, Ajax Requests, FFMPEG, jQuery, MemCache+Twemproxy, Zend Framework, Pear, Phing, Sphinx, Redis

VideoBash (Canada)

Mainstream website. Has more than a million visits per day. Has been developed by the ManWin team and I work mainly as mantainer and helping the content department when they have any issue or question. We coded the Back-end CMS as well. Internally works with Sphinx as search engine, Redis as NoSQL database and MySQL to store information.

According to them: Video Bash is your first and final stop for free funny videos, games and pictures guaranteed to brighten up your day. The funniest jokes and the most unbelievable pranks caught on tape have been collected in one spot for your viewing pleasure. This is entertainment at its best and no one does it better than Video Bash. These funny clips crackle with humor and they will definitely have you laughing till your sides hurt. Quality is our number one priority and the free funny vids here are the best of the best. There are no mediocre videos here. All the videos, jokes, pranks on Video Bash are the cream of the crop and you'll be hooked from the get go. The best part is you don't have to keep all this good stuff to yourself, you can share all the free entertainment videos with your friends.

Involved technologies: PHP, JavaScript, MySQL, Ajax Requests, FFMPEG, jQuery, MemCache+Twemproxy, Zend Framework, Pear, Phing, Sphinx, Redis

IHub (Canada)

Internal tool

Involved technologies: PHP, JavaScript, MySQL, Ajax Requests, jQuery, Zend Framework, Pear, Phing

GotVertigo (Argentina)

From Jan 2008 to Oct 2010
GotVertigo used to be a boutique agency start-up working with multimedia companies on web sites, mobile applications, advertisement, campaigns, marketing and product development.

Universal Music France (France)

Originally AlloClips.com, this is the official web site for Universal Music France, including information, videos, news, albums, latest releases and photos of they artist's in a single page. The project includes also a full-featured back-end including ad management system, statistics and royalties report for the artists

Involved technologies: CURL requests to external API, PHP, JavaScript, MySQL, Ajax Requests, ImageMagick, FFMPEG, CDNs, jQuery, CakePHP, Facebook for Websites, MemCache+Twemproxy

CanalThemis (France)

Extranet for publishing, sharing and managing different media types of the French Ministry of Justice. Content can be published in different websites embedding the Flash Player. Actually serves different french ministries.

Involved technologies: CURL requests to external API, PHP, JavaScript, MySQL, Ajax Requests, ImageMagick, FFMPEG, CDNs, jQuery, CakePHP

Whspr (United States)

A site where companies and agencies can publish press releases, and bloggers receive them according to their interests and preferences.

Involved technologies: CURL requests to external API, PHP, JavaScript, MySQL, Ajax Requests, ImageMagick, External Checkout Process, jQuery, CakePHP

VideoClick (France)

Another video site, with user generated content. But there's a big difference with this one: the best rated videos are streamed in TV in France and Germany. It's integrated with the Ipercast CDN and an automatic TV scheduler; which receives the information from this application and streams the video directly on TV.

Involved technologies: CURL requests to external API, PHP, JavaScript, MySQL, Ajax Requests, ImageMagick, FFMPEG, CDNs, jQuery, CakePHP

mio.tv (United States)

Video site for the United States. Has content from HBO and AOL.

Involved technologies: CURL requests to external API, PHP, JavaScript, MySQL, Ajax Requests, ImageMagick, FFMPEG, jQuery, CakePHP

AlbumYa! (Argentina)

Something like the albums created with iPhoto (Apple software) but online.

Involved technologies: CURL requests to external API, PHP, JavaScript, MySQL, Ajax Requests, ImageMagick, External Checkout Process, CakePHP

AlloClips (France)

Deprecated website. Originally this site was developed for Universal Music France as a portal to stream videos from their labels and artists. As they had different content providers we centralized all the information in a single place, ingesing the information in different ways. Our system had connection to many servers: a search server to provide faster and accurate results, multiple CDNs for images and tokenized videos to avoid unauthorized downloads, emailing systems and more.

In the back-end site we provided a flexible CMS with statistics, so the customer was able to see trends, analyze the impact of different campaigns, see the blogs with more stream, trace the time a video was watched (how many people started to see the video but didn't reached the half of the duration, how many people watched until the end, how many people restarted to play the video, etc) and from which sources (the site itself, affiliated blogs, etc).

I worked as head developer for this project, being responsibly of it's technical success. Currently it has been replaced by the official Universal Music France website.

Involved technologies: CURL requests to external API, PHP, JavaScript, MySQL, Ajax Requests, ImageMagick, FFMPEG, CDNs, CakePHP

Canal Internet (United States)

Mainstream website providing specially produced content by Endemol Argentina, mainly for the latin american public in the United States. Was coded in PHP, using MySQL as database, and integrates a customized ad-platform to show HTML ads, pre-rolls and post-rolls as well. Today was discontinued.

Involved technologies: CURL requests to external API, PHP, JavaScript, MySQL, Ajax Requests, ImageMagick, FFMPEG, Amazon Web Services

Beseder MMG Designs (Argentina)

From May 2007 to Sep 2007
Small web development company and hardware retailer store. The biggest project in Beseder MMG Designs was a chain of digital photo printing stores; we provided all the front-end, back-end and communications system and technical support. I was in charge of source code and performance measurements.

Sistema de Kioscos Digitales (Argentina)

First version of the printing system for photo kiosks. Can crop, zoom, print and send pictures to the minilab trhough a network connection. Reads CDs, pendrives, SD cards and Memory Sticks.

Involved technologies: CURL requests to external API, PHP, JavaScript, MySQL, Ajax Requests, ImageMagick

Librerí­­as el Atril (Argentina)

On-line commerce for a bookstore

Involved technologies: JavaScript, MySQL, Ajax Requests, Perl, ImageMagick

Grupo MuM (Argentina)

CMS for a group of studens of the University of Buenos Aires

Involved technologies: JavaScript, MySQL, Ajax Requests, Perl, ImageMagick

INDEC (Argentina)

From Mar 2007 to Jun 2007
Instituto Nacional de Estadística y Censos of Argentina, something like the national institute of statics. I worked as software developer for specific projects, mostly based in ASP and Microsoft SQL.

ENGE 2008 (Argentina)

A survey for the 500 greatest enterprises in Argentina.

Involved technologies: JavaScript, Ajax Requests

Exelsum (Argentina)

From Sep 2004 to Jun 2006
Development company with headquarters in Buenos Aires and offices in the United States and Spain. With Exelsum I've worked mostly on Intranet and Extranet projects for different first line companies such as Red Hat Latin America and 3Com Latin America, using PHP and Oracle 9i or PostgreSQL.

Red Hat Latinoamérica (Brazil)

CMS and sales management system with business opportunities for RedHat. Notifies about bugets near to be closed. Used in latin america and Brazil.

Involved technologies: PHP, JavaScript, Oracle, Ajax Requests

RedExport (Argentina)

CMS

Involved technologies: PHP, JavaScript, Oracle, Ajax Requests, ImageMagick

American Switching Network (Argentina)

CMS with protected content, mailing system with attachments, URLs protected with tokens.

Involved technologies: PHP, JavaScript, Oracle, Ajax Requests, ImageMagick

Telecom Internet (Argentina)

From Mar 2004 to Aug 2004
IPS for enterprises and home customers.

Mesa de ayuda

Involved technologies: Ajax Requests

EDoc (Argentina)

Easy Domain Checker, a tool developed in PHP to generate reports, diagnose DNS, FTP or email problems of customer's domain. Idea was to help operators without knowledge to solve some difficult issues, or without knowloedge of tools like nslookup.

Involved technologies: CURL requests to external API, PHP, JavaScript, MySQL, Ajax Requests

Soporte técnico (Argentina)

Technical support to enterprise customers

Involved technologies: Ajax Requests

Ciudad Internet (Argentina)

From Mar 2004 to Mar 2004
Well-known ISP in Latin America, providing access through ADSL, cable and dial-up connections

Soporte técnico (Argentina)

Technical support to enterprise customers

Involved technologies: Ajax Requests