Hugo Barrera's Curriculum Vitae

Overview

I am a software developer and architect with over two decades of coding experience, starting in 1999 and professionally since 2009. My skills extend beyond writing code to assessing the best solutions for given problems and understanding when to simplify complex systems.

My initial professional experience was with PHP and Java, followed by a transition to Python, which was been my primary language for over a decade. While my C expertise is not as strong, I have contributed small fixes to a few project in which I rely.

I have ample experience in the development of web-based applications. I have maintained and contributed to many Django and Python libraries and applications. For frontend development, I have worked with plan HTML, vanilla JS (in the pre-HTML5 days), TypeScript, and VueJS. I have experience designing, interacting with, and maintaining REST APIs.

In recent years, I have been learning and experimenting with Go, Rust, and Hare. I have used all three for several small projects and look forward to using them more in the future.

I am proficient with container technologies such as Docker, docker-compose, Podman, Firejail, Bubblewrap, and Flatpak. I am also experienced with Git and CI/CD pipelines, having maintained Git infrastructure and set up pipelines for both open source projects and private environments. I have experience with CI tools such as Travis, GitLab CI, GitHub Actions, Sourcehut builds, and Woodpecker.

I am a strong advocate for automated testing, finding the tradeoff valuable for detecting regressions and saving manual testing time.

In 2013, I wrote todoman, a command-line task manager, which later became part of the pimutils group, of which I have been a contributor and maintainer. I am currently working on vdirsyncer v2, made possible thanks to a grant from the NLNet foundation. I publish frequent articles on my progress with this project.

Finally, I am passionate about open source and enjoy contributing to open source projects. I find fulfilment in both the technical challenges and the broader impact of improving technology for everyone. I value working in an environment of open collaboration and transparency. I reject the culture of secrecy and competition, preferring cooperation and collaboration.

Professional Experience

Senior Software Engineer @ ProctorExam

Oct 2020 - Nov 2022, Amsterdam, NL

I set up our pipelines on GitLab CI and continued to refine them, becoming the go-to person for pipeline improvements and automation of our workflows. This also included improving the developer experience through simplification of our setups and standardisation of tools.

Additionally, I designed, implemented, and deployed microservices to handle live management of video streams and websockets. I used AWS Lambda, SQS, and ECS to interconnect microservices using an event-based architecture.

Tech: Golang, AWS Lambda, AWS SQS, AWS ECS, TypeScript, Terraform, Ruby on Rails, Docker, Docker Compose, PostgreSQL, GitLab CI, JavaScript, React

Tech Lead @ Tiqets

Jan 2020 - Oct 2020, Amsterdam, NL

Tiqets was my first experience as a Tech Lead at a larger company. While somewhat intimidated by the challenge at first, I quickly realised that the expectations of a Tech Lead aligned with the skills I had been developing in recent years.

In addition to providing higher-level problem-solving, I pushed to improve our development workflow and deployment practices. Our team spearheaded a migration to a cleaner, simpler CI+CD platform, which we then gradually adopted company-wide.

I also contributed to coordinating better system design and greater inter-team collaboration.

Tech: Python, Flask, Django, Docker, Docker Compose, Celery, PostgreSQL, GitLab CI, Metabase

Senior Backend Engineer @ 3D Hubs

Apr 2019 - Jan 2020, Amsterdam, NL

My responsibilities at 3D Hubs included interviewing and mentoring new joiners, improving our onboarding process, and assisting newcomers in understanding our systems and development workflows.

I presented proposals on improving our work practices, such as git flow and automated migration management. I helped deliver solid solutions for eliminating accumulated technical debt and led the team to reach a consensus on how to address each issue.

Finally, I contributed to documenting our systems, including those non-obvious internals that large systems tend to grow. This helped fellow developers gain a clearer vision of different moving parts and how they fit together.

Tech: Python, Flask, Docker, Docker Compose, Celery, PostgreSQL

Senior Engineer @ Medallia

Feb 2018 - Apr 2019, Ciudad Autónoma de Buenos Aires, AR

I was accountable for consistently shipping quality features that added value to the product while minimizing technical debt. It was also my responsibility to improve the team’s effectiveness by identifying knowledge, tools, and process gaps and partnering with management to address them.

I worked on several smaller projects in Python, Flask, and Django, which ran on Docker both in our own data centers and on AWS. My role required me to identify the needs of consumers and then design and implement our systems based on these needs.

Python Engineer @ Shiftgig

Feb 2017 - Feb 2018, Ciudad Autónoma de Buenos Aires, AR

My responsibilities included collaborating with cross-funcional teams to deliver product features and enhancements, writing unit tests for automated testing and implementation of data models in relational and non-relational stores.

Senior Developer & Architect @ ShipNow

Jan 2016 - Sep 2016, Ciudad Autónoma de Buenos Aires, AR

My responsibilities varied from simple development to defining workflows, deployment techniques, and selecting the appropriate tools, services, and environments for the team, though all final decisions were made collectively.

I worked on integrating with various external services, including payment providers, shipping providers, and other third-party systems.

Software Engineer @ Freelance

