| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242 |
- <!DOCTYPE html>
- <html>
- <head>
- <title>David Ventura - resume</title>
- <link rel="stylesheet" href="css/style.css">
- <link href="https://fonts.googleapis.com/css?family=Lato|Open+Sans|Montserrat:400,400i,600,700,800&display=swap" rel="stylesheet">
- </head>
- <body>
- <header>
- <div class="resume-title">
- <h1>David Ventura</h1>
- <h2>
- SysAdmin, Devops & Dev
- <small>Jack of all trades</small>
- </h2>
- </div>
- <div class="personal-info">
- <p>
- Argentinian living in The Netherlands <br/>
- <a href="mailto:davidventura27@gmail.com">davidventura27@gmail.com</a> <br/>
- <a href="https://github.com/davidventura">github.com/DavidVentura</a> <br/>
- <a href="https://gitlab.com/davidventura">gitlab.com/DavidVentura</a> <br/>
- <a href="https://blog.davidventura.com.ar">blog</a> <br/>
- </p>
- </div>
- </header>
- <section class="experience-category">
- <h2 class="experience-title">
- Summary
- </h2>
- <div class="work-experience">
- Problem solver that spent the last 9 years mainly focusing on linux, automation and tooling, but also had <b>problems</b>
- push me through full-stack web development, distributed systems, database administration, mobile, networking and embedded systems.
- </div>
- </section>
- <section class="experience-category">
- <h2 class="experience-title">
- Work Projects
- </h2>
- <div class="work-experience">
- <h3 class="company-name">
- <small>2018 - current</small>
- Optiver
- <small class="position">Sysadmin - Tooling developer</small>
- </h3>
- <p>
- Responsible for production systems' behavior as well as keeping the design of new systems within our standards.
- <ul>
- <li>
- Established operational commitments for development teams to bring down application errors to monitorable state.
- </li>
- <li>
- Mentored colleagues, healping them transition from an old-school sysadmin position to a tooling development position
- </li>
- <li>
- Overhaul compliance related backup system (300TB+)
- </li>
- <li>
- Deployment system for production services (11k services, 860 servers)
- </li>
- <li>
- Linux-on-windows initiative and platform deployment to standardize the production os-level API across the existing services
- </li>
- <li>
- Analysis of logs and events, to quickly detect production related incidents
- </li>
- <li>
- Redesigned and fully automated physical server deployment
- </li>
- <li>
- Redesigned and implemented market data permissioning system
- </li>
- </ul>
- </p>
- </div>
- <div class="work-experience">
- <h3 class="company-name">
- <small>2014 - 2018</small>
- Especificos Buenos Aires
- <small class="position">Sysadmin - Tooling - Backend dev - Frontend dev - Embedded - Networking</small>
- </h3>
- <div class="company-project">
- <p>
- Responsible for interfacing directly with end users and designing the video streaming and e-learning platforms end-to-end, encompassing a very broad set of technologies.
- </p>
- <h4>Live-streaming Platform</h4>
- <p>
- The objective of this project was to create a pipeline for live video streaming, all the way from the physical cameras in the classroom to the software used by the alumni. A few key points covered by the project:
- <ul>
- <li>
- Embedded linux systems for the video cameras (running on on-prem raspberry pi), audio mixer and slide system
- </li>
- <li>
- Live audio conferences to allow local and remote speakers to presnet together
- </li>
- <li>
- Time syncing across video sources to prevent frame drift, using PTP
- </li>
- <li>
- Slide software that allows presenter to draw on slides and alumni to ask questions to the presenter
- </li>
- </ul>
- </p>
- </div>
- <div class="company-project">
- <h4>Online training platform</h4>
- <p>The objective of this project was to create a ‘forum’-like website to post the videos with the corresponding text material, allowing the students to communicate with each other.</p>
- </div>
- <div class="company-project">
- <h4>
- Billing System
- </h4>
- <p>The scope of this project was to manage most of the company's finances:</p>
- <ul>
- <li>Billing, invoices (AFIP), shipping labels, e-commerce, local stock and supplier stock</li>
- <li>Document scanning and printing</li>
- </ul>
- </div>
- </div>
-
- <div class="work-experience">
- <h3 class="company-name">
- <small>2014-2018</small>
- Freelancing
- </h3>
- <div class="company-project">
- <h4>
- Streamall (netflix 'clone')
- <small class="position">Sysadmin - Backend dev - Frontend dev - Tooling - Distributed systems</small>
- </h4>
- <p>
- In this project I designed and implemented a system that allowed hundreds of users to access thousands of long-form videos on demand, deployed on a physical cluster in a colocation with high availability and a smart caching system designed to keep 'hot' items in an SSD cache, while a massive store was on tier-3 disks.
- The project included:
- <ul>
- <li>
- Distributed transcoding of the content to a multitude of formats supported by the customer's devices.
- </li>
- <li>
- Web-ui for the administrator to handle users, API keys and content metadata
- </li>
- </ul>
- </p>
- </div>
- <div class="company-project">
- <h4>
- News parser (PYMNTS.com)
- <small class="position">Sysadmin - Backend dev - Frontend dev - Tooling</small>
- </h4>
- <p>
- The main purpose of this project was the automatization of data scraping from multiple news sources.
- </p>
- <p>
- The data is gathered by polling the sources in a parallelized manner every set amount of time, validated against a set of keywords (with associated per-source weights) and stored in a database.
- </p>
- <p>
- The sources and keywords can be managed by the users via a web interface; they also decide which matching articles are not useful and tag them as such, every month the weights and keywords get reevaluated based on ‘useless’ articles.
- </p>
- <p>
- We also have a dashboard displaying metrics, keywords, per-source matches and per-keyword matches.
- </p>
- </div>
- <div class="company-project">
- <h4>
- Multi-language interpreter to extract embedded SQL queries
- </h4>
- <p>
- We had a lot of old applications that had embedded SQL queries and the company had to migrate from Oracle 8 to Oracle 11. To achieve that, we had to analyze ALL the embedded queries so we created an parser for VB6, VB.NET, C#, ASP.NET and Java.
- </p>
- </div>
- </div>
- </section>
- <section class="experience-category">
- <h2 class="experience-title">Lab Experience</h2>
- <div class="lab-experience">
- <p>
- I maintain a 'lab' to both host my personal projects and learn about new or interesting tech. Some items of note in the lab:
- <ul>
- <li>
- ARM Cluster: load-balancing LXC cluster on multiple physical ARM single-board-computers of (slightly) different architectures (armv6, AArch64) with live container migration using CRIU
- </li>
- <li>
- Jenkins for automated tests and tricky builds (one of the projects is Android-Windows-Linux)
- </li>
- <li>
- My physical router (running Debian) is fully deployed from the lab with ansible.
- </li>
- <li>
- All containers and VMs are fully deployed with ansible.
- </li>
- <li>
- Backup system (automated ping for offline backups, daily delta and weekly snapshots uploaded to different zones, via different mechanisms)
- </li>
- </ul>
- </p>
- <p>
- All of this is monitored with industry-standard tools (telegraf, influx, grafana, email) and also hosts some standard tooling for itself (squid, apt-cacher, git, vpn, proxies, reverse-proxies)
- </p>
- </div>
- </section>
- <section class="experience-category">
- <h2 class="experience-title">
- Bonus tracks
- </h2>
- <div class="bonus-track">
- <p>
- Some of my personal projects. You can find more on my <a href="blog.davidventura.com.ar">blog</a>
- <ul>
- <li>
- Automated book downloading pipeline, fetches, re-formats and pushes books to my kindle.
- </li>
- <li>
- Wrote a small IOT framework in MicroPython, which I use for my custom devices (all based on esp8266)
- <ul>
- <li>Control my nightlamp with my kindle (shuts it off when I fall asleep)</li>
- <li>Measure ambient humidity/temperature (and plot it in grafana)</li>
- <li>Poor-man's CEC control for my tv to switch input sources automatically</li>
- <li>Control temperature of ambient lighting (warms up over the course of the day)</li>
- </ul>
- </li>
- <li>
- Reverse engineered the android application to report poorly parked cars provided by the government to automate submissions of people parking in my garage
- </li>
- <li>
- Proposed a system (and proof-of-concept) to the highway authorities to catch speeding cars in freeways/highways using OpenCV to detect the license plates
- </li>
- <li>
- Currently writing a set of tools to handle my 3d-printer in better ways (emitting gcode at consistent frequency, cura plugin)
- </li>
- <li>
- Currently writing a video pipeline to detect and flag motion detection with my home security cameras.
- </li>
- </ul>
- </p>
- </div>
- </section>
- </body>
- </html>
|