\documentclass[a4paper,10pt,twoside]{article} \usepackage[margin=3em]{geometry} \usepackage{hyperref} \input{cv-template.tex} %todo pasarlo por gramarly %todo poner items como puntos en vez de un choclo de texto \name{Nicol\'as Jorge Dato} \email{nicolas.dato@gmail.com} \address{\href{https://www.openstreetmap.org/\#map=11/-38.7182/-62.2650}{Bah\'{\i}a Blanca, Buenos Aires\newline Argentina}} \linkedin{nicolas-jorge-dato} \website{www.ndato.com} \professiontitle{Senior Software Developer} \begin{document} \personalinfo{} \begin{introduction} I'm a software developer with 10+ years of professional experience. My main expertise is \cvemph{the C programming language} in \cvemph{Linux}, using multi-threading and inter-process communication, in particular for the broadcast industry. In all these years I have also worked a lot with \cvemph{Perl}, \cvemph{Bash}, and \cvemph{Python}. Previously, I had worked with \cvemph{Java} for 2 years for financial institutions. With my experience, I can learn, understand, and work on any task or problem as needed. I enjoy studying bugs and solving problems even when I don't have much experience in that topic. To accomplish this, I learn new languages, frameworks, or libraries as needed. For instance, I have also worked with \cvemph{React}, \cvemph{.NET}, \cvemph{Java}, and \cvemph{Android}. I started learning and programming in \cvemph{C} in 2007, and my curiosity about the inner workings of the computer led me to learn the basics of \cvemph{x86 assembly language}. Then in 2008, I started using \cvemph{GNU+Linux}, and I've been using \cvemph{Slackware} since 2009. \end{introduction} \begin{experience} \timeitem{2011}{Present}{\cvhref{https://3way.com.ar/en/}{3Way Solutions}}{Senior Software Developer} {I design and develop systems for the broadcast industry. I use \cvemph{C} to program systems for \cvemph{Linux}, developing software and libraries to receive multimedia content, and then decode, analyze, encode, store, and transmit it. I work with TV signals (analog and digital), radio signals, and \cvemph{OTT} content. For instance, we develop products such as a multiviewer, a video logging, a video clipping, an IP decoder, etc. In this position, I work with the \cvemph{FFmpeg} library and also with specifications such as \cvemph{MPEG-TS}, \cvemph{ISDB-T}, \cvemph{ATSC}, \cvemph{HLS}, \cvemph{H.264}, \cvemph{AAC}, \cvemph{SDI}, \cvemph{ASI}, \cvemph{NDI}, and so on. Sometimes I read and learn new specifications to include new features. I also work a lot with \cvemph{Perl} and \cvemph{Bash}. Some of my key accomplishments are: \begin{cvitemize} \item Developing multi-threading software in \cvemph{C} that communicates with external devices and runs 24/7 non-stop. \item Programming a library to demux \cvemph{MPEG Transport-Stream}, and another one to receive \cvemph{HLS} content. \item Implementing an algorithm and making a library to compare images and videos and decide if they are similar or not. \item Making clipping software to cut a video without re-encoding, taking advantage of the \cvemph{GOP} structure. \item Adding hardware support implementing the device API, such as \cvemph{AJA}, \cvemph{Blackmagic}, \cvemph{DekTec}, \cvemph{Hauppauge}, and more. \item Improving external projects such as fixing a bug in \cvemph{FFmpeg}\footnote{\href{https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/5a0a9f78252825dfe1824eedbc373aea443e5e77}{https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/5a0a9f78252825dfe1824eedbc373aea443e5e77}} and improving it's \cvemph{SRT} implementation,\footnote{I sent the patch, but it wasn't accepted: \href{https://patchwork.ffmpeg.org/project/ffmpeg/patch/20240919134646.3841-1-nicolas.dato@gmail.com/}{https://patchwork.ffmpeg.org/project/ffmpeg/patch/20240919134646.3841-1-nicolas.dato@gmail.com/}} adding functionality to \cvemph{yt-dlp},\footnote{\href{https://github.com/yt-dlp/yt-dlp/commit/0d531c35eca4c2eb36e160530a7a333edbc727cc}{https://github.com/yt-dlp/yt-dlp/commit/0d531c35eca4c2eb36e160530a7a333edbc727cc}} and improving the \cvemph{TBS} driver.\footnote{\href{https://github.com/tbsdtv/linux\_media/commit/98fa0e79a07a2f4b869eda147a8c52967d1edc51}{https://github.com/tbsdtv/linux\_media/commit/98fa0e79a07a2f4b869eda147a8c52967d1edc51}}\footnote{\href{https://github.com/tbsdtv/linux\_media/commit/ef59c933c9caa7913b4a71def0eed8e4f184e137}{https://github.com/tbsdtv/linux\_media/commit/ef59c933c9caa7913b4a71def0eed8e4f184e137}} \item Working with \cvemph{Perl}, \cvemph{Bash}, and \cvemph{Python} to write small scripts or programs, and sometimes improving our web application using \cvemph{React} and \cvemph{JavaScript}. \item Traveling to other countries for business. In the year 2021, I went to Mexico to show our products to the government, as they needed a system to monitor the TV and radio broadcast. In 2024, I participated in the \cvemph{NAB Show}\footnote{National Association of Broadcasters trade show --- \href{https://nabshow.com/2024/}{https://nabshow.com/2024/}} as an exhibitor in Las Vegas. \end{cvitemize}} \timeitem{2023}{Present}{\cvhref{https://it.borealtech.com/en/}{Boreal IT}}{Freelancer} {I work as a freelancer, solving bugs or developing new features as they request me. In this position, I'm constantly learning new skills, as I work on all kinds of different projects. I can adapt to any project, as I can easily learn new tools or frameworks when I need to. For instance: \begin{cvitemize} \item Reviewed and found an issue with a \cvemph{Siemens PLC} that wasn't working as expected. \item Adding functionalities to an \cvemph{Android} application written in \cvemph{Java}. \item Fixing bugs in a \cvemph{React Native} application. \item Adding functionality to a backend written in \cvemph{Java} and \cvemph{Spring JPA}, and another one in \cvemph{.NET} and \cvemph{Entity Framework Core}. \item Working in frontend with \cvemph{React}. \end{cvitemize}} \timeitem{2020}{2022}{\cvhref{https://www.baeldung.com/}{Baeldung}}{Linux Technical Writer} {I wrote several technical articles about \cvemph{Linux} and \cvemph{Bash}. In this experience, I improved my writing skills and also my technical knowledge. Here are some examples of articles I wrote: \begin{cvitemize} \item Replace String in a Large One Line, Text File --- \href{https://www.baeldung.com/linux/replace-string-one-line-text-file}{https://www.baeldung.com/linux/replace-string-one-line-text-file} \item IPC Performance Comparison --- \href{https://www.baeldung.com/linux/ipc-performance-comparison}{https://www.baeldung.com/linux/ipc-performance-comparison} \item Understanding Bind Mounts --- \href{https://www.baeldung.com/linux/bind-mounts}{https://www.baeldung.com/linux/bind-mounts} \item Storing a Command in a Variable in a Shell Script --- \href{https://www.baeldung.com/linux/store-command-in-variable}{https://www.baeldung.com/linux/store-command-in-variable} \item Here the full list of articles: \href{https://www.baeldung.com/linux/author/nicolasdato/}{https://www.baeldung.com/linux/author/nicolasdato/} \end{cvitemize}} \timeitem{2009}{2011}{\cvhref{https://www.consultoriaglobal.com.ar/cgweb/?lang=en}{Consultor\'{\i}a Global}}{Ssr Java Developer} {I developed several web applications for financial institutions, using \cvemph{Java} and frameworks such as \cvemph{JSP}, \cvemph{Hibernate}, \cvemph{Spring}. I also worked in frontend using \cvemph{HTML}, \cvemph{JavaScript}, and \cvemph{CSS}. In the beginning, they assigned me to projects that were already started before I joined the company. As my experience and skills improved, I started new projects designing web applications from scratch. As my employer knew I had a background in \cvemph{C}, they requested me to fixed a program written in C by another company. I had to review the code and fixed the problem, which was related to the migration from 32 to 64 bits and incorrect usage of pointers.} \end{experience} \begin{education} \timeitem{2016}{2022}{Universidad Nacional del Sur}{Computer Science} {50\% of the career. When I moved to another city, I continued the \cvemph{computer science} career at \cvemph{UNS} until I halted it due to lack of time. I intend to continue this career in the future.} \timeitem{2011}{2014}{Universidad de Buenos Aires}{Computer Science} {30\% of the career. After secondary school, I started \cvemph{computer science} at \cvemph{UBA}. Then in 2014, I moved to another city and I prioritized my professional career.} \end{education} \begin{knowladge} \begin{alignedlist} \alignedlistitem{Main expertise}{C with threads, sockets, mutex, semaphores, kernel scheduler, IPC} \alignedlistitem{Other languages I work with}{SQL, Perl, Bash, Python, and also Java, .NET, React, Android} \alignedlistitem{Tools and libraries}{Git, CUDA, NVENC/NVDEC, FFmpeg, Video4Linux, Valgrind, VIM, Autotools, \LaTeX{}} \alignedlistitem{Linux distributions}{CentOS, Raspberry Pi, Slackware, OpenBSD} \alignedlistitem{Broadcast industry}{H.264, H.265, AAC, AC3, SCTE-27, Closed Captions, SCTE-35, ASI, SDI, HDMI, NDI, HLS, RTSP, RTMP, SRT, MP4, MPEG-TS, ATSC, DVB, ISDB-T} \end{alignedlist} \end{knowladge} \begin{extra} In my spare, time I contribute to \cvemph{OpenStreetMap}\footnote{OpenStreetMap --- \href{https://www.openstreetmap.org/}{https://www.openstreetmap.org/}} and \cvemph{Wikipedia}. Also in 2009, 2011, and 2012, I participated in the \cvemph{FLISoL}\footnote{Festival Latinoamericano de Instalaci\'on de Software Libre (Latin American Free Software Install Fest) --- \href{https://flisol.info/}{https://flisol.info/}} as an installer. I almost exclusively use and work on \cvemph{Linux}. Once a year, I volunteer in a local project called \cvemph{Todos al Agua}\footnote{Todos al Agua (Everyone into the Water) --- \href{https://www.instagram.com/todosalagua/}{https://www.instagram.com/todosalagua/}}, where we teach how to swim to kids from low-income families. I love swimming, and I participate in a local tournament. In the summer I practice open water swimming. \end{extra} \end{document}