Mar 2012 - Mar 2016, Ciudad Autónoma de Buenos Aires, AR

I worked as a freelance developer for several companies and smaller projects, many of which were solo projects.

I enjoyed not only programming at these positions but also understanding the exact problems my clients had and assessing the best solutions for their specific needs.

Frontend Developer @ ASSIA Inc

Mar 2013 - Mar 2014, Remote

I was responsible for all aspects of development, design and maintenance of web-based software in Java and JSF. I was required to take broad ownership of technical tasks including the study, analysis, design and programming of new and existing applications and functionality.

Software Developer @ WikiLife

Apr 2012 - Mar 2013, Ciudad Autónoma de Buenos Aires, AR

I contributed to the design and development of a Tornado-based REST API, as well as the backend project that handled and manipulated high volumes of health-related information and analyzed various related statistics.

I implemented a custom admin interface along with its frontend for our internal staff to use, utilizing Python and vanilla JavaScript.

Tech: Python, Tornado, MongoDB, PostgreSQL, Django, EC2, git, JavaScript

Software Developer @ Tultix

Aug 2011 - Jun 2012, Ciudad Autónoma de Buenos Aires, AR

My tasks included the creation of various Java web-based applications, including several data-processing and format-conversion systems used to convert large volumes of non-uniform data into standardized formats.

Tech: Java, SOAP, XML, Maven, cvs

IT Support Specialist @ SAP

Dec 2010 - May 2011, Provincia de Buenos Aires, AR

I provided first-level IT support for SAP staff. My team’s focus was not only to fix staff computers but also to guide them through the process so that they could learn to solve problems themselves in the future.

Software Developer and Systems Administrator @ DreamSys S.R.L.

Nov 2009 - Oct 2010, Comodoro Rivadavia, AR

I participated in the development and maintenance of various web-based, desktop, and mobile software applications in Python, Java, C#, and Flex. I was also responsible for the administration of servers, networks, and deployments, often physically at client locations.

Tech: PHP, HTML, jQuery, PostgreSQL, MySQL, Subversion

IT Support Technician @ Universidad Nacional de la Patagonia San Juan Bosco

May 2008 - Nov 2009, Comodoro Rivadavia, AR

My internship was at the IT department, where I was responsible for provisioning and maintaining our on-site systems. I focused on automating the provisioning of new devices for our staff, including professors and researchers.

Tech: Windows, Linux, BSD, Desktop Provisioning, Automation, Hardware repair

Teaching Experience

In addition to mentoring fellow developers in professional environments, I have experience educating in academic settings.

Substitute Teacher @ Escuela Da Vinci

Oct 2015 - Dec 2015, Ciudad Autónoma de Buenos Aires, AR

I taught the course Introduction to Object Oriented Programming I to Programming students, diving into the basics of OOP in a Java-based environment.

Teaching Assistant @ Universidad de Palermo

Mar 2012 - Dec 2015, Ciudad Autónoma de Buenos Aires, AR

I taught the basics of procedural and object-oriented programming (as a TA on the course Programming I), object-oriented patterns and design (as a TA on Object Orientation I) and best practices in general to Engineering students.

Teaching Assistant @ Universidad Nacional de la Patagonia San Juan Bosco

Apr 2009 - Oct 2010, Comodoro Rivadavia, AR

I helped shape the minds of young students by teaching and helping them understand the basics of procedural programming and low-level computing in the Introduction to Programming course for Computer Science students.

Academic Experience

Soft Computing Researcher @ UPCR Labs, Universidad de Palermo

Jun 2013 - Jul 2014, Ciudad Autónoma de Buenos Aires, AR

I implemented multiple-purpose evolutionary algorithms and researched their applications in intelligent web crawling.

Soft Computing Researcher @ AIGroup, Universidad de Palermo

Apr 2011 - Jun 2013, Ciudad Autónoma de Buenos Aires, AR

I worked on an intelligent web crawler that implemented an exploration method based on the semantic distance between keywords.

Education

Licentiate in Computer Science @ Universidad de Palermo

2011 - 2018, Ciudad Autónoma de Buenos Aires, AR

I completed all courses and exams for this degree but have not yet completed the final thesis required to obtain it.

Systems Analyst @ Universidad de Palermo

2011 - 2017, Ciudad Autónoma de Buenos Aires, AR

I completed this career and possess a graduate degree in it.

Informatics Engineering (incomplete) @ Universidad Nacional de la Patagonia San Juan Bosco

2007 - 2010, Comodoro Rivadavia, AR

I did not complete these studies nor receive a degree, as I relocated to Buenos Aires to pursue richer career opportunities.

Conference Publications

Web Crawling clustering on multidimensional space based on distance and its application to Opinion Mining

TRIC V, CIS-IEEE, Argentina, Jun 2012

E. Gorbatik, H.O. Barrera, E. Schneider Loaiza, F. Riaño Santiesteban, F. Gindre, M.D. López De Luise

Smart web crawling with fuzzy clustering

IADIS European Conference Data Mining, Portugal, Jun 2012

E. Gorbatik, H.O. Barrera, F. Gindre, M.D. López De Luise

About

Last updated 2024-09-19

— § —