Hugo Barrera's Curriculum Vitae

Summary

I’m a software developer and architect. My journey in coding started in 1999 and have been doing so professionally since around 2009. My skills gradually extended to not only writing code, but also determining which is the best approach to a given problem, and also understanding when it’s time to drop lots of complexity and replace it with something simpler.

My initial working experience was with PHP and Java, followed a couple of years later by a transition to Python, which became my “main” language, and has continued to be so for over a decade. My C expertise isn’t as strong as I’d like, having mostly done a few small hundred-line programs; though I’ve managed to submit a few minor contributions to swaywm, the Wayland compositor I currently use.

Over the last decade, I’ve done plenty of web development (websites and APIs), with Django being my go-to framework for this. I’ve maintained and contributed to many Django and Python libraries and applications over the years. For frontend development, I’ve worked with vanilla JS, and with TypeScript and VueJS in recent years. On the API side, I’ve worked plenty with REST APIs, very little with GraphQL (but looking forward to learning more) and D-Bus on the desktop.

In 2013 I wrote todoman, a command line task manager. It later became part of the pimutils group, of which I’ve been a contributor and maintainer since.

Over the last couple of year, I’ve been learning and experimenting a lot with golang and Rust. I’ve used golang for a few small projects, and I’m also currently using this at my current full time position. I look forward to using more of both (especially Rust) in future.

I’ve also worked plenty with container technologies, such as docker, docker-compose, podman, bubblewrap, and I’ve packaged applications for Flatpak. I’m quite proficient with git and also CI/CD pipelines. I’ve set up many pipelines for multiple open source projects and at several of my recent working environments. CI tools I’ve set up include (this includes Travis, GitLab CI, GitHub Actions, sourcehut and woodpecker).

I am a big fan of automated testing. Maybe it’s because I’m a really good developer who writes good tests, though some might argue that I’m simply too lazy to test everything manually over and over again each time I make a change. Either way, I write tests since they’re a great way for both myself and others to verify my code actually works.

Finally, I’m passionate about open source, and enjoy contributing to open source projects. I find fulfilment not only in the interesting technical challenges, but also because contributing to open source projects improves the technology available to everyone out there. I dislike the status quo in which knowledge is seen as something to be kept secret; I reject this culture which encourages competition and distrust rather than cooperation and collaboration.

Professional Experience

Senior Software Engineer @ ProctorExam

Oct 2020 - Current, Amsterdam, NL

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

I have also designed, implemented and deployed micro-services to handle live management of video streams and websockets. I’ve used AWS Lambda, SQS and ECS to interconnect micro-services 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 things that are expected of a Tech Lead are exactly those things which I’d been leaning towards in recent years.

As well as 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, and assiting newcomers in understanding how our systems work and our development workflows.

I presented proposals on improving our work practices (eg: git flow, automated migration management, etc.). I helped deliver solid solutions for eliminating accumulated technical debt and led the team to reach a consensus on how we’d address each of these.

Finally, I contributed to documenting how our systems work, including some of those non-obvious internals that all large systems tend to grow, which helped fellow developers have 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 debt. It was also my responsibility to improve team’s effectiveness by identifying knowledge, tools, and process gaps in team and partnering with management to address them.

I worked on several smaller projects in Python, Flask, Django, which ran on docker both in our own DCs and AWS. My role required me to identify 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 have 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 as a team.

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 these solo projects).

I enjoyed not only programming at these positions, but also understanding the exact problems my clients had, and figuring out 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 which handled and manipulated high volumes of health-related information, and analysis of various related statistics.

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

Software Developer @ Tultix

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

My tasks included the creation of various java web-based application, 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.

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 administration of servers, networks and deployments (many times 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 maintenance of our on-site systems. I did a lot of automation in terms of provisioning new devices to our staff (professors and researchers).

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

Teaching Experience

As well as experience mentoring fellow developers in professional environments, I have experience educating in academic environments too.

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.

Substitute Teacher @ Escuela Da Vinci

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

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

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 to Computer Science students taking Introduction to Programming.

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 which implemented an exploration method based on 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 title, but have not done the final thesis required to complete it.

Systems Analyst @ Universidad de Palermo

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

I completed this career and possess a graduate title for it.

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

2007 - 2010, Comodoro Rivadavia, AR

I did not finish these studies nor receive a degree since 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 2022-07-21

— § —