
Thomas Vidal
Senior C++ Developer | Computer Vision | AI
Salary / Daily rate
El Vendrell, Tarragona, Spain
Freelance, open to permanent contract
Remote only
Skills
Languages
About me
Intro
💻 Senior C++ Developer | Computer Vision | AI & Real-time Video With almost 20 years of experience in software development — 10 of them specializing in real-time video analytics — I’m looking for my next opportunity, full remote, ideally full time and long term. 📌 Expertise: ✔ C++ (11/14/17), Python ✔ GStreamer, TensorRT, DeepStream, OpenCV, Jetson ✔ Real-time video processing, AI video analytics, microservices ✔ git, GitLab, clean code ✔ Docker, devcontainers
Work experience
Applied Research Scientist & Senior C++ Developer
HertaFreelance
Nov 2023 - Jan 2025
1 year 3 months
Remote
Development of various demos with real time face recognition algorithm and object detection using NVIDIA DeepStream and GStreamer, live visualization with WebRTC, running on NVIDIA dGPU or Jetson Orin NX. Development of Edge Video Analytics project on Jetson Orin NX, including GStreamer custom plugins, frontend with Angular, backend with FastAPI, Redis Stream. Cross-compiling for arm64 from x86_64 machine. Tech stack: - C++17 - CMake - Conan - cppcheck - GTest, GMock - GStreamer - NVIDIA DeepStream - CLion (development inside devcontainers) - Linux (Ubuntu) - docker - docker-compose - GitLab - Python3
Dive.techFreelance
Nov 2021 - May 2023
1 year 7 months
Senior C++ Developer
Feb 2023 - May 2023
4 months
Development of inference microservice of company AI platform, from scratch.
Senior C++ Developer
Nov 2021 - Jan 2023
1 year 3 months
Maintenance of existing AI inference microservice and many other tools. Tech stack: - C++11/14/17 - CMake - Conan - cppcheck - GTest, GMock - GStreamer - NVIDIA DeepStream - VSCode (development inside devcontainers) - Linux (Ubuntu) - docker - docker-compose - GitLab (and GitLab CI) - Kubernetes (basic usage) - Python3 - Terraform (basic usage) Tools: - Jira - Confluence
Senior C++ Developer
LANACCESS
Jan 2015 - Dec 2021
7 years
Barcelona Area, Spain
- C++ (11, 14, 17) Development of various programs related to CCTV, IP cameras, using protocols and formats such as RTSP, RTP, H264, MP4. - I have been using boost library, opencv, dlib (for face detection). - Use of neural networks to improve results and extend business area (facial detection and recognition, ...) with Nvidia Jetson Nano+Xavier NX+PC with TensorRT. - Development of some applications using Qt5. - Use of CMake. - Linux C++ development. - Creation of a C++ AI platform for Nvidia Jetsons with C++ plugins for different video analytic algorithms (using C interfaces). - Creation of yocto images for Nvidia Jetson boards. - Use of Google gRPC and protobuf for inter-process communication. - I wrote unit tests of some of our C++ libraries using Google Test framework. - I wrote a TypeScript library (compiled in JavaScript) to watch IP cameras in realtime using WebSockets (using a streaming server that encodes if needed streams in H264 and then encapsulates them in MP4 so that the browsers can display them in HTML5 without any plugin installed). - Participated in development of big and small apps Angular (v9+). - Maintenance of a web application done in Django (Python). - I made some Python scripts to automate some internal processes, or to start projects quickly before converting them to C++ using OpenCV. - Linux C++ dev: VSCode, vim, bash. - Windows C++ dev: Visual Studio 2017 with latest C++ features, Qt Creator. - Python: pycharm IDE. - Angular2+ & Typescript: VSCode. - I helped set up Linux servers (CentOS) with some rdiff-backup scripts. - Use of Ansible for VM deployment (CentOS+Debian). - Use of docker, kubernetes bare metal. - I installed and configured Jenkins on a Linux server with some Windows slaves. - I also installed/configured an internal GitLab. - Use of Wireshark to debug network/protocol-related issues, mainly RTSP.
C/C++ Developer
Onekit Internet
Oct 2013 - Mar 2014
6 months
Barcelona Area, Spain
Development of dynamic setups/downloaders using NSIS software that included "sponsor" programs such as toolbars, adwares, the typical "Potentially Unwanted Programs". I wrote a local HTTP proxy to catch Windows users browsing contents to serve targetted ads (pop-ups and pop-unders). Development of C/C++ dlls. Use of MySQL.
C++/Python developper & ecommerce website owner
FreelanceFreelance
Aug 2011 - Mar 2014
2 years 8 months
Barcelona Area, Spain
As a freelance I started a project with a friend of mine written in C++ (for the end-user program), and set up some Linux servers (using Django and djangorestframework) as backend. At the same time I owned a ecommerce website to sell pets products (mainly for dogs, like food, toys...). During these two projects I was also responsible of all the technical area, like writting code and setting up all the Linux servers (CentOS), database (PostgreSQL), email (postfix, dovecot, roundcube), SubVersion, HTTP (nginx), OpenVPN, Puppet, rdiff-backup, rsync.
C/C++/Python Developer
Aedgency
Feb 2006 - Aug 2011
5 years 7 months
Barcelona Area, Spain
Working as Software/C/C++ developer: -Developping adware generating almost 100% of the company revenue with protection/encryption for adware program "against" antivirus detections -Using injection techniques to execute code into other processes (to catch user browsing content to serve ads related to user interests so that revenue were greater), rootkit techniques was also used to hide adware presence -Developping browser extensions (Chrome & Firefox) -Use of Jenkins for automating tests and adware binaries generation, and scanning over many antivirus engines (this was done with python scripts and many Windows slaves) -Use of Oracle databases -Main IDE used: Visual Studio
Education
Institut Universitaire de Technologie A (IUT A) Informatique de Lyon 1
DUT Informatique (bac + 2)
2003 - 2005
2 years 1 month
1st year of 5 at Supinfo Paris
2002 - 2003
1 year 1 month